diff --git a/.vs/Chemistry Cafe API/DesignTimeBuild/.dtbcache.v2 b/.vs/Chemistry Cafe API/DesignTimeBuild/.dtbcache.v2 index 454c097..f036a5c 100644 Binary files a/.vs/Chemistry Cafe API/DesignTimeBuild/.dtbcache.v2 and b/.vs/Chemistry Cafe API/DesignTimeBuild/.dtbcache.v2 differ diff --git a/.vs/Chemistry Cafe API/v17/.futdcache.v2 b/.vs/Chemistry Cafe API/v17/.futdcache.v2 index d1c4118..3c5b911 100644 Binary files a/.vs/Chemistry Cafe API/v17/.futdcache.v2 and b/.vs/Chemistry Cafe API/v17/.futdcache.v2 differ diff --git a/.vs/Chemistry Cafe API/v17/.suo b/.vs/Chemistry Cafe API/v17/.suo index a0c9bee..64f5f77 100644 Binary files a/.vs/Chemistry Cafe API/v17/.suo and b/.vs/Chemistry Cafe API/v17/.suo differ diff --git a/.vs/Chemistry Cafe API/v17/DocumentLayout.json b/.vs/Chemistry Cafe API/v17/DocumentLayout.json index 4111a58..de9ec88 100644 --- a/.vs/Chemistry Cafe API/v17/DocumentLayout.json +++ b/.vs/Chemistry Cafe API/v17/DocumentLayout.json @@ -1,7 +1,47 @@ { "Version": 1, - "WorkspaceRootPath": "C:\\College_Stuff\\2024_Spring\\CSCE482\\Project\\chemistry-cafe-api\\", - "Documents": [], + "WorkspaceRootPath": "C:\\Users\\Evan\\Documents\\GitHub\\chemistry-cafe-api\\", + "Documents": [ + { + "AbsoluteMoniker": "D:0:0:{62738D41-607A-4727-AADD-D4B41BA734C9}|Chemistry Cafe API.csproj|c:\\users\\evan\\documents\\github\\chemistry-cafe-api\\chemistry cafe api.http||{5703B403-55E7-4C63-8C88-A8F52C7A45C5}", + "RelativeMoniker": "D:0:0:{62738D41-607A-4727-AADD-D4B41BA734C9}|Chemistry Cafe API.csproj|solutionrelative:chemistry cafe api.http||{5703B403-55E7-4C63-8C88-A8F52C7A45C5}" + }, + { + "AbsoluteMoniker": "D:0:0:{62738D41-607A-4727-AADD-D4B41BA734C9}|Chemistry Cafe API.csproj|c:\\users\\evan\\documents\\github\\chemistry-cafe-api\\program.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{62738D41-607A-4727-AADD-D4B41BA734C9}|Chemistry Cafe API.csproj|solutionrelative:program.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{62738D41-607A-4727-AADD-D4B41BA734C9}|Chemistry Cafe API.csproj|c:\\users\\evan\\documents\\github\\chemistry-cafe-api\\dynamiccodecoverage.coveragexml||{FA3CD31E-987B-443A-9B81-186104E8DAC1}", + "RelativeMoniker": "D:0:0:{62738D41-607A-4727-AADD-D4B41BA734C9}|Chemistry Cafe API.csproj|solutionrelative:dynamiccodecoverage.coveragexml||{FA3CD31E-987B-443A-9B81-186104E8DAC1}" + }, + { + "AbsoluteMoniker": "D:0:0:{62738D41-607A-4727-AADD-D4B41BA734C9}|Chemistry Cafe API.csproj|c:\\users\\evan\\documents\\github\\chemistry-cafe-api\\chemistry cafe api.csproj||{FA3CD31E-987B-443A-9B81-186104E8DAC1}|", + "RelativeMoniker": "D:0:0:{62738D41-607A-4727-AADD-D4B41BA734C9}|Chemistry Cafe API.csproj|solutionrelative:chemistry cafe api.csproj||{FA3CD31E-987B-443A-9B81-186104E8DAC1}|" + }, + { + "AbsoluteMoniker": "D:0:0:{62738D41-607A-4727-AADD-D4B41BA734C9}|Chemistry Cafe API.csproj|c:\\users\\evan\\documents\\github\\chemistry-cafe-api\\test.coverage||{25834150-CD7E-11D0-92DF-00A0C9138C45}", + "RelativeMoniker": "D:0:0:{62738D41-607A-4727-AADD-D4B41BA734C9}|Chemistry Cafe API.csproj|solutionrelative:test.coverage||{25834150-CD7E-11D0-92DF-00A0C9138C45}" + }, + { + "AbsoluteMoniker": "D:0:0:{62738D41-607A-4727-AADD-D4B41BA734C9}|Chemistry Cafe API.csproj|c:\\users\\evan\\documents\\github\\chemistry-cafe-api\\appsettings.json||{90A6B3A7-C1A3-4009-A288-E2FF89E96FA0}", + "RelativeMoniker": "D:0:0:{62738D41-607A-4727-AADD-D4B41BA734C9}|Chemistry Cafe API.csproj|solutionrelative:appsettings.json||{90A6B3A7-C1A3-4009-A288-E2FF89E96FA0}" + }, + { + "AbsoluteMoniker": "D:0:0:{62738D41-607A-4727-AADD-D4B41BA734C9}|Chemistry Cafe API.csproj|c:\\users\\evan\\documents\\github\\chemistry-cafe-api\\chemistry cafe api.csproj||{04B8AB82-A572-4FEF-95CE-5222444B6B64}|", + "RelativeMoniker": "D:0:0:{62738D41-607A-4727-AADD-D4B41BA734C9}|Chemistry Cafe API.csproj|solutionrelative:chemistry cafe api.csproj||{04B8AB82-A572-4FEF-95CE-5222444B6B64}|" + }, + { + "AbsoluteMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|C:\\Users\\Evan\\.nuget\\packages\\reportgenerator\\5.2.5\\Readme.txt||{8B382828-6202-11D1-8870-0000F87579D2}" + }, + { + "AbsoluteMoniker": "D:0:0:{62738D41-607A-4727-AADD-D4B41BA734C9}|Chemistry Cafe API.csproj|c:\\users\\evan\\documents\\github\\chemistry-cafe-api\\testresults\\bebeeb31-5fa4-4b64-b3ed-85c033f075be\\evan_desktop-j5ql00b_2024-04-23.15_06_43.coverage||{25834150-CD7E-11D0-92DF-00A0C9138C45}", + "RelativeMoniker": "D:0:0:{62738D41-607A-4727-AADD-D4B41BA734C9}|Chemistry Cafe API.csproj|solutionrelative:testresults\\bebeeb31-5fa4-4b64-b3ed-85c033f075be\\evan_desktop-j5ql00b_2024-04-23.15_06_43.coverage||{25834150-CD7E-11D0-92DF-00A0C9138C45}" + }, + { + "AbsoluteMoniker": "D:0:0:{62738D41-607A-4727-AADD-D4B41BA734C9}|Chemistry Cafe API.csproj|c:\\users\\evan\\documents\\github\\chemistry-cafe-api\\services\\openatmosservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{62738D41-607A-4727-AADD-D4B41BA734C9}|Chemistry Cafe API.csproj|solutionrelative:services\\openatmosservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + } + ], "DocumentGroupContainers": [ { "Orientation": 0, @@ -9,15 +49,133 @@ "DocumentGroups": [ { "DockedWidth": 200, - "SelectedChildIndex": -1, + "SelectedChildIndex": 9, "Children": [ { "$type": "Bookmark", "Name": "ST:0:0:{0174dea2-fdbe-4ef1-8f99-c0beae78880f}" }, { - "$type": "Bookmark", - "Name": "ST:0:0:{cce594b6-0c39-4442-ba28-10c64ac7e89f}" + "$type": "Document", + "DocumentIndex": 2, + "Title": "DynamicCodeCoverage.coveragexml", + "DocumentMoniker": "C:\\Users\\Evan\\Documents\\GitHub\\chemistry-cafe-api\\DynamicCodeCoverage.coveragexml", + "RelativeDocumentMoniker": "DynamicCodeCoverage.coveragexml", + "ToolTip": "C:\\Users\\Evan\\Documents\\GitHub\\chemistry-cafe-api\\DynamicCodeCoverage.coveragexml", + "RelativeToolTip": "DynamicCodeCoverage.coveragexml", + "ViewState": "AQIAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.002488|", + "WhenOpened": "2024-04-23T20:33:57.768Z", + "EditorCaption": "" + }, + { + "$type": "Document", + "DocumentIndex": 3, + "Title": "Chemistry Cafe API.csproj", + "DocumentMoniker": "C:\\Users\\Evan\\Documents\\GitHub\\chemistry-cafe-api\\Chemistry Cafe API.csproj", + "RelativeDocumentMoniker": "Chemistry Cafe API.csproj", + "ToolTip": "C:\\Users\\Evan\\Documents\\GitHub\\chemistry-cafe-api\\Chemistry Cafe API.csproj", + "RelativeToolTip": "Chemistry Cafe API.csproj", + "ViewState": "AQIAAAAAAAAAAAAAAAAAABsAAAAAAAAA", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000758|", + "WhenOpened": "2024-04-23T20:27:01.181Z", + "EditorCaption": "" + }, + { + "$type": "Document", + "DocumentIndex": 4, + "Title": "test.coverage", + "DocumentMoniker": "C:\\Users\\Evan\\Documents\\GitHub\\chemistry-cafe-api\\test.coverage", + "RelativeDocumentMoniker": "test.coverage", + "ToolTip": "C:\\Users\\Evan\\Documents\\GitHub\\chemistry-cafe-api\\test.coverage", + "RelativeToolTip": "test.coverage", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.002488|", + "WhenOpened": "2024-04-23T20:27:15.659Z" + }, + { + "$type": "Document", + "DocumentIndex": 7, + "Title": "Readme.txt", + "DocumentMoniker": "C:\\Users\\Evan\\.nuget\\packages\\reportgenerator\\5.2.5\\Readme.txt", + "RelativeDocumentMoniker": "..\\..\\..\\.nuget\\packages\\reportgenerator\\5.2.5\\Readme.txt", + "ToolTip": "C:\\Users\\Evan\\.nuget\\packages\\reportgenerator\\5.2.5\\Readme.txt", + "RelativeToolTip": "..\\..\\..\\.nuget\\packages\\reportgenerator\\5.2.5\\Readme.txt", + "ViewState": "AQIAAAAAAAAAAAAAAAAAAAYAAAAtAAAA", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.003109|", + "WhenOpened": "2024-04-23T20:15:17.994Z" + }, + { + "$type": "Document", + "DocumentIndex": 8, + "Title": "Evan_DESKTOP-J5QL00B_2024-04-23.15_06_43.coverage", + "DocumentMoniker": "C:\\Users\\Evan\\Documents\\GitHub\\chemistry-cafe-api\\TestResults\\bebeeb31-5fa4-4b64-b3ed-85c033f075be\\Evan_DESKTOP-J5QL00B_2024-04-23.15_06_43.coverage", + "RelativeDocumentMoniker": "TestResults\\bebeeb31-5fa4-4b64-b3ed-85c033f075be\\Evan_DESKTOP-J5QL00B_2024-04-23.15_06_43.coverage", + "ToolTip": "C:\\Users\\Evan\\Documents\\GitHub\\chemistry-cafe-api\\TestResults\\bebeeb31-5fa4-4b64-b3ed-85c033f075be\\Evan_DESKTOP-J5QL00B_2024-04-23.15_06_43.coverage", + "RelativeToolTip": "TestResults\\bebeeb31-5fa4-4b64-b3ed-85c033f075be\\Evan_DESKTOP-J5QL00B_2024-04-23.15_06_43.coverage", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.002488|", + "WhenOpened": "2024-04-23T20:06:56.242Z" + }, + { + "$type": "Document", + "DocumentIndex": 9, + "Title": "OpenAtmosService.cs", + "DocumentMoniker": "C:\\Users\\Evan\\Documents\\GitHub\\chemistry-cafe-api\\Services\\OpenAtmosService.cs", + "RelativeDocumentMoniker": "Services\\OpenAtmosService.cs", + "ToolTip": "C:\\Users\\Evan\\Documents\\GitHub\\chemistry-cafe-api\\Services\\OpenAtmosService.cs", + "RelativeToolTip": "Services\\OpenAtmosService.cs", + "ViewState": "AQIAAN0AAAAAAAAAAAAcwOIAAAAVAAAA", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-04-23T18:43:31.993Z" + }, + { + "$type": "Document", + "DocumentIndex": 5, + "Title": "appsettings.json", + "DocumentMoniker": "C:\\Users\\Evan\\Documents\\GitHub\\chemistry-cafe-api\\appsettings.json", + "RelativeDocumentMoniker": "appsettings.json", + "ToolTip": "C:\\Users\\Evan\\Documents\\GitHub\\chemistry-cafe-api\\appsettings.json", + "RelativeToolTip": "appsettings.json", + "ViewState": "AQIAAAAAAAAAAAAAAAAAAAkAAAAPAAAA", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.001642|", + "WhenOpened": "2024-04-23T17:05:43.115Z" + }, + { + "$type": "Document", + "DocumentIndex": 1, + "Title": "Program.cs", + "DocumentMoniker": "C:\\Users\\Evan\\Documents\\GitHub\\chemistry-cafe-api\\Program.cs", + "RelativeDocumentMoniker": "Program.cs", + "ToolTip": "C:\\Users\\Evan\\Documents\\GitHub\\chemistry-cafe-api\\Program.cs", + "RelativeToolTip": "Program.cs", + "ViewState": "AQIAAAAAAAAAAAAAAAAAAA8AAAAaAAAA", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-04-23T16:27:20.779Z", + "EditorCaption": "" + }, + { + "$type": "Document", + "DocumentIndex": 0, + "Title": "Chemistry Cafe API.http", + "DocumentMoniker": "C:\\Users\\Evan\\Documents\\GitHub\\chemistry-cafe-api\\Chemistry Cafe API.http", + "RelativeDocumentMoniker": "Chemistry Cafe API.http", + "ToolTip": "C:\\Users\\Evan\\Documents\\GitHub\\chemistry-cafe-api\\Chemistry Cafe API.http", + "RelativeToolTip": "Chemistry Cafe API.http", + "ViewState": "AQIAAAAAAAAAAAAAAAAAAAUAAAADAAAA", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.003502|", + "WhenOpened": "2024-04-23T17:04:42.909Z", + "EditorCaption": "" + }, + { + "$type": "Document", + "DocumentIndex": 6, + "Title": "Chemistry Cafe API", + "DocumentMoniker": "C:\\Users\\Evan\\Documents\\GitHub\\chemistry-cafe-api\\Chemistry Cafe API.csproj", + "RelativeDocumentMoniker": "Chemistry Cafe API.csproj", + "ToolTip": "C:\\Users\\Evan\\Documents\\GitHub\\chemistry-cafe-api\\Chemistry Cafe API.csproj", + "RelativeToolTip": "Chemistry Cafe API.csproj", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000758|", + "WhenOpened": "2024-04-23T20:17:32.081Z", + "EditorCaption": "" } ] } diff --git a/.vs/ProjectEvaluation/chemistry cafe api.metadata.v7.bin b/.vs/ProjectEvaluation/chemistry cafe api.metadata.v7.bin index 17b64be..446dc86 100644 Binary files a/.vs/ProjectEvaluation/chemistry cafe api.metadata.v7.bin and b/.vs/ProjectEvaluation/chemistry cafe api.metadata.v7.bin differ diff --git a/.vs/ProjectEvaluation/chemistry cafe api.projects.v7.bin b/.vs/ProjectEvaluation/chemistry cafe api.projects.v7.bin index 018ca31..61653bb 100644 Binary files a/.vs/ProjectEvaluation/chemistry cafe api.projects.v7.bin and b/.vs/ProjectEvaluation/chemistry cafe api.projects.v7.bin differ diff --git a/Chemistry Cafe API.csproj b/Chemistry Cafe API.csproj index ac78a2b..4d0a3af 100644 --- a/Chemistry Cafe API.csproj +++ b/Chemistry Cafe API.csproj @@ -8,13 +8,20 @@ 5c953ed8-0279-4c49-a044-edbcddca45e1 Linux . + AnyCPU + + + + + + diff --git a/Chemistry Cafe API.sln b/Chemistry Cafe API.sln index a1adf3e..5ffa15b 100644 --- a/Chemistry Cafe API.sln +++ b/Chemistry Cafe API.sln @@ -3,7 +3,7 @@ Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio Version 17 VisualStudioVersion = 17.9.34616.47 MinimumVisualStudioVersion = 10.0.40219.1 -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Chemistry Cafe API", "Chemistry Cafe API.csproj", "{62738D41-607A-4727-AADD-D4B41BA734C9}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Chemistry Cafe API", "Chemistry Cafe API.csproj", "{62738D41-607A-4727-AADD-D4B41BA734C9}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution diff --git a/Program.cs b/Program.cs index 0edad5c..371c70f 100644 --- a/Program.cs +++ b/Program.cs @@ -10,6 +10,7 @@ builder.Services.AddSwaggerGen(); //Adds SQL data source from appsettings.json file + builder.Services.AddMySqlDataSource(builder.Configuration.GetConnectionString("Default")!); diff --git a/Services/PropertyTypeService.cs b/Services/PropertyTypeService.cs index f4333e5..32d43e2 100644 --- a/Services/PropertyTypeService.cs +++ b/Services/PropertyTypeService.cs @@ -65,7 +65,7 @@ public async Task UpdatePropertyTypeAsync(PropertyType propertyType) using var connection = await database.OpenConnectionAsync(); using var command = connection.CreateCommand(); - command.CommandText = @"UPDATE PropertyType SET name = @name, units = @units, validation = @validation, isDel = @isDel, WHERE uuid = @uuid;"; + command.CommandText = @"UPDATE PropertyType SET name = @name, units = @units, validation = @validation, isDel = @isDel WHERE uuid = @uuid;"; command.Parameters.AddWithValue("@uuid", propertyType.uuid); command.Parameters.AddWithValue("@name", propertyType.name); diff --git a/Services/PropertyVersionService.cs b/Services/PropertyVersionService.cs index 7c8b7b6..5417a3b 100644 --- a/Services/PropertyVersionService.cs +++ b/Services/PropertyVersionService.cs @@ -62,14 +62,14 @@ public async Task UpdatePropertyVersionAsync(PropertyVersion propertyVersion) using var connection = await database.OpenConnectionAsync(); using var command = connection.CreateCommand(); - command.CommandText = @"UPDATE Property_Version SET family_uuid = @family_uuid, frozen_version = @frozen_version, tag_mechanism_uuid = @tag_mechanism_uuid, + command.CommandText = @"UPDATE Property_Version SET parent_property_uuid = @parent_property_uuid, frozen_version = @frozen_version, tag_mechanism_uuid = @tag_mechanism_uuid, property_type = @property_type, float_value = @float_value, double_value = @double_value, int_value = @int_value, string_value = @string_value, action = @action, user_uuid = @user_uuid, datetime = @datetime, isDel = @isDel WHERE uuid = @uuid;"; command.Parameters.AddWithValue("@uuid", propertyVersion.uuid); command.Parameters.AddWithValue("@parent_property_uuid", propertyVersion.parent_property_uuid); command.Parameters.AddWithValue("@frozen_version", propertyVersion.frozen_version); - command.Parameters.AddWithValue("@mechanism_uuid", propertyVersion.tag_mechanism_uuid); + command.Parameters.AddWithValue("@tag_mechanism_uuid", propertyVersion.tag_mechanism_uuid); command.Parameters.AddWithValue("@property_type", propertyVersion.property_type); command.Parameters.AddWithValue("@float_value", propertyVersion.float_value); command.Parameters.AddWithValue("@double_value", propertyVersion.double_value); diff --git a/Services/TagMechanismReactionListService.cs b/Services/TagMechanismReactionListService.cs index 1745fcd..a871ab8 100644 --- a/Services/TagMechanismReactionListService.cs +++ b/Services/TagMechanismReactionListService.cs @@ -84,8 +84,8 @@ private async Task> ReadAllAsync(DbDataR var mechTag = new TagMechanismReactionList { uuid = reader.GetGuid(0), - reaction_uuid = reader.GetGuid(1), - tag_mechanism_uuid = reader.GetGuid(2), + tag_mechanism_uuid = reader.GetGuid(1), + reaction_uuid = reader.GetGuid(2), version = reader.GetString(3), isDel = reader.GetBoolean(4), }; diff --git a/Services/TagMechanismSpeciesListService.cs b/Services/TagMechanismSpeciesListService.cs index 065b748..14e111a 100644 --- a/Services/TagMechanismSpeciesListService.cs +++ b/Services/TagMechanismSpeciesListService.cs @@ -84,8 +84,8 @@ private async Task> ReadAllAsync(DbDataRe var mechTag = new TagMechanismSpeciesList { uuid = reader.GetGuid(0), - species_uuid = reader.GetGuid(1), - tag_mechanism_uuid = reader.GetGuid(2), + tag_mechanism_uuid = reader.GetGuid(1), + species_uuid = reader.GetGuid(2), version = reader.GetString(3), isDel = reader.GetBoolean(4), }; diff --git a/Tests/DBConnection.cs b/Tests/DBConnection.cs new file mode 100644 index 0000000..266b680 --- /dev/null +++ b/Tests/DBConnection.cs @@ -0,0 +1,9 @@ +using MySqlConnector; + +namespace Chemistry_Cafe_API.Tests +{ + public class DBConnection + { + public static MySqlDataSource DataSource = new MySqlDataSource("Server=chemisty-cafe.cl8uuceq2rud.us-east-1.rds.amazonaws.com;User ID=cafeadmin;Password=cafeadmin;Port=3306;Database=Testing"); + } +} diff --git a/Tests/FamilyControllerTests.cs b/Tests/FamilyControllerTests.cs new file mode 100644 index 0000000..79540e7 --- /dev/null +++ b/Tests/FamilyControllerTests.cs @@ -0,0 +1,50 @@ +using Chemistry_Cafe_API.Controllers; +using Chemistry_Cafe_API.Models; +using Microsoft.VisualStudio.TestTools.UnitTesting; +using MySqlConnector; + +namespace Chemistry_Cafe_API.Tests +{ + [TestClass] + public class FamilyControllerTests + { + FamilyController controller = new FamilyController(DBConnection.DataSource); + + [TestMethod] + public async Task Get_retrieves_family() + { + + var result = await controller.Get() as List; + + Assert.IsNotNull(result); + } + + [TestMethod] + public async Task Creates_family() + { + + var result = await controller.Create("Test") ; + + var getResult = await controller.Get(result.uuid); + + Assert.AreEqual(result.uuid, getResult.uuid); + } + + [TestMethod] + public async Task Updates_family() + { + + var result = await controller.Create("Test"); + + result.name = "Edited"; + + await controller.Put(result); + + var getResult = await controller.Get(result.uuid); + + await controller.Delete(result.uuid); + + Assert.AreEqual(result.name, "Edited"); + } + } +} diff --git a/Tests/FamilyTagMechListControllerTests.cs b/Tests/FamilyTagMechListControllerTests.cs new file mode 100644 index 0000000..ed470f4 --- /dev/null +++ b/Tests/FamilyTagMechListControllerTests.cs @@ -0,0 +1,66 @@ +using Chemistry_Cafe_API.Controllers; +using Chemistry_Cafe_API.Models; +using Microsoft.VisualStudio.TestTools.UnitTesting; +using MySqlConnector; + +namespace Chemistry_Cafe_API.Tests +{ + [TestClass] + public class FamilyTagMechListControllerTests + { + FamilyTagMechListController controller = new FamilyTagMechListController(DBConnection.DataSource); + + + [TestMethod] + public async Task Get_retrieves_familytagmechlist() + { + + var result = await controller.Get() as List; + + Assert.IsNotNull(result); + } + + [TestMethod] + public async Task Creates_familytagmechlist() + { + var familyTagMecList = new FamilyTagMechList + { + family_uuid = new Guid("085fd412-376d-4a89-ad43-18047058b635"), + tag_mechanism_uuid = new Guid("1da51091-b9e8-42c7-911b-8e9f0d274f56"), + version = "1.0" + }; + + var result = await controller.Create(familyTagMecList); + + var getResult = await controller.Get(result); + + Assert.AreEqual(result, getResult.uuid); + } + + [TestMethod] + public async Task Updates_familytagmechlist() + { + var familyTagMecList = new FamilyTagMechList + { + family_uuid = new Guid("085fd412-376d-4a89-ad43-18047058b635"), + tag_mechanism_uuid = new Guid("1da51091-b9e8-42c7-911b-8e9f0d274f56"), + version = "1.0", + isDel = false + }; + + var result = await controller.Create(familyTagMecList); + + var getResult = await controller.Get(result); + + getResult.version = "Edited"; + + await controller.Put(getResult); + + var getEdited = await controller.Get(result); + + await controller.Delete(result); + + Assert.AreEqual(getEdited.version, "Edited"); + } + } +} diff --git a/Tests/FamilyTagMechListVersionControllerTests.cs b/Tests/FamilyTagMechListVersionControllerTests.cs new file mode 100644 index 0000000..9104730 --- /dev/null +++ b/Tests/FamilyTagMechListVersionControllerTests.cs @@ -0,0 +1,72 @@ +using Chemistry_Cafe_API.Controllers; +using Chemistry_Cafe_API.Models; +using Microsoft.VisualStudio.TestTools.UnitTesting; +using MySqlConnector; + +namespace Chemistry_Cafe_API.Tests +{ + [TestClass] + public class FamilyTagMechListVersionControllerTests + { + FamilyTagMechListVersionController controller = new FamilyTagMechListVersionController(DBConnection.DataSource); + + + [TestMethod] + public async Task Get_retrieves_FamilyTagMechListVersion() + { + var result = await controller.Get() as List; + + Assert.IsNotNull(result); + } + + [TestMethod] + public async Task Creates_FamilyTagMechListVersion() + { + var familyTagMecList = new FamilyTagMechListVersion + { + family_uuid = new Guid("085fd412-376d-4a89-ad43-18047058b635"), + tag_mechanism_uuid = new Guid("1da51091-b9e8-42c7-911b-8e9f0d274f56"), + frozen_version = "1.0", + user_uuid = new Guid("04c5db32-65e1-44ba-8b29-1cbfd5383789"), + action = "test", + datetime = DateTime.Now, + isDel = false + }; + + var result = await controller.Create(familyTagMecList); + + var getResult = await controller.Get(result); + + Assert.AreEqual(result, getResult.uuid); + } + + [TestMethod] + public async Task Updates_FamilyTagMechListVersion() + { + var familyTagMecList = new FamilyTagMechListVersion + { + family_uuid = new Guid("085fd412-376d-4a89-ad43-18047058b635"), + tag_mechanism_uuid = new Guid("1da51091-b9e8-42c7-911b-8e9f0d274f56"), + frozen_version = "1.0", + user_uuid = new Guid("04c5db32-65e1-44ba-8b29-1cbfd5383789"), + action = "test", + datetime = DateTime.Now, + isDel = false + }; + + var result = await controller.Create(familyTagMecList); + + var getResult = await controller.Get(result); + + getResult.action = "Edited"; + + await controller.Put(getResult); + + var getEdited = await controller.Get(result); + + await controller.Delete(result); + + Assert.AreEqual(getEdited.action, "Edited"); + } + } +} diff --git a/Tests/OpenAtmosControllerTests.cs b/Tests/OpenAtmosControllerTests.cs new file mode 100644 index 0000000..e2c71dd --- /dev/null +++ b/Tests/OpenAtmosControllerTests.cs @@ -0,0 +1,34 @@ +using Chemistry_Cafe_API.Controllers; +using Chemistry_Cafe_API.Models; +using Microsoft.VisualStudio.TestTools.UnitTesting; +using MySqlConnector; + +namespace Chemistry_Cafe_API.Tests +{ + [TestClass] + public class OpenAtmosControllerTests + { + readonly MySqlDataSource db = DBConnection.DataSource; + + [TestMethod] + public async Task Get_retrieves_JSON() + { + var controller = new OpenAtmosController(db); + + var result = await controller.GetJSON(new Guid("dc6d0d7f-94f1-40d7-a0ae-8c5c7144cc5c")); + + Assert.IsNotNull(result); + } + + [TestMethod] + public async Task Get_retrieves_YAML() + { + var controller = new OpenAtmosController(db); + + var result = await controller.GetYAML(new Guid("dc6d0d7f-94f1-40d7-a0ae-8c5c7144cc5c")); + + Assert.IsNotNull(result); + } + + } +} diff --git a/Tests/PropertyListControllerTests.cs b/Tests/PropertyListControllerTests.cs new file mode 100644 index 0000000..7e87e9c --- /dev/null +++ b/Tests/PropertyListControllerTests.cs @@ -0,0 +1,63 @@ +using Chemistry_Cafe_API.Controllers; +using Chemistry_Cafe_API.Models; +using Microsoft.VisualStudio.TestTools.UnitTesting; +using MySqlConnector; + +namespace Chemistry_Cafe_API.Tests +{ + [TestClass] + public class PropertyListControllerTests + { + PropertyListController controller = new PropertyListController(DBConnection.DataSource); + + [TestMethod] + public async Task Get_retrieves_propertylist() + { + var result = await controller.Get() as List; + + Assert.IsNotNull(result); + } + + [TestMethod] + public async Task Creates_propertylist() + { + var propertyList = new PropertyList + { + parent_uuid = new Guid("729ced40-8b18-47d6-8d1c-d17f42890871"), + version = "1.0", + isDel = false + }; + + var result = await controller.Create(propertyList); + + var getResult = await controller.Get(result); + + Assert.AreEqual(result, getResult.uuid); + } + + [TestMethod] + public async Task Updates_propertylist() + { + var propertyList = new PropertyList + { + parent_uuid = new Guid("68722c5e-4f0f-44aa-a614-64133df0f9b7"), + version = "1.0", + isDel = false + }; + + var result = await controller.Create(propertyList); + + var getResult = await controller.Get(result); + + getResult.version = "Edited"; + + await controller.Put(getResult); + + var getEditedResult = await controller.Get(result); + + await controller.Delete(result); + + Assert.AreEqual(getEditedResult.version, "Edited"); + } + } +} diff --git a/Tests/PropertyTypeControllerTests.cs b/Tests/PropertyTypeControllerTests.cs new file mode 100644 index 0000000..bb600ef --- /dev/null +++ b/Tests/PropertyTypeControllerTests.cs @@ -0,0 +1,65 @@ +using Chemistry_Cafe_API.Controllers; +using Chemistry_Cafe_API.Models; +using Microsoft.VisualStudio.TestTools.UnitTesting; +using MySqlConnector; + +namespace Chemistry_Cafe_API.Tests +{ + [TestClass] + public class PropertyTypeControllerTests + { + PropertyTypeController controller = new PropertyTypeController(DBConnection.DataSource); + + [TestMethod] + public async Task Get_retrieves_propertytype() + { + var result = await controller.Get() as List; + + Assert.IsNotNull(result); + } + + [TestMethod] + public async Task Creates_propertytype() + { + var propertyType = new PropertyType + { + name = "Test", + units = "mols", + validation = "yes?", + isDel = false + }; + + var result = await controller.Create(propertyType); + + var getResult = await controller.Get(result); + + Assert.AreEqual(result, getResult.uuid); + } + + [TestMethod] + public async Task Updates_propertytype() + { + var propertyType = new PropertyType + { + name = "Test", + units = "mols", + validation = "yes?", + isDel = false + }; + + var result = await controller.Create(propertyType); + + var getResult = await controller.Get(result); + + getResult.name = "Edited"; + + await controller.Put(getResult); + + var getEditedResult = await controller.Get(result); + + await controller.Delete(result); + + Assert.AreEqual(getEditedResult.name, "Edited"); + } + } +} diff --git a/Tests/PropertyVersionControllerTests.cs b/Tests/PropertyVersionControllerTests.cs new file mode 100644 index 0000000..912f37a --- /dev/null +++ b/Tests/PropertyVersionControllerTests.cs @@ -0,0 +1,70 @@ +using Chemistry_Cafe_API.Controllers; +using Chemistry_Cafe_API.Models; +using Microsoft.VisualStudio.TestTools.UnitTesting; +using MySqlConnector; + +namespace Chemistry_Cafe_API.Tests +{ + [TestClass] + public class PropertyVersionControllerTests + { + PropertyVersionController controller = new PropertyVersionController(DBConnection.DataSource); + + [TestMethod] + public async Task Get_retrieves_propertyversion() + { + var result = await controller.Get() as List; + + Assert.IsNotNull(result); + } + + [TestMethod] + public async Task Creates_propertyversion() + { + var propertyVersion = new PropertyVersion + { + parent_property_uuid = new Guid("343115be-8937-431d-bf65-ede6c2d815a7"), + frozen_version = "1.0", + tag_mechanism_uuid = new Guid("228c026a-c29e-4e7e-b5b8-772c82a22a40"), + property_type = new Guid("b1f0efbc-1757-4d15-a199-66cf5f73d279"), + user_uuid = new Guid("070465a1-5f3e-42eb-9373-fed864a75cf5"), + string_value = "Test Property" + }; + + var result = await controller.Create(propertyVersion); + + var getResult = await controller.Get(result); + + Assert.AreEqual(result, getResult.uuid); + } + + [TestMethod] + public async Task Updates_propertyversion() + { + var propertyVersion = new PropertyVersion + { + parent_property_uuid = new Guid("343115be-8937-431d-bf65-ede6c2d815a7"), + frozen_version = "1.0", + tag_mechanism_uuid = new Guid("228c026a-c29e-4e7e-b5b8-772c82a22a40"), + property_type = new Guid("b1f0efbc-1757-4d15-a199-66cf5f73d279"), + user_uuid = new Guid("070465a1-5f3e-42eb-9373-fed864a75cf5"), + string_value = "Test Property", + isDel = false + }; + + var result = await controller.Create(propertyVersion); + + var getResult = await controller.Get(result); + + getResult.string_value = "Edited"; + + await controller.Put(getResult); + + var getEditedResult = await controller.Get(result); + + await controller.Delete(result); + + Assert.AreEqual(getEditedResult.string_value, "Edited"); + } + } +} diff --git a/Tests/ReactionControllerTests.cs b/Tests/ReactionControllerTests.cs new file mode 100644 index 0000000..3f8f2d1 --- /dev/null +++ b/Tests/ReactionControllerTests.cs @@ -0,0 +1,49 @@ +using Chemistry_Cafe_API.Controllers; +using Chemistry_Cafe_API.Models; +using Microsoft.VisualStudio.TestTools.UnitTesting; +using MySqlConnector; + +namespace Chemistry_Cafe_API.Tests +{ + [TestClass] + public class ReactionControllerTests + { + ReactionController controller = new ReactionController(DBConnection.DataSource); + + [TestMethod] + public async Task Get_retrieves_reaction() + { + var result = await controller.Get() as List; + + Assert.IsNotNull(result); + } + + [TestMethod] + public async Task Creates_reaction() + { + var result = await controller.Create("Test") ; + + var getResult = await controller.Get(result); + + Assert.AreEqual(result, getResult.uuid); + } + + [TestMethod] + public async Task Updates_reaction() + { + var result = await controller.Create("Test"); + + var getResult = await controller.Get(result); + + getResult.type = "Edited"; + + await controller.Put(getResult); + + var getEditedResult = await controller.Get(result); + + await controller.Delete(result); + + Assert.AreEqual(getEditedResult.type, "Edited"); + } + } +} diff --git a/Tests/SpeciesControllerTests .cs b/Tests/SpeciesControllerTests .cs new file mode 100644 index 0000000..cdbc6b3 --- /dev/null +++ b/Tests/SpeciesControllerTests .cs @@ -0,0 +1,55 @@ +using Chemistry_Cafe_API.Controllers; +using Chemistry_Cafe_API.Models; +using Microsoft.VisualStudio.TestTools.UnitTesting; +using MySqlConnector; + +namespace Chemistry_Cafe_API.Tests +{ + [TestClass] + public class SpeciesControllerTests + { + readonly MySqlDataSource db = DBConnection.DataSource; + + [TestMethod] + public async Task Get_retrieves_species() + { + var controller = new SpeciesController(db); + + var result = await controller.Get() as List; + + Assert.IsNotNull(result); + } + + [TestMethod] + public async Task Creates_species() + { + var controller = new SpeciesController(db); + + var result = await controller.Create("Test") ; + + var getResult = await controller.Get(result); + + Assert.AreEqual(result, getResult.uuid); + } + + [TestMethod] + public async Task Updates_species() + { + var controller = new SpeciesController(db); + + var result = await controller.Create("Test"); + + var getResult = await controller.Get(result); + + getResult.type = "Edited"; + + await controller.Put(getResult); + + var getEditedResult = await controller.Get(result); + + await controller.Delete(result); + + Assert.AreEqual(getEditedResult.type, "Edited"); + } + } +} diff --git a/Tests/TagMechanismControllerTests.cs b/Tests/TagMechanismControllerTests.cs new file mode 100644 index 0000000..92ad998 --- /dev/null +++ b/Tests/TagMechanismControllerTests.cs @@ -0,0 +1,67 @@ +using Chemistry_Cafe_API.Controllers; +using Chemistry_Cafe_API.Models; +using Microsoft.VisualStudio.TestTools.UnitTesting; +using MySqlConnector; + +namespace Chemistry_Cafe_API.Tests +{ + [TestClass] + public class TagMechanismControllerTests + { + readonly MySqlDataSource db = DBConnection.DataSource; + + [TestMethod] + public async Task Get_retrieves_tagmechanism() + { + var controller = new TagMechanismController(db); + + var result = await controller.Get() as List; + + Assert.IsNotNull(result); + } + + [TestMethod] + public async Task Get_retrieves_tagmechanism_family() + { + var controller = new TagMechanismController(db); + + var guid = new Guid("06b7c16f-eb1a-49ef-8798-16fe03fc67ae"); + + var result = await controller.GetTags(guid) as List; + + Assert.IsNotNull(result); + } + + [TestMethod] + public async Task Creates_tagmechanism() + { + var controller = new TagMechanismController(db); + + var result = await controller.Create("Test") ; + + var getResult = await controller.Get(result); + + Assert.AreEqual(result, getResult.uuid); + } + + [TestMethod] + public async Task Updates_tagmechanism() + { + var controller = new TagMechanismController(db); + + var result = await controller.Create("Test"); + + var getResult = await controller.Get(result); + + getResult.tag = "Edited"; + + await controller.Put(getResult); + + var getEditedResult = await controller.Get(result); + + await controller.Delete(result); + + Assert.AreEqual(getEditedResult.tag, "Edited"); + } + } +} diff --git a/Tests/TagMechanismReactionListControllerTests.cs b/Tests/TagMechanismReactionListControllerTests.cs new file mode 100644 index 0000000..7a94aaa --- /dev/null +++ b/Tests/TagMechanismReactionListControllerTests.cs @@ -0,0 +1,71 @@ +using Chemistry_Cafe_API.Controllers; +using Chemistry_Cafe_API.Models; +using Microsoft.VisualStudio.TestTools.UnitTesting; +using MySqlConnector; + +namespace Chemistry_Cafe_API.Tests +{ + [TestClass] + public class TagMechanismReactionListControllerTests + { + readonly MySqlDataSource db = DBConnection.DataSource; + + [TestMethod] + public async Task Get_retrieves_tagmechanismreactionlist() + { + var controller = new TagMechanismReactionListController(db); + + var result = await controller.Get() as List; + + Assert.IsNotNull(result); + } + + [TestMethod] + public async Task Creates_tagmechanismreactionlist() + { + var controller = new TagMechanismReactionListController(db); + + var tagMechanismReactionList = new TagMechanismReactionList + { + tag_mechanism_uuid = new Guid("02114e61-a4a6-48c0-9f99-3de4d20ab750"), + reaction_uuid = new Guid("367f4b94-14f5-404e-86ee-1d5f799edcd7"), + version = "1.0", + isDel = false + }; + + var result = await controller.Create(tagMechanismReactionList) ; + + var getResult = await controller.Get(result); + + Assert.AreEqual(result, getResult.uuid); + } + + [TestMethod] + public async Task Updates_tagmechanismreactionlist() + { + var controller = new TagMechanismReactionListController(db); + + var tagMechanismReactionList = new TagMechanismReactionList + { + tag_mechanism_uuid = new Guid("02114e61-a4a6-48c0-9f99-3de4d20ab750"), + reaction_uuid = new Guid("367f4b94-14f5-404e-86ee-1d5f799edcd7"), + version = "1.0", + isDel = false + }; + + var result = await controller.Create(tagMechanismReactionList); + + var getResult = await controller.Get(result); + + getResult.version = "Edited"; + + await controller.Put(getResult); + + var getEditedResult = await controller.Get(result); + + await controller.Delete(result); + + Assert.AreEqual(getEditedResult.version, "Edited"); + } + } +} diff --git a/Tests/TagMechanismReactionListVersionControllerTests.cs b/Tests/TagMechanismReactionListVersionControllerTests.cs new file mode 100644 index 0000000..8955293 --- /dev/null +++ b/Tests/TagMechanismReactionListVersionControllerTests.cs @@ -0,0 +1,77 @@ +using Chemistry_Cafe_API.Controllers; +using Chemistry_Cafe_API.Models; +using Microsoft.VisualStudio.TestTools.UnitTesting; +using MySqlConnector; + +namespace Chemistry_Cafe_API.Tests +{ + [TestClass] + public class TagMechanismReactionListVersionControllerTests + { + readonly MySqlDataSource db = DBConnection.DataSource; + + [TestMethod] + public async Task Get_retrieves_TagMechanismReactionListVersion() + { + var controller = new TagMechanismReactionListVersionController(db); + + var result = await controller.Get() as List; + + Assert.IsNotNull(result); + } + + [TestMethod] + public async Task Creates_TagMechanismReactionListVersion() + { + var controller = new TagMechanismReactionListVersionController(db); + + var familyTagMecList = new TagMechanismReactionListVersion + { + tag_mechanism_uuid = new Guid("02114e61-a4a6-48c0-9f99-3de4d20ab750"), + reaction_uuid = new Guid("367f4b94-14f5-404e-86ee-1d5f799edcd7"), + frozen_version = "1.0", + user_uuid = new Guid("04c5db32-65e1-44ba-8b29-1cbfd5383789"), + action = "test", + datetime = DateTime.Now, + isDel = false + }; + + var result = await controller.Create(familyTagMecList); + + var getResult = await controller.Get(result); + + Assert.AreEqual(result, getResult.uuid); + } + + [TestMethod] + public async Task Updates_TagMechanismReactionListVersion() + { + var controller = new TagMechanismReactionListVersionController(db); + + var familyTagMecList = new TagMechanismReactionListVersion + { + tag_mechanism_uuid = new Guid("02114e61-a4a6-48c0-9f99-3de4d20ab750"), + reaction_uuid = new Guid("367f4b94-14f5-404e-86ee-1d5f799edcd7"), + frozen_version = "1.0", + user_uuid = new Guid("04c5db32-65e1-44ba-8b29-1cbfd5383789"), + action = "test", + datetime = DateTime.Now, + isDel = false + }; + + var result = await controller.Create(familyTagMecList); + + var getResult = await controller.Get(result); + + getResult.action = "Edited"; + + await controller.Put(getResult); + + var getEdited = await controller.Get(result); + + await controller.Delete(result); + + Assert.AreEqual(getEdited.action, "Edited"); + } + } +} diff --git a/Tests/TagMechanismSpeciesListControllerTests.cs b/Tests/TagMechanismSpeciesListControllerTests.cs new file mode 100644 index 0000000..49324b3 --- /dev/null +++ b/Tests/TagMechanismSpeciesListControllerTests.cs @@ -0,0 +1,71 @@ +using Chemistry_Cafe_API.Controllers; +using Chemistry_Cafe_API.Models; +using Microsoft.VisualStudio.TestTools.UnitTesting; +using MySqlConnector; + +namespace Chemistry_Cafe_API.Tests +{ + [TestClass] + public class TagMechanismSpeciesListControllerTests + { + readonly MySqlDataSource db = DBConnection.DataSource; + + [TestMethod] + public async Task Get_retrieves_tagmechanismspecieslist() + { + var controller = new TagMechanismSpeciesListController(db); + + var result = await controller.Get() as List; + + Assert.IsNotNull(result); + } + + [TestMethod] + public async Task Creates_tagmechanismspecieslist() + { + var controller = new TagMechanismSpeciesListController(db); + + var tagMechanismSpeciesList = new TagMechanismSpeciesList + { + tag_mechanism_uuid = new Guid("02114e61-a4a6-48c0-9f99-3de4d20ab750"), + species_uuid = new Guid("739289cd-1396-41f8-a3e5-415f6b1ccd07"), + version = "1.0", + isDel = false + }; + + var result = await controller.Create(tagMechanismSpeciesList) ; + + var getResult = await controller.Get(result); + + Assert.AreEqual(result, getResult.uuid); + } + + [TestMethod] + public async Task Updates_tagmechanismspecieslist() + { + var controller = new TagMechanismSpeciesListController(db); + + var tagMechanismSpeciesList = new TagMechanismSpeciesList + { + tag_mechanism_uuid = new Guid("02114e61-a4a6-48c0-9f99-3de4d20ab750"), + species_uuid = new Guid("739289cd-1396-41f8-a3e5-415f6b1ccd07"), + version = "1.0", + isDel = false + }; + + var result = await controller.Create(tagMechanismSpeciesList); + + var getResult = await controller.Get(result); + + getResult.version = "Edited"; + + await controller.Put(getResult); + + var getEditedResult = await controller.Get(result); + + await controller.Delete(result); + + Assert.AreEqual(getEditedResult.version, "Edited"); + } + } +} diff --git a/Tests/TagMechanismSpeciesListVersionControllerTests.cs b/Tests/TagMechanismSpeciesListVersionControllerTests.cs new file mode 100644 index 0000000..714f624 --- /dev/null +++ b/Tests/TagMechanismSpeciesListVersionControllerTests.cs @@ -0,0 +1,77 @@ +using Chemistry_Cafe_API.Controllers; +using Chemistry_Cafe_API.Models; +using Microsoft.VisualStudio.TestTools.UnitTesting; +using MySqlConnector; + +namespace Chemistry_Cafe_API.Tests +{ + [TestClass] + public class TagMechanismSpeciesListVersionControllerTests + { + TagMechanismSpeciesListVersionController controller = new TagMechanismSpeciesListVersionController(DBConnection.DataSource); + + [TestMethod] + public async Task Get_retrieves_TagMechanismSpeciesListVersion() + { + + + var result = await controller.Get() as List; + + Assert.IsNotNull(result); + } + + [TestMethod] + public async Task Creates_TagMechanismSpeciesListVersion() + { + + + var familyTagMecList = new TagMechanismSpeciesListVersion + { + tag_mechanism_uuid = new Guid("02114e61-a4a6-48c0-9f99-3de4d20ab750"), + species_uuid = new Guid("739289cd-1396-41f8-a3e5-415f6b1ccd07"), + frozen_uuid = Guid.NewGuid(), + user_uuid = new Guid("04c5db32-65e1-44ba-8b29-1cbfd5383789"), + action = "test", + datetime = DateTime.Now, + isDel = false + }; + + var result = await controller.Create(familyTagMecList); + + var getResult = await controller.Get(result); + + Assert.AreEqual(result, getResult.uuid); + } + + [TestMethod] + public async Task Updates_TagMechanismSpeciesListVersion() + { + + + var familyTagMecList = new TagMechanismSpeciesListVersion + { + tag_mechanism_uuid = new Guid("02114e61-a4a6-48c0-9f99-3de4d20ab750"), + species_uuid = new Guid("739289cd-1396-41f8-a3e5-415f6b1ccd07"), + frozen_uuid = Guid.NewGuid(), + user_uuid = new Guid("04c5db32-65e1-44ba-8b29-1cbfd5383789"), + action = "test", + datetime = DateTime.Now, + isDel = false + }; + + var result = await controller.Create(familyTagMecList); + + var getResult = await controller.Get(result); + + getResult.action = "Edited"; + + await controller.Put(getResult); + + var getEdited = await controller.Get(result); + + await controller.Delete(result); + + Assert.AreEqual(getEdited.action, "Edited"); + } + } +} diff --git a/Tests/UserControllerTests.cs b/Tests/UserControllerTests.cs new file mode 100644 index 0000000..9ef34d6 --- /dev/null +++ b/Tests/UserControllerTests.cs @@ -0,0 +1,55 @@ +using Chemistry_Cafe_API.Controllers; +using Chemistry_Cafe_API.Models; +using Microsoft.VisualStudio.TestTools.UnitTesting; +using MySqlConnector; + +namespace Chemistry_Cafe_API.Tests +{ + [TestClass] + public class UserControllerTests + { + readonly MySqlDataSource db = DBConnection.DataSource; + + [TestMethod] + public async Task Get_retrieves_user() + { + var controller = new UserController(db); + + var result = await controller.Get() as List; + + Assert.IsNotNull(result); + } + + [TestMethod] + public async Task Creates_user() + { + var controller = new UserController(db); + + var result = await controller.Create("Test") ; + + var getResult = await controller.Get(result); + + Assert.AreEqual(result, getResult.uuid); + } + + [TestMethod] + public async Task Updates_user() + { + var controller = new UserController(db); + + var result = await controller.Create("Test"); + + var getResult = await controller.Get(result); + + getResult.log_in_info = "Edited"; + + await controller.Put(getResult); + + var getEditedResult = await controller.Get(result); + + await controller.Delete(result); + + Assert.AreEqual(getEditedResult.log_in_info, "Edited"); + } + } +} diff --git a/Tests/UserPreferencesControllerTests.cs b/Tests/UserPreferencesControllerTests.cs new file mode 100644 index 0000000..d44128d --- /dev/null +++ b/Tests/UserPreferencesControllerTests.cs @@ -0,0 +1,62 @@ +using Chemistry_Cafe_API.Controllers; +using Chemistry_Cafe_API.Models; +using Microsoft.VisualStudio.TestTools.UnitTesting; +using MySqlConnector; + +namespace Chemistry_Cafe_API.Tests +{ + [TestClass] + public class UserPreferencesControllerTests + { + UserPreferencesController controller = new UserPreferencesController(DBConnection.DataSource); + + [TestMethod] + public async Task Get_retrieves_userpreferences() + { + var result = await controller.Get() as List; + + Assert.IsNotNull(result); + } + + [TestMethod] + public async Task Creates_userpreferences() + { + var userPreferences = new UserPreferences + { + user_uuid = new Guid("070465a1-5f3e-42eb-9373-fed864a75cf5"), + preferences = "New Preference", + isDel = false + }; + + var result = await controller.Create(userPreferences); + + var getResult = await controller.Get(result); + + Assert.AreEqual(result, getResult.uuid); + } + + [TestMethod] + public async Task Updates_userpreferences() + { + var userPreferences = new UserPreferences + { + user_uuid = new Guid("070465a1-5f3e-42eb-9373-fed864a75cf5"), + preferences = "New Preference" + }; + + var result = await controller.Create(userPreferences); + + var getResult = await controller.Get(result); + + getResult.preferences = "Edited"; + + await controller.Put(getResult); + + var getEditedResult = await controller.Get(result); + + await controller.Delete(result); + + Assert.AreEqual(getEditedResult.preferences, "Edited"); + } + } +} diff --git a/bin/Debug/net8.0/Chemistry Cafe API.deps.json b/bin/Debug/net8.0/Chemistry Cafe API.deps.json index c703c4f..82a6c86 100644 --- a/bin/Debug/net8.0/Chemistry Cafe API.deps.json +++ b/bin/Debug/net8.0/Chemistry Cafe API.deps.json @@ -3,41 +3,1212 @@ "name": ".NETCoreApp,Version=v8.0", "signature": "" }, - "compilationOptions": {}, + "compilationOptions": { + "defines": [ + "TRACE", + "DEBUG", + "NET", + "NET8_0", + "NETCOREAPP", + "NET5_0_OR_GREATER", + "NET6_0_OR_GREATER", + "NET7_0_OR_GREATER", + "NET8_0_OR_GREATER", + "NETCOREAPP1_0_OR_GREATER", + "NETCOREAPP1_1_OR_GREATER", + "NETCOREAPP2_0_OR_GREATER", + "NETCOREAPP2_1_OR_GREATER", + "NETCOREAPP2_2_OR_GREATER", + "NETCOREAPP3_0_OR_GREATER", + "NETCOREAPP3_1_OR_GREATER" + ], + "languageVersion": "12.0", + "platform": "AnyCPU", + "allowUnsafe": false, + "warningsAsErrors": false, + "optimize": false, + "keyFile": "", + "emitEntryPoint": true, + "xmlDoc": false, + "debugType": "portable" + }, "targets": { ".NETCoreApp,Version=v8.0": { "Chemistry Cafe API/1.0.0": { "dependencies": { + "MSTest.TestAdapter": "3.3.1", + "MSTest.TestFramework": "3.3.1", + "Microsoft.AspNetCore.Mvc.Testing": "8.0.4", + "Microsoft.CodeCoverage": "17.9.0", + "Microsoft.NET.Test.Sdk": "17.9.0", "Microsoft.VisualStudio.Azure.Containers.Tools.Targets": "1.19.6", "MySqlConnector": "2.3.5", "MySqlConnector.DependencyInjection": "2.3.5", - "Swashbuckle.AspNetCore": "6.5.0" + "Swashbuckle.AspNetCore": "6.5.0", + "xunit.extensibility.core": "2.7.1", + "Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions": "14.0.0.0", + "Microsoft.AspNetCore.Antiforgery": "8.0.0.0", + "Microsoft.AspNetCore.Authentication.Abstractions": "8.0.0.0", + "Microsoft.AspNetCore.Authentication.BearerToken": "8.0.0.0", + "Microsoft.AspNetCore.Authentication.Cookies": "8.0.0.0", + "Microsoft.AspNetCore.Authentication.Core": "8.0.0.0", + "Microsoft.AspNetCore.Authentication": "8.0.0.0", + "Microsoft.AspNetCore.Authentication.OAuth": "8.0.0.0", + "Microsoft.AspNetCore.Authorization": "8.0.0.0", + "Microsoft.AspNetCore.Authorization.Policy": "8.0.0.0", + "Microsoft.AspNetCore.Components.Authorization": "8.0.0.0", + "Microsoft.AspNetCore.Components": "8.0.0.0", + "Microsoft.AspNetCore.Components.Endpoints": "8.0.0.0", + "Microsoft.AspNetCore.Components.Forms": "8.0.0.0", + "Microsoft.AspNetCore.Components.Server": "8.0.0.0", + "Microsoft.AspNetCore.Components.Web": "8.0.0.0", + "Microsoft.AspNetCore.Connections.Abstractions": "8.0.0.0", + "Microsoft.AspNetCore.CookiePolicy": "8.0.0.0", + "Microsoft.AspNetCore.Cors": "8.0.0.0", + "Microsoft.AspNetCore.Cryptography.Internal": "8.0.0.0", + "Microsoft.AspNetCore.Cryptography.KeyDerivation": "8.0.0.0", + "Microsoft.AspNetCore.DataProtection.Abstractions": "8.0.0.0", + "Microsoft.AspNetCore.DataProtection": "8.0.0.0", + "Microsoft.AspNetCore.DataProtection.Extensions": "8.0.0.0", + "Microsoft.AspNetCore.Diagnostics.Abstractions": "8.0.0.0", + "Microsoft.AspNetCore.Diagnostics": "8.0.0.0", + "Microsoft.AspNetCore.Diagnostics.HealthChecks": "8.0.0.0", + "Microsoft.AspNetCore": "8.0.0.0", + "Microsoft.AspNetCore.HostFiltering": "8.0.0.0", + "Microsoft.AspNetCore.Hosting.Abstractions": "8.0.0.0", + "Microsoft.AspNetCore.Hosting": "8.0.0.0", + "Microsoft.AspNetCore.Hosting.Server.Abstractions": "8.0.0.0", + "Microsoft.AspNetCore.Html.Abstractions": "8.0.0.0", + "Microsoft.AspNetCore.Http.Abstractions": "8.0.0.0", + "Microsoft.AspNetCore.Http.Connections.Common": "8.0.0.0", + "Microsoft.AspNetCore.Http.Connections": "8.0.0.0", + "Microsoft.AspNetCore.Http": "8.0.0.0", + "Microsoft.AspNetCore.Http.Extensions": "8.0.0.0", + "Microsoft.AspNetCore.Http.Features": "8.0.0.0", + "Microsoft.AspNetCore.Http.Results": "8.0.0.0", + "Microsoft.AspNetCore.HttpLogging": "8.0.0.0", + "Microsoft.AspNetCore.HttpOverrides": "8.0.0.0", + "Microsoft.AspNetCore.HttpsPolicy": "8.0.0.0", + "Microsoft.AspNetCore.Identity": "8.0.0.0", + "Microsoft.AspNetCore.Localization": "8.0.0.0", + "Microsoft.AspNetCore.Localization.Routing": "8.0.0.0", + "Microsoft.AspNetCore.Metadata": "8.0.0.0", + "Microsoft.AspNetCore.Mvc.Abstractions": "8.0.0.0", + "Microsoft.AspNetCore.Mvc.ApiExplorer": "8.0.0.0", + "Microsoft.AspNetCore.Mvc.Core": "8.0.0.0", + "Microsoft.AspNetCore.Mvc.Cors": "8.0.0.0", + "Microsoft.AspNetCore.Mvc.DataAnnotations": "8.0.0.0", + "Microsoft.AspNetCore.Mvc": "8.0.0.0", + "Microsoft.AspNetCore.Mvc.Formatters.Json": "8.0.0.0", + "Microsoft.AspNetCore.Mvc.Formatters.Xml": "8.0.0.0", + "Microsoft.AspNetCore.Mvc.Localization": "8.0.0.0", + "Microsoft.AspNetCore.Mvc.Razor": "8.0.0.0", + "Microsoft.AspNetCore.Mvc.RazorPages": "8.0.0.0", + "Microsoft.AspNetCore.Mvc.TagHelpers": "8.0.0.0", + "Microsoft.AspNetCore.Mvc.ViewFeatures": "8.0.0.0", + "Microsoft.AspNetCore.OutputCaching": "8.0.0.0", + "Microsoft.AspNetCore.RateLimiting": "8.0.0.0", + "Microsoft.AspNetCore.Razor": "8.0.0.0", + "Microsoft.AspNetCore.Razor.Runtime": "8.0.0.0", + "Microsoft.AspNetCore.RequestDecompression": "8.0.0.0", + "Microsoft.AspNetCore.ResponseCaching.Abstractions": "8.0.0.0", + "Microsoft.AspNetCore.ResponseCaching": "8.0.0.0", + "Microsoft.AspNetCore.ResponseCompression": "8.0.0.0", + "Microsoft.AspNetCore.Rewrite": "8.0.0.0", + "Microsoft.AspNetCore.Routing.Abstractions": "8.0.0.0", + "Microsoft.AspNetCore.Routing": "8.0.0.0", + "Microsoft.AspNetCore.Server.HttpSys": "8.0.0.0", + "Microsoft.AspNetCore.Server.IIS": "8.0.0.0", + "Microsoft.AspNetCore.Server.IISIntegration": "8.0.0.0", + "Microsoft.AspNetCore.Server.Kestrel.Core": "8.0.0.0", + "Microsoft.AspNetCore.Server.Kestrel": "8.0.0.0", + "Microsoft.AspNetCore.Server.Kestrel.Transport.NamedPipes": "8.0.0.0", + "Microsoft.AspNetCore.Server.Kestrel.Transport.Quic": "8.0.0.0", + "Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets": "8.0.0.0", + "Microsoft.AspNetCore.Session": "8.0.0.0", + "Microsoft.AspNetCore.SignalR.Common": "8.0.0.0", + "Microsoft.AspNetCore.SignalR.Core": "8.0.0.0", + "Microsoft.AspNetCore.SignalR": "8.0.0.0", + "Microsoft.AspNetCore.SignalR.Protocols.Json": "8.0.0.0", + "Microsoft.AspNetCore.StaticFiles": "8.0.0.0", + "Microsoft.AspNetCore.WebSockets": "8.0.0.0", + "Microsoft.AspNetCore.WebUtilities": "8.0.0.0", + "Microsoft.CSharp": "8.0.0.0", + "Microsoft.Extensions.Caching.Abstractions": "8.0.0.0", + "Microsoft.Extensions.Caching.Memory": "8.0.0.0", + "Microsoft.Extensions.Configuration.Abstractions.Reference": "8.0.0.0", + "Microsoft.Extensions.Configuration.Binder.Reference": "8.0.0.0", + "Microsoft.Extensions.Configuration.CommandLine.Reference": "8.0.0.0", + "Microsoft.Extensions.Configuration.Reference": "8.0.0.0", + "Microsoft.Extensions.Configuration.EnvironmentVariables.Reference": "8.0.0.0", + "Microsoft.Extensions.Configuration.FileExtensions.Reference": "8.0.0.0", + "Microsoft.Extensions.Configuration.Ini": "8.0.0.0", + "Microsoft.Extensions.Configuration.Json.Reference": "8.0.0.0", + "Microsoft.Extensions.Configuration.KeyPerFile": "8.0.0.0", + "Microsoft.Extensions.Configuration.UserSecrets.Reference": "8.0.0.0", + "Microsoft.Extensions.Configuration.Xml": "8.0.0.0", + "Microsoft.Extensions.DependencyInjection.Abstractions.Reference": "8.0.0.0", + "Microsoft.Extensions.DependencyInjection.Reference": "8.0.0.0", + "Microsoft.Extensions.Diagnostics.Abstractions.Reference": "8.0.0.0", + "Microsoft.Extensions.Diagnostics.Reference": "8.0.0.0", + "Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions": "8.0.0.0", + "Microsoft.Extensions.Diagnostics.HealthChecks": "8.0.0.0", + "Microsoft.Extensions.Features": "8.0.0.0", + "Microsoft.Extensions.FileProviders.Abstractions.Reference": "8.0.0.0", + "Microsoft.Extensions.FileProviders.Composite": "8.0.0.0", + "Microsoft.Extensions.FileProviders.Embedded": "8.0.0.0", + "Microsoft.Extensions.FileProviders.Physical.Reference": "8.0.0.0", + "Microsoft.Extensions.FileSystemGlobbing.Reference": "8.0.0.0", + "Microsoft.Extensions.Hosting.Abstractions.Reference": "8.0.0.0", + "Microsoft.Extensions.Hosting.Reference": "8.0.0.0", + "Microsoft.Extensions.Http": "8.0.0.0", + "Microsoft.Extensions.Identity.Core": "8.0.0.0", + "Microsoft.Extensions.Identity.Stores": "8.0.0.0", + "Microsoft.Extensions.Localization.Abstractions": "8.0.0.0", + "Microsoft.Extensions.Localization": "8.0.0.0", + "Microsoft.Extensions.Logging.Abstractions.Reference": "8.0.0.0", + "Microsoft.Extensions.Logging.Configuration.Reference": "8.0.0.0", + "Microsoft.Extensions.Logging.Console.Reference": "8.0.0.0", + "Microsoft.Extensions.Logging.Debug.Reference": "8.0.0.0", + "Microsoft.Extensions.Logging.Reference": "8.0.0.0", + "Microsoft.Extensions.Logging.EventLog.Reference": "8.0.0.0", + "Microsoft.Extensions.Logging.EventSource.Reference": "8.0.0.0", + "Microsoft.Extensions.Logging.TraceSource": "8.0.0.0", + "Microsoft.Extensions.ObjectPool": "8.0.0.0", + "Microsoft.Extensions.Options.ConfigurationExtensions.Reference": "8.0.0.0", + "Microsoft.Extensions.Options.DataAnnotations": "8.0.0.0", + "Microsoft.Extensions.Options.Reference": "8.0.0.0", + "Microsoft.Extensions.Primitives.Reference": "8.0.0.0", + "Microsoft.Extensions.WebEncoders": "8.0.0.0", + "Microsoft.JSInterop": "8.0.0.0", + "Microsoft.Net.Http.Headers": "8.0.0.0", + "Microsoft.VisualBasic.Core": "13.0.0.0", + "Microsoft.VisualBasic": "10.0.0.0", + "Microsoft.Win32.Primitives": "8.0.0.0", + "Microsoft.Win32.Registry": "8.0.0.0", + "mscorlib": "4.0.0.0", + "netstandard": "2.1.0.0", + "System.AppContext": "8.0.0.0", + "System.Buffers": "8.0.0.0", + "System.Collections.Concurrent": "8.0.0.0", + "System.Collections": "8.0.0.0", + "System.Collections.Immutable": "8.0.0.0", + "System.Collections.NonGeneric": "8.0.0.0", + "System.Collections.Specialized": "8.0.0.0", + "System.ComponentModel.Annotations": "8.0.0.0", + "System.ComponentModel.DataAnnotations": "4.0.0.0", + "System.ComponentModel": "8.0.0.0", + "System.ComponentModel.EventBasedAsync": "8.0.0.0", + "System.ComponentModel.Primitives": "8.0.0.0", + "System.ComponentModel.TypeConverter": "8.0.0.0", + "System.Configuration": "4.0.0.0", + "System.Console": "8.0.0.0", + "System.Core": "4.0.0.0", + "System.Data.Common": "8.0.0.0", + "System.Data.DataSetExtensions": "8.0.0.0", + "System.Data": "4.0.0.0", + "System.Diagnostics.Contracts": "8.0.0.0", + "System.Diagnostics.Debug": "8.0.0.0", + "System.Diagnostics.DiagnosticSource.Reference": "8.0.0.0", + "System.Diagnostics.EventLog.Reference": "8.0.0.0", + "System.Diagnostics.FileVersionInfo": "8.0.0.0", + "System.Diagnostics.Process": "8.0.0.0", + "System.Diagnostics.StackTrace": "8.0.0.0", + "System.Diagnostics.TextWriterTraceListener": "8.0.0.0", + "System.Diagnostics.Tools": "8.0.0.0", + "System.Diagnostics.TraceSource": "8.0.0.0", + "System.Diagnostics.Tracing": "8.0.0.0", + "System": "4.0.0.0", + "System.Drawing": "4.0.0.0", + "System.Drawing.Primitives": "8.0.0.0", + "System.Dynamic.Runtime": "8.0.0.0", + "System.Formats.Asn1": "8.0.0.0", + "System.Formats.Tar": "8.0.0.0", + "System.Globalization.Calendars": "8.0.0.0", + "System.Globalization": "8.0.0.0", + "System.Globalization.Extensions": "8.0.0.0", + "System.IO.Compression.Brotli": "8.0.0.0", + "System.IO.Compression": "8.0.0.0", + "System.IO.Compression.FileSystem": "4.0.0.0", + "System.IO.Compression.ZipFile": "8.0.0.0", + "System.IO": "8.0.0.0", + "System.IO.FileSystem.AccessControl": "8.0.0.0", + "System.IO.FileSystem": "8.0.0.0", + "System.IO.FileSystem.DriveInfo": "8.0.0.0", + "System.IO.FileSystem.Primitives": "8.0.0.0", + "System.IO.FileSystem.Watcher": "8.0.0.0", + "System.IO.IsolatedStorage": "8.0.0.0", + "System.IO.MemoryMappedFiles": "8.0.0.0", + "System.IO.Pipelines.Reference": "8.0.0.0", + "System.IO.Pipes.AccessControl": "8.0.0.0", + "System.IO.Pipes": "8.0.0.0", + "System.IO.UnmanagedMemoryStream": "8.0.0.0", + "System.Linq": "8.0.0.0", + "System.Linq.Expressions": "8.0.0.0", + "System.Linq.Parallel": "8.0.0.0", + "System.Linq.Queryable": "8.0.0.0", + "System.Memory": "8.0.0.0", + "System.Net": "4.0.0.0", + "System.Net.Http": "8.0.0.0", + "System.Net.Http.Json": "8.0.0.0", + "System.Net.HttpListener": "8.0.0.0", + "System.Net.Mail": "8.0.0.0", + "System.Net.NameResolution": "8.0.0.0", + "System.Net.NetworkInformation": "8.0.0.0", + "System.Net.Ping": "8.0.0.0", + "System.Net.Primitives": "8.0.0.0", + "System.Net.Quic": "8.0.0.0", + "System.Net.Requests": "8.0.0.0", + "System.Net.Security": "8.0.0.0", + "System.Net.ServicePoint": "8.0.0.0", + "System.Net.Sockets": "8.0.0.0", + "System.Net.WebClient": "8.0.0.0", + "System.Net.WebHeaderCollection": "8.0.0.0", + "System.Net.WebProxy": "8.0.0.0", + "System.Net.WebSockets.Client": "8.0.0.0", + "System.Net.WebSockets": "8.0.0.0", + "System.Numerics": "4.0.0.0", + "System.Numerics.Vectors": "8.0.0.0", + "System.ObjectModel": "8.0.0.0", + "System.Reflection.DispatchProxy": "8.0.0.0", + "System.Reflection": "8.0.0.0", + "System.Reflection.Emit": "8.0.0.0", + "System.Reflection.Emit.ILGeneration": "8.0.0.0", + "System.Reflection.Emit.Lightweight": "8.0.0.0", + "System.Reflection.Extensions": "8.0.0.0", + "System.Reflection.Metadata.Reference": "8.0.0.0", + "System.Reflection.Primitives": "8.0.0.0", + "System.Reflection.TypeExtensions": "8.0.0.0", + "System.Resources.Reader": "8.0.0.0", + "System.Resources.ResourceManager": "8.0.0.0", + "System.Resources.Writer": "8.0.0.0", + "System.Runtime.CompilerServices.Unsafe": "8.0.0.0", + "System.Runtime.CompilerServices.VisualC": "8.0.0.0", + "System.Runtime": "8.0.0.0", + "System.Runtime.Extensions": "8.0.0.0", + "System.Runtime.Handles": "8.0.0.0", + "System.Runtime.InteropServices": "8.0.0.0", + "System.Runtime.InteropServices.JavaScript": "8.0.0.0", + "System.Runtime.InteropServices.RuntimeInformation": "8.0.0.0", + "System.Runtime.Intrinsics": "8.0.0.0", + "System.Runtime.Loader": "8.0.0.0", + "System.Runtime.Numerics": "8.0.0.0", + "System.Runtime.Serialization": "4.0.0.0", + "System.Runtime.Serialization.Formatters": "8.0.0.0", + "System.Runtime.Serialization.Json": "8.0.0.0", + "System.Runtime.Serialization.Primitives": "8.0.0.0", + "System.Runtime.Serialization.Xml": "8.0.0.0", + "System.Security.AccessControl": "8.0.0.0", + "System.Security.Claims": "8.0.0.0", + "System.Security.Cryptography.Algorithms": "8.0.0.0", + "System.Security.Cryptography.Cng": "8.0.0.0", + "System.Security.Cryptography.Csp": "8.0.0.0", + "System.Security.Cryptography": "8.0.0.0", + "System.Security.Cryptography.Encoding": "8.0.0.0", + "System.Security.Cryptography.OpenSsl": "8.0.0.0", + "System.Security.Cryptography.Primitives": "8.0.0.0", + "System.Security.Cryptography.X509Certificates": "8.0.0.0", + "System.Security.Cryptography.Xml": "8.0.0.0", + "System.Security": "4.0.0.0", + "System.Security.Principal": "8.0.0.0", + "System.Security.Principal.Windows": "8.0.0.0", + "System.Security.SecureString": "8.0.0.0", + "System.ServiceModel.Web": "4.0.0.0", + "System.ServiceProcess": "4.0.0.0", + "System.Text.Encoding.CodePages": "8.0.0.0", + "System.Text.Encoding": "8.0.0.0", + "System.Text.Encoding.Extensions": "8.0.0.0", + "System.Text.Encodings.Web.Reference": "8.0.0.0", + "System.Text.Json.Reference": "8.0.0.0", + "System.Text.RegularExpressions": "8.0.0.0", + "System.Threading.Channels": "8.0.0.0", + "System.Threading": "8.0.0.0", + "System.Threading.Overlapped": "8.0.0.0", + "System.Threading.RateLimiting": "8.0.0.0", + "System.Threading.Tasks.Dataflow": "8.0.0.0", + "System.Threading.Tasks": "8.0.0.0", + "System.Threading.Tasks.Extensions": "8.0.0.0", + "System.Threading.Tasks.Parallel": "8.0.0.0", + "System.Threading.Thread": "8.0.0.0", + "System.Threading.ThreadPool": "8.0.0.0", + "System.Threading.Timer": "8.0.0.0", + "System.Transactions": "4.0.0.0", + "System.Transactions.Local": "8.0.0.0", + "System.ValueTuple": "8.0.0.0", + "System.Web": "4.0.0.0", + "System.Web.HttpUtility": "8.0.0.0", + "System.Windows": "4.0.0.0", + "System.Xml": "4.0.0.0", + "System.Xml.Linq": "4.0.0.0", + "System.Xml.ReaderWriter": "8.0.0.0", + "System.Xml.Serialization": "4.0.0.0", + "System.Xml.XDocument": "8.0.0.0", + "System.Xml.XmlDocument": "8.0.0.0", + "System.Xml.XmlSerializer": "8.0.0.0", + "System.Xml.XPath": "8.0.0.0", + "System.Xml.XPath.XDocument": "8.0.0.0", + "WindowsBase": "4.0.0.0" }, "runtime": { "Chemistry Cafe API.dll": {} + }, + "compile": { + "Chemistry Cafe API.dll": {} + } + }, + "Microsoft.ApplicationInsights/2.22.0": { + "dependencies": { + "System.Diagnostics.DiagnosticSource": "8.0.0" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.ApplicationInsights.dll": { + "assemblyVersion": "2.22.0.997", + "fileVersion": "2.22.0.997" + } + }, + "compile": { + "lib/netstandard2.0/Microsoft.ApplicationInsights.dll": {} + } + }, + "Microsoft.AspNetCore.Mvc.Testing/8.0.4": { + "dependencies": { + "Microsoft.AspNetCore.TestHost": "8.0.4", + "Microsoft.Extensions.DependencyModel": "8.0.0", + "Microsoft.Extensions.Hosting": "8.0.0" + }, + "runtime": { + "lib/net8.0/Microsoft.AspNetCore.Mvc.Testing.dll": { + "assemblyVersion": "8.0.4.0", + "fileVersion": "8.0.424.17014" + } + }, + "compile": { + "lib/net8.0/Microsoft.AspNetCore.Mvc.Testing.dll": {} + } + }, + "Microsoft.AspNetCore.TestHost/8.0.4": { + "dependencies": { + "System.IO.Pipelines": "8.0.0" + }, + "runtime": { + "lib/net8.0/Microsoft.AspNetCore.TestHost.dll": { + "assemblyVersion": "8.0.4.0", + "fileVersion": "8.0.424.17014" + } + }, + "compile": { + "lib/net8.0/Microsoft.AspNetCore.TestHost.dll": {} + } + }, + "Microsoft.CodeCoverage/17.9.0": { + "runtime": { + "lib/netcoreapp3.1/Microsoft.VisualStudio.CodeCoverage.Shim.dll": { + "assemblyVersion": "15.0.0.0", + "fileVersion": "17.900.724.7204" + } + }, + "compile": { + "lib/netcoreapp3.1/Microsoft.VisualStudio.CodeCoverage.Shim.dll": {} } }, "Microsoft.Extensions.ApiDescription.Server/6.0.5": {}, + "Microsoft.Extensions.Configuration/8.0.0": { + "dependencies": { + "Microsoft.Extensions.Configuration.Abstractions": "8.0.0", + "Microsoft.Extensions.Primitives": "8.0.0" + } + }, + "Microsoft.Extensions.Configuration.Abstractions/8.0.0": { + "dependencies": { + "Microsoft.Extensions.Primitives": "8.0.0" + } + }, + "Microsoft.Extensions.Configuration.Binder/8.0.0": { + "dependencies": { + "Microsoft.Extensions.Configuration.Abstractions": "8.0.0" + } + }, + "Microsoft.Extensions.Configuration.CommandLine/8.0.0": { + "dependencies": { + "Microsoft.Extensions.Configuration": "8.0.0", + "Microsoft.Extensions.Configuration.Abstractions": "8.0.0" + } + }, + "Microsoft.Extensions.Configuration.EnvironmentVariables/8.0.0": { + "dependencies": { + "Microsoft.Extensions.Configuration": "8.0.0", + "Microsoft.Extensions.Configuration.Abstractions": "8.0.0" + } + }, + "Microsoft.Extensions.Configuration.FileExtensions/8.0.0": { + "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" + } + }, + "Microsoft.Extensions.Configuration.Json/8.0.0": { + "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" + } + }, + "Microsoft.Extensions.Configuration.UserSecrets/8.0.0": { + "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" + } + }, + "Microsoft.Extensions.DependencyInjection/8.0.0": { + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0" + } + }, "Microsoft.Extensions.DependencyInjection.Abstractions/8.0.0": {}, - "Microsoft.Extensions.Logging.Abstractions/7.0.1": {}, + "Microsoft.Extensions.DependencyModel/8.0.0": { + "dependencies": { + "System.Text.Encodings.Web": "8.0.0", + "System.Text.Json": "8.0.0" + }, + "runtime": { + "lib/net8.0/Microsoft.Extensions.DependencyModel.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.23.53103" + } + }, + "compile": { + "lib/net8.0/Microsoft.Extensions.DependencyModel.dll": {} + } + }, + "Microsoft.Extensions.Diagnostics/8.0.0": { + "dependencies": { + "Microsoft.Extensions.Configuration": "8.0.0", + "Microsoft.Extensions.Diagnostics.Abstractions": "8.0.0", + "Microsoft.Extensions.Options.ConfigurationExtensions": "8.0.0" + } + }, + "Microsoft.Extensions.Diagnostics.Abstractions/8.0.0": { + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0", + "Microsoft.Extensions.Options": "8.0.0", + "System.Diagnostics.DiagnosticSource": "8.0.0" + } + }, + "Microsoft.Extensions.FileProviders.Abstractions/8.0.0": { + "dependencies": { + "Microsoft.Extensions.Primitives": "8.0.0" + } + }, + "Microsoft.Extensions.FileProviders.Physical/8.0.0": { + "dependencies": { + "Microsoft.Extensions.FileProviders.Abstractions": "8.0.0", + "Microsoft.Extensions.FileSystemGlobbing": "8.0.0", + "Microsoft.Extensions.Primitives": "8.0.0" + } + }, + "Microsoft.Extensions.FileSystemGlobbing/8.0.0": {}, + "Microsoft.Extensions.Hosting/8.0.0": { + "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" + } + }, + "Microsoft.Extensions.Hosting.Abstractions/8.0.0": { + "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" + } + }, + "Microsoft.Extensions.Logging/8.0.0": { + "dependencies": { + "Microsoft.Extensions.DependencyInjection": "8.0.0", + "Microsoft.Extensions.Logging.Abstractions": "8.0.0", + "Microsoft.Extensions.Options": "8.0.0" + } + }, + "Microsoft.Extensions.Logging.Abstractions/8.0.0": { + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0" + } + }, + "Microsoft.Extensions.Logging.Configuration/8.0.0": { + "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" + } + }, + "Microsoft.Extensions.Logging.Console/8.0.0": { + "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" + } + }, + "Microsoft.Extensions.Logging.Debug/8.0.0": { + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0", + "Microsoft.Extensions.Logging": "8.0.0", + "Microsoft.Extensions.Logging.Abstractions": "8.0.0" + } + }, + "Microsoft.Extensions.Logging.EventLog/8.0.0": { + "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" + } + }, + "Microsoft.Extensions.Logging.EventSource/8.0.0": { + "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" + } + }, + "Microsoft.Extensions.Options/8.0.0": { + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0", + "Microsoft.Extensions.Primitives": "8.0.0" + } + }, + "Microsoft.Extensions.Options.ConfigurationExtensions/8.0.0": { + "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" + } + }, + "Microsoft.Extensions.Primitives/8.0.0": {}, + "Microsoft.NET.Test.Sdk/17.9.0": { + "dependencies": { + "Microsoft.CodeCoverage": "17.9.0", + "Microsoft.TestPlatform.TestHost": "17.9.0" + } + }, "Microsoft.OpenApi/1.2.3": { "runtime": { "lib/netstandard2.0/Microsoft.OpenApi.dll": { "assemblyVersion": "1.2.3.0", "fileVersion": "1.2.3.0" } + }, + "compile": { + "lib/netstandard2.0/Microsoft.OpenApi.dll": {} + } + }, + "Microsoft.Testing.Extensions.Telemetry/1.1.0": { + "dependencies": { + "Microsoft.ApplicationInsights": "2.22.0", + "Microsoft.Testing.Platform": "1.1.0" + }, + "runtime": { + "lib/net8.0/Microsoft.Testing.Extensions.Telemetry.dll": { + "assemblyVersion": "1.1.0.0", + "fileVersion": "1.100.24.20301" + } + }, + "resources": { + "lib/net8.0/cs/Microsoft.Testing.Extensions.Telemetry.resources.dll": { + "locale": "cs" + }, + "lib/net8.0/de/Microsoft.Testing.Extensions.Telemetry.resources.dll": { + "locale": "de" + }, + "lib/net8.0/es/Microsoft.Testing.Extensions.Telemetry.resources.dll": { + "locale": "es" + }, + "lib/net8.0/fr/Microsoft.Testing.Extensions.Telemetry.resources.dll": { + "locale": "fr" + }, + "lib/net8.0/it/Microsoft.Testing.Extensions.Telemetry.resources.dll": { + "locale": "it" + }, + "lib/net8.0/ja/Microsoft.Testing.Extensions.Telemetry.resources.dll": { + "locale": "ja" + }, + "lib/net8.0/ko/Microsoft.Testing.Extensions.Telemetry.resources.dll": { + "locale": "ko" + }, + "lib/net8.0/pl/Microsoft.Testing.Extensions.Telemetry.resources.dll": { + "locale": "pl" + }, + "lib/net8.0/pt-BR/Microsoft.Testing.Extensions.Telemetry.resources.dll": { + "locale": "pt-BR" + }, + "lib/net8.0/ru/Microsoft.Testing.Extensions.Telemetry.resources.dll": { + "locale": "ru" + }, + "lib/net8.0/tr/Microsoft.Testing.Extensions.Telemetry.resources.dll": { + "locale": "tr" + }, + "lib/net8.0/zh-Hans/Microsoft.Testing.Extensions.Telemetry.resources.dll": { + "locale": "zh-Hans" + }, + "lib/net8.0/zh-Hant/Microsoft.Testing.Extensions.Telemetry.resources.dll": { + "locale": "zh-Hant" + } + }, + "compile": { + "lib/net8.0/Microsoft.Testing.Extensions.Telemetry.dll": {} + } + }, + "Microsoft.Testing.Extensions.TrxReport.Abstractions/1.1.0": { + "dependencies": { + "Microsoft.Testing.Platform": "1.1.0" + }, + "runtime": { + "lib/net8.0/Microsoft.Testing.Extensions.TrxReport.Abstractions.dll": { + "assemblyVersion": "1.1.0.0", + "fileVersion": "1.100.24.20301" + } + }, + "compile": { + "lib/net8.0/Microsoft.Testing.Extensions.TrxReport.Abstractions.dll": {} + } + }, + "Microsoft.Testing.Extensions.VSTestBridge/1.1.0": { + "dependencies": { + "Microsoft.TestPlatform.ObjectModel": "17.9.0", + "Microsoft.Testing.Extensions.Telemetry": "1.1.0", + "Microsoft.Testing.Extensions.TrxReport.Abstractions": "1.1.0", + "Microsoft.Testing.Platform": "1.1.0" + }, + "runtime": { + "lib/net8.0/Microsoft.Testing.Extensions.VSTestBridge.dll": { + "assemblyVersion": "1.1.0.0", + "fileVersion": "1.100.24.20301" + } + }, + "resources": { + "lib/net8.0/cs/Microsoft.Testing.Extensions.VSTestBridge.resources.dll": { + "locale": "cs" + }, + "lib/net8.0/de/Microsoft.Testing.Extensions.VSTestBridge.resources.dll": { + "locale": "de" + }, + "lib/net8.0/es/Microsoft.Testing.Extensions.VSTestBridge.resources.dll": { + "locale": "es" + }, + "lib/net8.0/fr/Microsoft.Testing.Extensions.VSTestBridge.resources.dll": { + "locale": "fr" + }, + "lib/net8.0/it/Microsoft.Testing.Extensions.VSTestBridge.resources.dll": { + "locale": "it" + }, + "lib/net8.0/ja/Microsoft.Testing.Extensions.VSTestBridge.resources.dll": { + "locale": "ja" + }, + "lib/net8.0/ko/Microsoft.Testing.Extensions.VSTestBridge.resources.dll": { + "locale": "ko" + }, + "lib/net8.0/pl/Microsoft.Testing.Extensions.VSTestBridge.resources.dll": { + "locale": "pl" + }, + "lib/net8.0/pt-BR/Microsoft.Testing.Extensions.VSTestBridge.resources.dll": { + "locale": "pt-BR" + }, + "lib/net8.0/ru/Microsoft.Testing.Extensions.VSTestBridge.resources.dll": { + "locale": "ru" + }, + "lib/net8.0/tr/Microsoft.Testing.Extensions.VSTestBridge.resources.dll": { + "locale": "tr" + }, + "lib/net8.0/zh-Hans/Microsoft.Testing.Extensions.VSTestBridge.resources.dll": { + "locale": "zh-Hans" + }, + "lib/net8.0/zh-Hant/Microsoft.Testing.Extensions.VSTestBridge.resources.dll": { + "locale": "zh-Hant" + } + }, + "compile": { + "lib/net8.0/Microsoft.Testing.Extensions.VSTestBridge.dll": {} + } + }, + "Microsoft.Testing.Platform/1.1.0": { + "runtime": { + "lib/net8.0/Microsoft.Testing.Platform.dll": { + "assemblyVersion": "1.1.0.0", + "fileVersion": "1.100.24.20301" + } + }, + "resources": { + "lib/net8.0/cs/Microsoft.Testing.Platform.resources.dll": { + "locale": "cs" + }, + "lib/net8.0/de/Microsoft.Testing.Platform.resources.dll": { + "locale": "de" + }, + "lib/net8.0/es/Microsoft.Testing.Platform.resources.dll": { + "locale": "es" + }, + "lib/net8.0/fr/Microsoft.Testing.Platform.resources.dll": { + "locale": "fr" + }, + "lib/net8.0/it/Microsoft.Testing.Platform.resources.dll": { + "locale": "it" + }, + "lib/net8.0/ja/Microsoft.Testing.Platform.resources.dll": { + "locale": "ja" + }, + "lib/net8.0/ko/Microsoft.Testing.Platform.resources.dll": { + "locale": "ko" + }, + "lib/net8.0/pl/Microsoft.Testing.Platform.resources.dll": { + "locale": "pl" + }, + "lib/net8.0/pt-BR/Microsoft.Testing.Platform.resources.dll": { + "locale": "pt-BR" + }, + "lib/net8.0/ru/Microsoft.Testing.Platform.resources.dll": { + "locale": "ru" + }, + "lib/net8.0/tr/Microsoft.Testing.Platform.resources.dll": { + "locale": "tr" + }, + "lib/net8.0/zh-Hans/Microsoft.Testing.Platform.resources.dll": { + "locale": "zh-Hans" + }, + "lib/net8.0/zh-Hant/Microsoft.Testing.Platform.resources.dll": { + "locale": "zh-Hant" + } + }, + "compile": { + "lib/net8.0/Microsoft.Testing.Platform.dll": {} + } + }, + "Microsoft.Testing.Platform.MSBuild/1.1.0": { + "dependencies": { + "Microsoft.Testing.Platform": "1.1.0" + }, + "runtime": { + "lib/net8.0/Microsoft.Testing.Platform.MSBuild.dll": { + "assemblyVersion": "1.1.0.0", + "fileVersion": "1.100.24.20301" + } + }, + "resources": { + "lib/net8.0/cs/Microsoft.Testing.Platform.MSBuild.resources.dll": { + "locale": "cs" + }, + "lib/net8.0/de/Microsoft.Testing.Platform.MSBuild.resources.dll": { + "locale": "de" + }, + "lib/net8.0/es/Microsoft.Testing.Platform.MSBuild.resources.dll": { + "locale": "es" + }, + "lib/net8.0/fr/Microsoft.Testing.Platform.MSBuild.resources.dll": { + "locale": "fr" + }, + "lib/net8.0/it/Microsoft.Testing.Platform.MSBuild.resources.dll": { + "locale": "it" + }, + "lib/net8.0/ja/Microsoft.Testing.Platform.MSBuild.resources.dll": { + "locale": "ja" + }, + "lib/net8.0/ko/Microsoft.Testing.Platform.MSBuild.resources.dll": { + "locale": "ko" + }, + "lib/net8.0/pl/Microsoft.Testing.Platform.MSBuild.resources.dll": { + "locale": "pl" + }, + "lib/net8.0/pt-BR/Microsoft.Testing.Platform.MSBuild.resources.dll": { + "locale": "pt-BR" + }, + "lib/net8.0/ru/Microsoft.Testing.Platform.MSBuild.resources.dll": { + "locale": "ru" + }, + "lib/net8.0/tr/Microsoft.Testing.Platform.MSBuild.resources.dll": { + "locale": "tr" + }, + "lib/net8.0/zh-Hans/Microsoft.Testing.Platform.MSBuild.resources.dll": { + "locale": "zh-Hans" + }, + "lib/net8.0/zh-Hant/Microsoft.Testing.Platform.MSBuild.resources.dll": { + "locale": "zh-Hant" + } + }, + "compile": { + "lib/net8.0/Microsoft.Testing.Platform.MSBuild.dll": {} + } + }, + "Microsoft.TestPlatform.ObjectModel/17.9.0": { + "dependencies": { + "System.Reflection.Metadata": "1.6.0" + }, + "runtime": { + "lib/netcoreapp3.1/Microsoft.TestPlatform.CoreUtilities.dll": { + "assemblyVersion": "15.0.0.0", + "fileVersion": "17.900.24.10602" + }, + "lib/netcoreapp3.1/Microsoft.TestPlatform.PlatformAbstractions.dll": { + "assemblyVersion": "15.0.0.0", + "fileVersion": "17.900.24.10602" + }, + "lib/netcoreapp3.1/Microsoft.VisualStudio.TestPlatform.ObjectModel.dll": { + "assemblyVersion": "15.0.0.0", + "fileVersion": "17.900.24.10602" + } + }, + "resources": { + "lib/netcoreapp3.1/cs/Microsoft.TestPlatform.CoreUtilities.resources.dll": { + "locale": "cs" + }, + "lib/netcoreapp3.1/cs/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll": { + "locale": "cs" + }, + "lib/netcoreapp3.1/de/Microsoft.TestPlatform.CoreUtilities.resources.dll": { + "locale": "de" + }, + "lib/netcoreapp3.1/de/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll": { + "locale": "de" + }, + "lib/netcoreapp3.1/es/Microsoft.TestPlatform.CoreUtilities.resources.dll": { + "locale": "es" + }, + "lib/netcoreapp3.1/es/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll": { + "locale": "es" + }, + "lib/netcoreapp3.1/fr/Microsoft.TestPlatform.CoreUtilities.resources.dll": { + "locale": "fr" + }, + "lib/netcoreapp3.1/fr/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll": { + "locale": "fr" + }, + "lib/netcoreapp3.1/it/Microsoft.TestPlatform.CoreUtilities.resources.dll": { + "locale": "it" + }, + "lib/netcoreapp3.1/it/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll": { + "locale": "it" + }, + "lib/netcoreapp3.1/ja/Microsoft.TestPlatform.CoreUtilities.resources.dll": { + "locale": "ja" + }, + "lib/netcoreapp3.1/ja/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll": { + "locale": "ja" + }, + "lib/netcoreapp3.1/ko/Microsoft.TestPlatform.CoreUtilities.resources.dll": { + "locale": "ko" + }, + "lib/netcoreapp3.1/ko/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll": { + "locale": "ko" + }, + "lib/netcoreapp3.1/pl/Microsoft.TestPlatform.CoreUtilities.resources.dll": { + "locale": "pl" + }, + "lib/netcoreapp3.1/pl/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll": { + "locale": "pl" + }, + "lib/netcoreapp3.1/pt-BR/Microsoft.TestPlatform.CoreUtilities.resources.dll": { + "locale": "pt-BR" + }, + "lib/netcoreapp3.1/pt-BR/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll": { + "locale": "pt-BR" + }, + "lib/netcoreapp3.1/ru/Microsoft.TestPlatform.CoreUtilities.resources.dll": { + "locale": "ru" + }, + "lib/netcoreapp3.1/ru/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll": { + "locale": "ru" + }, + "lib/netcoreapp3.1/tr/Microsoft.TestPlatform.CoreUtilities.resources.dll": { + "locale": "tr" + }, + "lib/netcoreapp3.1/tr/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll": { + "locale": "tr" + }, + "lib/netcoreapp3.1/zh-Hans/Microsoft.TestPlatform.CoreUtilities.resources.dll": { + "locale": "zh-Hans" + }, + "lib/netcoreapp3.1/zh-Hans/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll": { + "locale": "zh-Hans" + }, + "lib/netcoreapp3.1/zh-Hant/Microsoft.TestPlatform.CoreUtilities.resources.dll": { + "locale": "zh-Hant" + }, + "lib/netcoreapp3.1/zh-Hant/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll": { + "locale": "zh-Hant" + } + }, + "compile": { + "lib/netcoreapp3.1/Microsoft.TestPlatform.CoreUtilities.dll": {}, + "lib/netcoreapp3.1/Microsoft.TestPlatform.PlatformAbstractions.dll": {}, + "lib/netcoreapp3.1/Microsoft.VisualStudio.TestPlatform.ObjectModel.dll": {} + } + }, + "Microsoft.TestPlatform.TestHost/17.9.0": { + "dependencies": { + "Microsoft.TestPlatform.ObjectModel": "17.9.0", + "Newtonsoft.Json": "13.0.1" + }, + "runtime": { + "lib/netcoreapp3.1/Microsoft.TestPlatform.CommunicationUtilities.dll": { + "assemblyVersion": "15.0.0.0", + "fileVersion": "17.900.24.10602" + }, + "lib/netcoreapp3.1/Microsoft.TestPlatform.CrossPlatEngine.dll": { + "assemblyVersion": "15.0.0.0", + "fileVersion": "17.900.24.10602" + }, + "lib/netcoreapp3.1/Microsoft.TestPlatform.Utilities.dll": { + "assemblyVersion": "15.0.0.0", + "fileVersion": "17.900.24.10602" + }, + "lib/netcoreapp3.1/Microsoft.VisualStudio.TestPlatform.Common.dll": { + "assemblyVersion": "15.0.0.0", + "fileVersion": "17.900.24.10602" + }, + "lib/netcoreapp3.1/testhost.dll": { + "assemblyVersion": "15.0.0.0", + "fileVersion": "17.900.24.10602" + } + }, + "resources": { + "lib/netcoreapp3.1/cs/Microsoft.TestPlatform.CommunicationUtilities.resources.dll": { + "locale": "cs" + }, + "lib/netcoreapp3.1/cs/Microsoft.TestPlatform.CrossPlatEngine.resources.dll": { + "locale": "cs" + }, + "lib/netcoreapp3.1/cs/Microsoft.VisualStudio.TestPlatform.Common.resources.dll": { + "locale": "cs" + }, + "lib/netcoreapp3.1/de/Microsoft.TestPlatform.CommunicationUtilities.resources.dll": { + "locale": "de" + }, + "lib/netcoreapp3.1/de/Microsoft.TestPlatform.CrossPlatEngine.resources.dll": { + "locale": "de" + }, + "lib/netcoreapp3.1/de/Microsoft.VisualStudio.TestPlatform.Common.resources.dll": { + "locale": "de" + }, + "lib/netcoreapp3.1/es/Microsoft.TestPlatform.CommunicationUtilities.resources.dll": { + "locale": "es" + }, + "lib/netcoreapp3.1/es/Microsoft.TestPlatform.CrossPlatEngine.resources.dll": { + "locale": "es" + }, + "lib/netcoreapp3.1/es/Microsoft.VisualStudio.TestPlatform.Common.resources.dll": { + "locale": "es" + }, + "lib/netcoreapp3.1/fr/Microsoft.TestPlatform.CommunicationUtilities.resources.dll": { + "locale": "fr" + }, + "lib/netcoreapp3.1/fr/Microsoft.TestPlatform.CrossPlatEngine.resources.dll": { + "locale": "fr" + }, + "lib/netcoreapp3.1/fr/Microsoft.VisualStudio.TestPlatform.Common.resources.dll": { + "locale": "fr" + }, + "lib/netcoreapp3.1/it/Microsoft.TestPlatform.CommunicationUtilities.resources.dll": { + "locale": "it" + }, + "lib/netcoreapp3.1/it/Microsoft.TestPlatform.CrossPlatEngine.resources.dll": { + "locale": "it" + }, + "lib/netcoreapp3.1/it/Microsoft.VisualStudio.TestPlatform.Common.resources.dll": { + "locale": "it" + }, + "lib/netcoreapp3.1/ja/Microsoft.TestPlatform.CommunicationUtilities.resources.dll": { + "locale": "ja" + }, + "lib/netcoreapp3.1/ja/Microsoft.TestPlatform.CrossPlatEngine.resources.dll": { + "locale": "ja" + }, + "lib/netcoreapp3.1/ja/Microsoft.VisualStudio.TestPlatform.Common.resources.dll": { + "locale": "ja" + }, + "lib/netcoreapp3.1/ko/Microsoft.TestPlatform.CommunicationUtilities.resources.dll": { + "locale": "ko" + }, + "lib/netcoreapp3.1/ko/Microsoft.TestPlatform.CrossPlatEngine.resources.dll": { + "locale": "ko" + }, + "lib/netcoreapp3.1/ko/Microsoft.VisualStudio.TestPlatform.Common.resources.dll": { + "locale": "ko" + }, + "lib/netcoreapp3.1/pl/Microsoft.TestPlatform.CommunicationUtilities.resources.dll": { + "locale": "pl" + }, + "lib/netcoreapp3.1/pl/Microsoft.TestPlatform.CrossPlatEngine.resources.dll": { + "locale": "pl" + }, + "lib/netcoreapp3.1/pl/Microsoft.VisualStudio.TestPlatform.Common.resources.dll": { + "locale": "pl" + }, + "lib/netcoreapp3.1/pt-BR/Microsoft.TestPlatform.CommunicationUtilities.resources.dll": { + "locale": "pt-BR" + }, + "lib/netcoreapp3.1/pt-BR/Microsoft.TestPlatform.CrossPlatEngine.resources.dll": { + "locale": "pt-BR" + }, + "lib/netcoreapp3.1/pt-BR/Microsoft.VisualStudio.TestPlatform.Common.resources.dll": { + "locale": "pt-BR" + }, + "lib/netcoreapp3.1/ru/Microsoft.TestPlatform.CommunicationUtilities.resources.dll": { + "locale": "ru" + }, + "lib/netcoreapp3.1/ru/Microsoft.TestPlatform.CrossPlatEngine.resources.dll": { + "locale": "ru" + }, + "lib/netcoreapp3.1/ru/Microsoft.VisualStudio.TestPlatform.Common.resources.dll": { + "locale": "ru" + }, + "lib/netcoreapp3.1/tr/Microsoft.TestPlatform.CommunicationUtilities.resources.dll": { + "locale": "tr" + }, + "lib/netcoreapp3.1/tr/Microsoft.TestPlatform.CrossPlatEngine.resources.dll": { + "locale": "tr" + }, + "lib/netcoreapp3.1/tr/Microsoft.VisualStudio.TestPlatform.Common.resources.dll": { + "locale": "tr" + }, + "lib/netcoreapp3.1/zh-Hans/Microsoft.TestPlatform.CommunicationUtilities.resources.dll": { + "locale": "zh-Hans" + }, + "lib/netcoreapp3.1/zh-Hans/Microsoft.TestPlatform.CrossPlatEngine.resources.dll": { + "locale": "zh-Hans" + }, + "lib/netcoreapp3.1/zh-Hans/Microsoft.VisualStudio.TestPlatform.Common.resources.dll": { + "locale": "zh-Hans" + }, + "lib/netcoreapp3.1/zh-Hant/Microsoft.TestPlatform.CommunicationUtilities.resources.dll": { + "locale": "zh-Hant" + }, + "lib/netcoreapp3.1/zh-Hant/Microsoft.TestPlatform.CrossPlatEngine.resources.dll": { + "locale": "zh-Hant" + }, + "lib/netcoreapp3.1/zh-Hant/Microsoft.VisualStudio.TestPlatform.Common.resources.dll": { + "locale": "zh-Hant" + } + }, + "compile": { + "lib/netcoreapp3.1/Microsoft.TestPlatform.CommunicationUtilities.dll": {}, + "lib/netcoreapp3.1/Microsoft.TestPlatform.CoreUtilities.dll": {}, + "lib/netcoreapp3.1/Microsoft.TestPlatform.CrossPlatEngine.dll": {}, + "lib/netcoreapp3.1/Microsoft.TestPlatform.PlatformAbstractions.dll": {}, + "lib/netcoreapp3.1/Microsoft.TestPlatform.Utilities.dll": {}, + "lib/netcoreapp3.1/Microsoft.VisualStudio.TestPlatform.Common.dll": {}, + "lib/netcoreapp3.1/Microsoft.VisualStudio.TestPlatform.ObjectModel.dll": {}, + "lib/netcoreapp3.1/testhost.dll": {} } }, "Microsoft.VisualStudio.Azure.Containers.Tools.Targets/1.19.6": {}, + "MSTest.TestAdapter/3.3.1": { + "dependencies": { + "Microsoft.Testing.Extensions.VSTestBridge": "1.1.0", + "Microsoft.Testing.Platform.MSBuild": "1.1.0" + } + }, + "MSTest.TestFramework/3.3.1": { + "runtime": { + "lib/net8.0/Microsoft.VisualStudio.TestPlatform.TestFramework.dll": { + "assemblyVersion": "14.0.0.0", + "fileVersion": "3.300.124.20402" + } + }, + "resources": { + "lib/net8.0/cs/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll": { + "locale": "cs" + }, + "lib/net8.0/de/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll": { + "locale": "de" + }, + "lib/net8.0/es/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll": { + "locale": "es" + }, + "lib/net8.0/fr/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll": { + "locale": "fr" + }, + "lib/net8.0/it/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll": { + "locale": "it" + }, + "lib/net8.0/ja/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll": { + "locale": "ja" + }, + "lib/net8.0/ko/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll": { + "locale": "ko" + }, + "lib/net8.0/pl/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll": { + "locale": "pl" + }, + "lib/net8.0/pt-BR/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll": { + "locale": "pt-BR" + }, + "lib/net8.0/ru/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll": { + "locale": "ru" + }, + "lib/net8.0/tr/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll": { + "locale": "tr" + }, + "lib/net8.0/zh-Hans/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll": { + "locale": "zh-Hans" + }, + "lib/net8.0/zh-Hant/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll": { + "locale": "zh-Hant" + } + }, + "compile": { + "lib/net8.0/Microsoft.VisualStudio.TestPlatform.TestFramework.dll": {} + } + }, "MySqlConnector/2.3.5": { "dependencies": { - "Microsoft.Extensions.Logging.Abstractions": "7.0.1" + "Microsoft.Extensions.Logging.Abstractions": "8.0.0" }, "runtime": { "lib/net8.0/MySqlConnector.dll": { "assemblyVersion": "2.0.0.0", "fileVersion": "2.3.5.0" } + }, + "compile": { + "lib/net8.0/MySqlConnector.dll": {} } }, "MySqlConnector.DependencyInjection/2.3.5": { @@ -50,6 +1221,20 @@ "assemblyVersion": "2.0.0.0", "fileVersion": "2.3.5.0" } + }, + "compile": { + "lib/net7.0/MySqlConnector.DependencyInjection.dll": {} + } + }, + "Newtonsoft.Json/13.0.1": { + "runtime": { + "lib/netstandard2.0/Newtonsoft.Json.dll": { + "assemblyVersion": "13.0.0.0", + "fileVersion": "13.0.1.25517" + } + }, + "compile": { + "lib/netstandard2.0/Newtonsoft.Json.dll": {} } }, "Swashbuckle.AspNetCore/6.5.0": { @@ -69,6 +1254,9 @@ "assemblyVersion": "6.5.0.0", "fileVersion": "6.5.0.0" } + }, + "compile": { + "lib/net7.0/Swashbuckle.AspNetCore.Swagger.dll": {} } }, "Swashbuckle.AspNetCore.SwaggerGen/6.5.0": { @@ -80,6 +1268,9 @@ "assemblyVersion": "6.5.0.0", "fileVersion": "6.5.0.0" } + }, + "compile": { + "lib/net7.0/Swashbuckle.AspNetCore.SwaggerGen.dll": {} } }, "Swashbuckle.AspNetCore.SwaggerUI/6.5.0": { @@ -88,92 +1279,3800 @@ "assemblyVersion": "6.5.0.0", "fileVersion": "6.5.0.0" } + }, + "compile": { + "lib/net7.0/Swashbuckle.AspNetCore.SwaggerUI.dll": {} } - } - } - }, - "libraries": { - "Chemistry Cafe API/1.0.0": { - "type": "project", - "serviceable": false, - "sha512": "" - }, - "Microsoft.Extensions.ApiDescription.Server/6.0.5": { - "type": "package", - "serviceable": true, - "sha512": "sha512-Ckb5EDBUNJdFWyajfXzUIMRkhf52fHZOQuuZg/oiu8y7zDCVwD0iHhew6MnThjHmevanpxL3f5ci2TtHQEN6bw==", - "path": "microsoft.extensions.apidescription.server/6.0.5", - "hashPath": "microsoft.extensions.apidescription.server.6.0.5.nupkg.sha512" - }, - "Microsoft.Extensions.DependencyInjection.Abstractions/8.0.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-cjWrLkJXK0rs4zofsK4bSdg+jhDLTaxrkXu4gS6Y7MAlCvRyNNgwY/lJi5RDlQOnSZweHqoyvgvbdvQsRIW+hg==", - "path": "microsoft.extensions.dependencyinjection.abstractions/8.0.0", - "hashPath": "microsoft.extensions.dependencyinjection.abstractions.8.0.0.nupkg.sha512" - }, - "Microsoft.Extensions.Logging.Abstractions/7.0.1": { - "type": "package", - "serviceable": true, - "sha512": "sha512-pkeBFx0vqMW/A3aUVHh7MPu3WkBhaVlezhSZeb1c9XD0vUReYH1TLFSy5MxJgZfmz5LZzYoErMorlYZiwpOoNA==", - "path": "microsoft.extensions.logging.abstractions/7.0.1", - "hashPath": "microsoft.extensions.logging.abstractions.7.0.1.nupkg.sha512" - }, - "Microsoft.OpenApi/1.2.3": { - "type": "package", - "serviceable": true, - "sha512": "sha512-Nug3rO+7Kl5/SBAadzSMAVgqDlfGjJZ0GenQrLywJ84XGKO0uRqkunz5Wyl0SDwcR71bAATXvSdbdzPrYRYKGw==", - "path": "microsoft.openapi/1.2.3", - "hashPath": "microsoft.openapi.1.2.3.nupkg.sha512" - }, - "Microsoft.VisualStudio.Azure.Containers.Tools.Targets/1.19.6": { - "type": "package", - "serviceable": true, - "sha512": "sha512-7GOQdMzQcH7o/bPFL/I2kQEgMnq2pYZ+exhGb9nNqs624K9w2jB2zieh4sOH9+a01i/G9iTWfeUI3IGMF7SKNg==", - "path": "microsoft.visualstudio.azure.containers.tools.targets/1.19.6", - "hashPath": "microsoft.visualstudio.azure.containers.tools.targets.1.19.6.nupkg.sha512" - }, - "MySqlConnector/2.3.5": { - "type": "package", - "serviceable": true, - "sha512": "sha512-AmEfUPkFl+Ev6jJ8Dhns3CYHBfD12RHzGYWuLt6DfG6/af6YvOMyPz74ZPPjBYQGRJkumD2Z48Kqm8s5DJuhLA==", - "path": "mysqlconnector/2.3.5", - "hashPath": "mysqlconnector.2.3.5.nupkg.sha512" - }, - "MySqlConnector.DependencyInjection/2.3.5": { - "type": "package", - "serviceable": true, - "sha512": "sha512-DZ8cSOWyA/OH0T2CCV7L7Cq3ns8KDDQPgGYH8L7322096ACjsmjkb5+aRmZ3ZSvL7dbCtizpi6KqVpafRxrKRg==", - "path": "mysqlconnector.dependencyinjection/2.3.5", - "hashPath": "mysqlconnector.dependencyinjection.2.3.5.nupkg.sha512" - }, - "Swashbuckle.AspNetCore/6.5.0": { + }, + "System.Diagnostics.DiagnosticSource/8.0.0": {}, + "System.Diagnostics.EventLog/8.0.0": {}, + "System.IO.Pipelines/8.0.0": {}, + "System.Reflection.Metadata/1.6.0": {}, + "System.Text.Encodings.Web/8.0.0": {}, + "System.Text.Json/8.0.0": { + "dependencies": { + "System.Text.Encodings.Web": "8.0.0" + } + }, + "xunit.abstractions/2.0.3": { + "runtime": { + "lib/netstandard2.0/xunit.abstractions.dll": { + "assemblyVersion": "2.0.0.0", + "fileVersion": "2.0.0.0" + } + }, + "compile": { + "lib/netstandard2.0/xunit.abstractions.dll": {} + } + }, + "xunit.extensibility.core/2.7.1": { + "dependencies": { + "xunit.abstractions": "2.0.3" + }, + "runtime": { + "lib/netstandard1.1/xunit.core.dll": { + "assemblyVersion": "2.7.1.0", + "fileVersion": "2.7.1.0" + } + }, + "compile": { + "lib/netstandard1.1/xunit.core.dll": {} + } + }, + "Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions/14.0.0.0": { + "runtime": { + "Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.dll": { + "assemblyVersion": "14.0.0.0", + "fileVersion": "3.300.124.20402" + } + }, + "compile": { + "Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.dll": {} + } + }, + "Microsoft.AspNetCore.Antiforgery/8.0.0.0": { + "compile": { + "Microsoft.AspNetCore.Antiforgery.dll": {} + }, + "compileOnly": true + }, + "Microsoft.AspNetCore.Authentication.Abstractions/8.0.0.0": { + "compile": { + "Microsoft.AspNetCore.Authentication.Abstractions.dll": {} + }, + "compileOnly": true + }, + "Microsoft.AspNetCore.Authentication.BearerToken/8.0.0.0": { + "compile": { + "Microsoft.AspNetCore.Authentication.BearerToken.dll": {} + }, + "compileOnly": true + }, + "Microsoft.AspNetCore.Authentication.Cookies/8.0.0.0": { + "compile": { + "Microsoft.AspNetCore.Authentication.Cookies.dll": {} + }, + "compileOnly": true + }, + "Microsoft.AspNetCore.Authentication.Core/8.0.0.0": { + "compile": { + "Microsoft.AspNetCore.Authentication.Core.dll": {} + }, + "compileOnly": true + }, + "Microsoft.AspNetCore.Authentication/8.0.0.0": { + "compile": { + "Microsoft.AspNetCore.Authentication.dll": {} + }, + "compileOnly": true + }, + "Microsoft.AspNetCore.Authentication.OAuth/8.0.0.0": { + "compile": { + "Microsoft.AspNetCore.Authentication.OAuth.dll": {} + }, + "compileOnly": true + }, + "Microsoft.AspNetCore.Authorization/8.0.0.0": { + "compile": { + "Microsoft.AspNetCore.Authorization.dll": {} + }, + "compileOnly": true + }, + "Microsoft.AspNetCore.Authorization.Policy/8.0.0.0": { + "compile": { + "Microsoft.AspNetCore.Authorization.Policy.dll": {} + }, + "compileOnly": true + }, + "Microsoft.AspNetCore.Components.Authorization/8.0.0.0": { + "compile": { + "Microsoft.AspNetCore.Components.Authorization.dll": {} + }, + "compileOnly": true + }, + "Microsoft.AspNetCore.Components/8.0.0.0": { + "compile": { + "Microsoft.AspNetCore.Components.dll": {} + }, + "compileOnly": true + }, + "Microsoft.AspNetCore.Components.Endpoints/8.0.0.0": { + "compile": { + "Microsoft.AspNetCore.Components.Endpoints.dll": {} + }, + "compileOnly": true + }, + "Microsoft.AspNetCore.Components.Forms/8.0.0.0": { + "compile": { + "Microsoft.AspNetCore.Components.Forms.dll": {} + }, + "compileOnly": true + }, + "Microsoft.AspNetCore.Components.Server/8.0.0.0": { + "compile": { + "Microsoft.AspNetCore.Components.Server.dll": {} + }, + "compileOnly": true + }, + "Microsoft.AspNetCore.Components.Web/8.0.0.0": { + "compile": { + "Microsoft.AspNetCore.Components.Web.dll": {} + }, + "compileOnly": true + }, + "Microsoft.AspNetCore.Connections.Abstractions/8.0.0.0": { + "compile": { + "Microsoft.AspNetCore.Connections.Abstractions.dll": {} + }, + "compileOnly": true + }, + "Microsoft.AspNetCore.CookiePolicy/8.0.0.0": { + "compile": { + "Microsoft.AspNetCore.CookiePolicy.dll": {} + }, + "compileOnly": true + }, + "Microsoft.AspNetCore.Cors/8.0.0.0": { + "compile": { + "Microsoft.AspNetCore.Cors.dll": {} + }, + "compileOnly": true + }, + "Microsoft.AspNetCore.Cryptography.Internal/8.0.0.0": { + "compile": { + "Microsoft.AspNetCore.Cryptography.Internal.dll": {} + }, + "compileOnly": true + }, + "Microsoft.AspNetCore.Cryptography.KeyDerivation/8.0.0.0": { + "compile": { + "Microsoft.AspNetCore.Cryptography.KeyDerivation.dll": {} + }, + "compileOnly": true + }, + "Microsoft.AspNetCore.DataProtection.Abstractions/8.0.0.0": { + "compile": { + "Microsoft.AspNetCore.DataProtection.Abstractions.dll": {} + }, + "compileOnly": true + }, + "Microsoft.AspNetCore.DataProtection/8.0.0.0": { + "compile": { + "Microsoft.AspNetCore.DataProtection.dll": {} + }, + "compileOnly": true + }, + "Microsoft.AspNetCore.DataProtection.Extensions/8.0.0.0": { + "compile": { + "Microsoft.AspNetCore.DataProtection.Extensions.dll": {} + }, + "compileOnly": true + }, + "Microsoft.AspNetCore.Diagnostics.Abstractions/8.0.0.0": { + "compile": { + "Microsoft.AspNetCore.Diagnostics.Abstractions.dll": {} + }, + "compileOnly": true + }, + "Microsoft.AspNetCore.Diagnostics/8.0.0.0": { + "compile": { + "Microsoft.AspNetCore.Diagnostics.dll": {} + }, + "compileOnly": true + }, + "Microsoft.AspNetCore.Diagnostics.HealthChecks/8.0.0.0": { + "compile": { + "Microsoft.AspNetCore.Diagnostics.HealthChecks.dll": {} + }, + "compileOnly": true + }, + "Microsoft.AspNetCore/8.0.0.0": { + "compile": { + "Microsoft.AspNetCore.dll": {} + }, + "compileOnly": true + }, + "Microsoft.AspNetCore.HostFiltering/8.0.0.0": { + "compile": { + "Microsoft.AspNetCore.HostFiltering.dll": {} + }, + "compileOnly": true + }, + "Microsoft.AspNetCore.Hosting.Abstractions/8.0.0.0": { + "compile": { + "Microsoft.AspNetCore.Hosting.Abstractions.dll": {} + }, + "compileOnly": true + }, + "Microsoft.AspNetCore.Hosting/8.0.0.0": { + "compile": { + "Microsoft.AspNetCore.Hosting.dll": {} + }, + "compileOnly": true + }, + "Microsoft.AspNetCore.Hosting.Server.Abstractions/8.0.0.0": { + "compile": { + "Microsoft.AspNetCore.Hosting.Server.Abstractions.dll": {} + }, + "compileOnly": true + }, + "Microsoft.AspNetCore.Html.Abstractions/8.0.0.0": { + "compile": { + "Microsoft.AspNetCore.Html.Abstractions.dll": {} + }, + "compileOnly": true + }, + "Microsoft.AspNetCore.Http.Abstractions/8.0.0.0": { + "compile": { + "Microsoft.AspNetCore.Http.Abstractions.dll": {} + }, + "compileOnly": true + }, + "Microsoft.AspNetCore.Http.Connections.Common/8.0.0.0": { + "compile": { + "Microsoft.AspNetCore.Http.Connections.Common.dll": {} + }, + "compileOnly": true + }, + "Microsoft.AspNetCore.Http.Connections/8.0.0.0": { + "compile": { + "Microsoft.AspNetCore.Http.Connections.dll": {} + }, + "compileOnly": true + }, + "Microsoft.AspNetCore.Http/8.0.0.0": { + "compile": { + "Microsoft.AspNetCore.Http.dll": {} + }, + "compileOnly": true + }, + "Microsoft.AspNetCore.Http.Extensions/8.0.0.0": { + "compile": { + "Microsoft.AspNetCore.Http.Extensions.dll": {} + }, + "compileOnly": true + }, + "Microsoft.AspNetCore.Http.Features/8.0.0.0": { + "compile": { + "Microsoft.AspNetCore.Http.Features.dll": {} + }, + "compileOnly": true + }, + "Microsoft.AspNetCore.Http.Results/8.0.0.0": { + "compile": { + "Microsoft.AspNetCore.Http.Results.dll": {} + }, + "compileOnly": true + }, + "Microsoft.AspNetCore.HttpLogging/8.0.0.0": { + "compile": { + "Microsoft.AspNetCore.HttpLogging.dll": {} + }, + "compileOnly": true + }, + "Microsoft.AspNetCore.HttpOverrides/8.0.0.0": { + "compile": { + "Microsoft.AspNetCore.HttpOverrides.dll": {} + }, + "compileOnly": true + }, + "Microsoft.AspNetCore.HttpsPolicy/8.0.0.0": { + "compile": { + "Microsoft.AspNetCore.HttpsPolicy.dll": {} + }, + "compileOnly": true + }, + "Microsoft.AspNetCore.Identity/8.0.0.0": { + "compile": { + "Microsoft.AspNetCore.Identity.dll": {} + }, + "compileOnly": true + }, + "Microsoft.AspNetCore.Localization/8.0.0.0": { + "compile": { + "Microsoft.AspNetCore.Localization.dll": {} + }, + "compileOnly": true + }, + "Microsoft.AspNetCore.Localization.Routing/8.0.0.0": { + "compile": { + "Microsoft.AspNetCore.Localization.Routing.dll": {} + }, + "compileOnly": true + }, + "Microsoft.AspNetCore.Metadata/8.0.0.0": { + "compile": { + "Microsoft.AspNetCore.Metadata.dll": {} + }, + "compileOnly": true + }, + "Microsoft.AspNetCore.Mvc.Abstractions/8.0.0.0": { + "compile": { + "Microsoft.AspNetCore.Mvc.Abstractions.dll": {} + }, + "compileOnly": true + }, + "Microsoft.AspNetCore.Mvc.ApiExplorer/8.0.0.0": { + "compile": { + "Microsoft.AspNetCore.Mvc.ApiExplorer.dll": {} + }, + "compileOnly": true + }, + "Microsoft.AspNetCore.Mvc.Core/8.0.0.0": { + "compile": { + "Microsoft.AspNetCore.Mvc.Core.dll": {} + }, + "compileOnly": true + }, + "Microsoft.AspNetCore.Mvc.Cors/8.0.0.0": { + "compile": { + "Microsoft.AspNetCore.Mvc.Cors.dll": {} + }, + "compileOnly": true + }, + "Microsoft.AspNetCore.Mvc.DataAnnotations/8.0.0.0": { + "compile": { + "Microsoft.AspNetCore.Mvc.DataAnnotations.dll": {} + }, + "compileOnly": true + }, + "Microsoft.AspNetCore.Mvc/8.0.0.0": { + "compile": { + "Microsoft.AspNetCore.Mvc.dll": {} + }, + "compileOnly": true + }, + "Microsoft.AspNetCore.Mvc.Formatters.Json/8.0.0.0": { + "compile": { + "Microsoft.AspNetCore.Mvc.Formatters.Json.dll": {} + }, + "compileOnly": true + }, + "Microsoft.AspNetCore.Mvc.Formatters.Xml/8.0.0.0": { + "compile": { + "Microsoft.AspNetCore.Mvc.Formatters.Xml.dll": {} + }, + "compileOnly": true + }, + "Microsoft.AspNetCore.Mvc.Localization/8.0.0.0": { + "compile": { + "Microsoft.AspNetCore.Mvc.Localization.dll": {} + }, + "compileOnly": true + }, + "Microsoft.AspNetCore.Mvc.Razor/8.0.0.0": { + "compile": { + "Microsoft.AspNetCore.Mvc.Razor.dll": {} + }, + "compileOnly": true + }, + "Microsoft.AspNetCore.Mvc.RazorPages/8.0.0.0": { + "compile": { + "Microsoft.AspNetCore.Mvc.RazorPages.dll": {} + }, + "compileOnly": true + }, + "Microsoft.AspNetCore.Mvc.TagHelpers/8.0.0.0": { + "compile": { + "Microsoft.AspNetCore.Mvc.TagHelpers.dll": {} + }, + "compileOnly": true + }, + "Microsoft.AspNetCore.Mvc.ViewFeatures/8.0.0.0": { + "compile": { + "Microsoft.AspNetCore.Mvc.ViewFeatures.dll": {} + }, + "compileOnly": true + }, + "Microsoft.AspNetCore.OutputCaching/8.0.0.0": { + "compile": { + "Microsoft.AspNetCore.OutputCaching.dll": {} + }, + "compileOnly": true + }, + "Microsoft.AspNetCore.RateLimiting/8.0.0.0": { + "compile": { + "Microsoft.AspNetCore.RateLimiting.dll": {} + }, + "compileOnly": true + }, + "Microsoft.AspNetCore.Razor/8.0.0.0": { + "compile": { + "Microsoft.AspNetCore.Razor.dll": {} + }, + "compileOnly": true + }, + "Microsoft.AspNetCore.Razor.Runtime/8.0.0.0": { + "compile": { + "Microsoft.AspNetCore.Razor.Runtime.dll": {} + }, + "compileOnly": true + }, + "Microsoft.AspNetCore.RequestDecompression/8.0.0.0": { + "compile": { + "Microsoft.AspNetCore.RequestDecompression.dll": {} + }, + "compileOnly": true + }, + "Microsoft.AspNetCore.ResponseCaching.Abstractions/8.0.0.0": { + "compile": { + "Microsoft.AspNetCore.ResponseCaching.Abstractions.dll": {} + }, + "compileOnly": true + }, + "Microsoft.AspNetCore.ResponseCaching/8.0.0.0": { + "compile": { + "Microsoft.AspNetCore.ResponseCaching.dll": {} + }, + "compileOnly": true + }, + "Microsoft.AspNetCore.ResponseCompression/8.0.0.0": { + "compile": { + "Microsoft.AspNetCore.ResponseCompression.dll": {} + }, + "compileOnly": true + }, + "Microsoft.AspNetCore.Rewrite/8.0.0.0": { + "compile": { + "Microsoft.AspNetCore.Rewrite.dll": {} + }, + "compileOnly": true + }, + "Microsoft.AspNetCore.Routing.Abstractions/8.0.0.0": { + "compile": { + "Microsoft.AspNetCore.Routing.Abstractions.dll": {} + }, + "compileOnly": true + }, + "Microsoft.AspNetCore.Routing/8.0.0.0": { + "compile": { + "Microsoft.AspNetCore.Routing.dll": {} + }, + "compileOnly": true + }, + "Microsoft.AspNetCore.Server.HttpSys/8.0.0.0": { + "compile": { + "Microsoft.AspNetCore.Server.HttpSys.dll": {} + }, + "compileOnly": true + }, + "Microsoft.AspNetCore.Server.IIS/8.0.0.0": { + "compile": { + "Microsoft.AspNetCore.Server.IIS.dll": {} + }, + "compileOnly": true + }, + "Microsoft.AspNetCore.Server.IISIntegration/8.0.0.0": { + "compile": { + "Microsoft.AspNetCore.Server.IISIntegration.dll": {} + }, + "compileOnly": true + }, + "Microsoft.AspNetCore.Server.Kestrel.Core/8.0.0.0": { + "compile": { + "Microsoft.AspNetCore.Server.Kestrel.Core.dll": {} + }, + "compileOnly": true + }, + "Microsoft.AspNetCore.Server.Kestrel/8.0.0.0": { + "compile": { + "Microsoft.AspNetCore.Server.Kestrel.dll": {} + }, + "compileOnly": true + }, + "Microsoft.AspNetCore.Server.Kestrel.Transport.NamedPipes/8.0.0.0": { + "compile": { + "Microsoft.AspNetCore.Server.Kestrel.Transport.NamedPipes.dll": {} + }, + "compileOnly": true + }, + "Microsoft.AspNetCore.Server.Kestrel.Transport.Quic/8.0.0.0": { + "compile": { + "Microsoft.AspNetCore.Server.Kestrel.Transport.Quic.dll": {} + }, + "compileOnly": true + }, + "Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets/8.0.0.0": { + "compile": { + "Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.dll": {} + }, + "compileOnly": true + }, + "Microsoft.AspNetCore.Session/8.0.0.0": { + "compile": { + "Microsoft.AspNetCore.Session.dll": {} + }, + "compileOnly": true + }, + "Microsoft.AspNetCore.SignalR.Common/8.0.0.0": { + "compile": { + "Microsoft.AspNetCore.SignalR.Common.dll": {} + }, + "compileOnly": true + }, + "Microsoft.AspNetCore.SignalR.Core/8.0.0.0": { + "compile": { + "Microsoft.AspNetCore.SignalR.Core.dll": {} + }, + "compileOnly": true + }, + "Microsoft.AspNetCore.SignalR/8.0.0.0": { + "compile": { + "Microsoft.AspNetCore.SignalR.dll": {} + }, + "compileOnly": true + }, + "Microsoft.AspNetCore.SignalR.Protocols.Json/8.0.0.0": { + "compile": { + "Microsoft.AspNetCore.SignalR.Protocols.Json.dll": {} + }, + "compileOnly": true + }, + "Microsoft.AspNetCore.StaticFiles/8.0.0.0": { + "compile": { + "Microsoft.AspNetCore.StaticFiles.dll": {} + }, + "compileOnly": true + }, + "Microsoft.AspNetCore.WebSockets/8.0.0.0": { + "compile": { + "Microsoft.AspNetCore.WebSockets.dll": {} + }, + "compileOnly": true + }, + "Microsoft.AspNetCore.WebUtilities/8.0.0.0": { + "compile": { + "Microsoft.AspNetCore.WebUtilities.dll": {} + }, + "compileOnly": true + }, + "Microsoft.CSharp/8.0.0.0": { + "compile": { + "Microsoft.CSharp.dll": {} + }, + "compileOnly": true + }, + "Microsoft.Extensions.Caching.Abstractions/8.0.0.0": { + "compile": { + "Microsoft.Extensions.Caching.Abstractions.dll": {} + }, + "compileOnly": true + }, + "Microsoft.Extensions.Caching.Memory/8.0.0.0": { + "compile": { + "Microsoft.Extensions.Caching.Memory.dll": {} + }, + "compileOnly": true + }, + "Microsoft.Extensions.Configuration.Abstractions.Reference/8.0.0.0": { + "compile": { + "Microsoft.Extensions.Configuration.Abstractions.dll": {} + }, + "compileOnly": true + }, + "Microsoft.Extensions.Configuration.Binder.Reference/8.0.0.0": { + "compile": { + "Microsoft.Extensions.Configuration.Binder.dll": {} + }, + "compileOnly": true + }, + "Microsoft.Extensions.Configuration.CommandLine.Reference/8.0.0.0": { + "compile": { + "Microsoft.Extensions.Configuration.CommandLine.dll": {} + }, + "compileOnly": true + }, + "Microsoft.Extensions.Configuration.Reference/8.0.0.0": { + "compile": { + "Microsoft.Extensions.Configuration.dll": {} + }, + "compileOnly": true + }, + "Microsoft.Extensions.Configuration.EnvironmentVariables.Reference/8.0.0.0": { + "compile": { + "Microsoft.Extensions.Configuration.EnvironmentVariables.dll": {} + }, + "compileOnly": true + }, + "Microsoft.Extensions.Configuration.FileExtensions.Reference/8.0.0.0": { + "compile": { + "Microsoft.Extensions.Configuration.FileExtensions.dll": {} + }, + "compileOnly": true + }, + "Microsoft.Extensions.Configuration.Ini/8.0.0.0": { + "compile": { + "Microsoft.Extensions.Configuration.Ini.dll": {} + }, + "compileOnly": true + }, + "Microsoft.Extensions.Configuration.Json.Reference/8.0.0.0": { + "compile": { + "Microsoft.Extensions.Configuration.Json.dll": {} + }, + "compileOnly": true + }, + "Microsoft.Extensions.Configuration.KeyPerFile/8.0.0.0": { + "compile": { + "Microsoft.Extensions.Configuration.KeyPerFile.dll": {} + }, + "compileOnly": true + }, + "Microsoft.Extensions.Configuration.UserSecrets.Reference/8.0.0.0": { + "compile": { + "Microsoft.Extensions.Configuration.UserSecrets.dll": {} + }, + "compileOnly": true + }, + "Microsoft.Extensions.Configuration.Xml/8.0.0.0": { + "compile": { + "Microsoft.Extensions.Configuration.Xml.dll": {} + }, + "compileOnly": true + }, + "Microsoft.Extensions.DependencyInjection.Abstractions.Reference/8.0.0.0": { + "compile": { + "Microsoft.Extensions.DependencyInjection.Abstractions.dll": {} + }, + "compileOnly": true + }, + "Microsoft.Extensions.DependencyInjection.Reference/8.0.0.0": { + "compile": { + "Microsoft.Extensions.DependencyInjection.dll": {} + }, + "compileOnly": true + }, + "Microsoft.Extensions.Diagnostics.Abstractions.Reference/8.0.0.0": { + "compile": { + "Microsoft.Extensions.Diagnostics.Abstractions.dll": {} + }, + "compileOnly": true + }, + "Microsoft.Extensions.Diagnostics.Reference/8.0.0.0": { + "compile": { + "Microsoft.Extensions.Diagnostics.dll": {} + }, + "compileOnly": true + }, + "Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions/8.0.0.0": { + "compile": { + "Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions.dll": {} + }, + "compileOnly": true + }, + "Microsoft.Extensions.Diagnostics.HealthChecks/8.0.0.0": { + "compile": { + "Microsoft.Extensions.Diagnostics.HealthChecks.dll": {} + }, + "compileOnly": true + }, + "Microsoft.Extensions.Features/8.0.0.0": { + "compile": { + "Microsoft.Extensions.Features.dll": {} + }, + "compileOnly": true + }, + "Microsoft.Extensions.FileProviders.Abstractions.Reference/8.0.0.0": { + "compile": { + "Microsoft.Extensions.FileProviders.Abstractions.dll": {} + }, + "compileOnly": true + }, + "Microsoft.Extensions.FileProviders.Composite/8.0.0.0": { + "compile": { + "Microsoft.Extensions.FileProviders.Composite.dll": {} + }, + "compileOnly": true + }, + "Microsoft.Extensions.FileProviders.Embedded/8.0.0.0": { + "compile": { + "Microsoft.Extensions.FileProviders.Embedded.dll": {} + }, + "compileOnly": true + }, + "Microsoft.Extensions.FileProviders.Physical.Reference/8.0.0.0": { + "compile": { + "Microsoft.Extensions.FileProviders.Physical.dll": {} + }, + "compileOnly": true + }, + "Microsoft.Extensions.FileSystemGlobbing.Reference/8.0.0.0": { + "compile": { + "Microsoft.Extensions.FileSystemGlobbing.dll": {} + }, + "compileOnly": true + }, + "Microsoft.Extensions.Hosting.Abstractions.Reference/8.0.0.0": { + "compile": { + "Microsoft.Extensions.Hosting.Abstractions.dll": {} + }, + "compileOnly": true + }, + "Microsoft.Extensions.Hosting.Reference/8.0.0.0": { + "compile": { + "Microsoft.Extensions.Hosting.dll": {} + }, + "compileOnly": true + }, + "Microsoft.Extensions.Http/8.0.0.0": { + "compile": { + "Microsoft.Extensions.Http.dll": {} + }, + "compileOnly": true + }, + "Microsoft.Extensions.Identity.Core/8.0.0.0": { + "compile": { + "Microsoft.Extensions.Identity.Core.dll": {} + }, + "compileOnly": true + }, + "Microsoft.Extensions.Identity.Stores/8.0.0.0": { + "compile": { + "Microsoft.Extensions.Identity.Stores.dll": {} + }, + "compileOnly": true + }, + "Microsoft.Extensions.Localization.Abstractions/8.0.0.0": { + "compile": { + "Microsoft.Extensions.Localization.Abstractions.dll": {} + }, + "compileOnly": true + }, + "Microsoft.Extensions.Localization/8.0.0.0": { + "compile": { + "Microsoft.Extensions.Localization.dll": {} + }, + "compileOnly": true + }, + "Microsoft.Extensions.Logging.Abstractions.Reference/8.0.0.0": { + "compile": { + "Microsoft.Extensions.Logging.Abstractions.dll": {} + }, + "compileOnly": true + }, + "Microsoft.Extensions.Logging.Configuration.Reference/8.0.0.0": { + "compile": { + "Microsoft.Extensions.Logging.Configuration.dll": {} + }, + "compileOnly": true + }, + "Microsoft.Extensions.Logging.Console.Reference/8.0.0.0": { + "compile": { + "Microsoft.Extensions.Logging.Console.dll": {} + }, + "compileOnly": true + }, + "Microsoft.Extensions.Logging.Debug.Reference/8.0.0.0": { + "compile": { + "Microsoft.Extensions.Logging.Debug.dll": {} + }, + "compileOnly": true + }, + "Microsoft.Extensions.Logging.Reference/8.0.0.0": { + "compile": { + "Microsoft.Extensions.Logging.dll": {} + }, + "compileOnly": true + }, + "Microsoft.Extensions.Logging.EventLog.Reference/8.0.0.0": { + "compile": { + "Microsoft.Extensions.Logging.EventLog.dll": {} + }, + "compileOnly": true + }, + "Microsoft.Extensions.Logging.EventSource.Reference/8.0.0.0": { + "compile": { + "Microsoft.Extensions.Logging.EventSource.dll": {} + }, + "compileOnly": true + }, + "Microsoft.Extensions.Logging.TraceSource/8.0.0.0": { + "compile": { + "Microsoft.Extensions.Logging.TraceSource.dll": {} + }, + "compileOnly": true + }, + "Microsoft.Extensions.ObjectPool/8.0.0.0": { + "compile": { + "Microsoft.Extensions.ObjectPool.dll": {} + }, + "compileOnly": true + }, + "Microsoft.Extensions.Options.ConfigurationExtensions.Reference/8.0.0.0": { + "compile": { + "Microsoft.Extensions.Options.ConfigurationExtensions.dll": {} + }, + "compileOnly": true + }, + "Microsoft.Extensions.Options.DataAnnotations/8.0.0.0": { + "compile": { + "Microsoft.Extensions.Options.DataAnnotations.dll": {} + }, + "compileOnly": true + }, + "Microsoft.Extensions.Options.Reference/8.0.0.0": { + "compile": { + "Microsoft.Extensions.Options.dll": {} + }, + "compileOnly": true + }, + "Microsoft.Extensions.Primitives.Reference/8.0.0.0": { + "compile": { + "Microsoft.Extensions.Primitives.dll": {} + }, + "compileOnly": true + }, + "Microsoft.Extensions.WebEncoders/8.0.0.0": { + "compile": { + "Microsoft.Extensions.WebEncoders.dll": {} + }, + "compileOnly": true + }, + "Microsoft.JSInterop/8.0.0.0": { + "compile": { + "Microsoft.JSInterop.dll": {} + }, + "compileOnly": true + }, + "Microsoft.Net.Http.Headers/8.0.0.0": { + "compile": { + "Microsoft.Net.Http.Headers.dll": {} + }, + "compileOnly": true + }, + "Microsoft.VisualBasic.Core/13.0.0.0": { + "compile": { + "Microsoft.VisualBasic.Core.dll": {} + }, + "compileOnly": true + }, + "Microsoft.VisualBasic/10.0.0.0": { + "compile": { + "Microsoft.VisualBasic.dll": {} + }, + "compileOnly": true + }, + "Microsoft.Win32.Primitives/8.0.0.0": { + "compile": { + "Microsoft.Win32.Primitives.dll": {} + }, + "compileOnly": true + }, + "Microsoft.Win32.Registry/8.0.0.0": { + "compile": { + "Microsoft.Win32.Registry.dll": {} + }, + "compileOnly": true + }, + "mscorlib/4.0.0.0": { + "compile": { + "mscorlib.dll": {} + }, + "compileOnly": true + }, + "netstandard/2.1.0.0": { + "compile": { + "netstandard.dll": {} + }, + "compileOnly": true + }, + "System.AppContext/8.0.0.0": { + "compile": { + "System.AppContext.dll": {} + }, + "compileOnly": true + }, + "System.Buffers/8.0.0.0": { + "compile": { + "System.Buffers.dll": {} + }, + "compileOnly": true + }, + "System.Collections.Concurrent/8.0.0.0": { + "compile": { + "System.Collections.Concurrent.dll": {} + }, + "compileOnly": true + }, + "System.Collections/8.0.0.0": { + "compile": { + "System.Collections.dll": {} + }, + "compileOnly": true + }, + "System.Collections.Immutable/8.0.0.0": { + "compile": { + "System.Collections.Immutable.dll": {} + }, + "compileOnly": true + }, + "System.Collections.NonGeneric/8.0.0.0": { + "compile": { + "System.Collections.NonGeneric.dll": {} + }, + "compileOnly": true + }, + "System.Collections.Specialized/8.0.0.0": { + "compile": { + "System.Collections.Specialized.dll": {} + }, + "compileOnly": true + }, + "System.ComponentModel.Annotations/8.0.0.0": { + "compile": { + "System.ComponentModel.Annotations.dll": {} + }, + "compileOnly": true + }, + "System.ComponentModel.DataAnnotations/4.0.0.0": { + "compile": { + "System.ComponentModel.DataAnnotations.dll": {} + }, + "compileOnly": true + }, + "System.ComponentModel/8.0.0.0": { + "compile": { + "System.ComponentModel.dll": {} + }, + "compileOnly": true + }, + "System.ComponentModel.EventBasedAsync/8.0.0.0": { + "compile": { + "System.ComponentModel.EventBasedAsync.dll": {} + }, + "compileOnly": true + }, + "System.ComponentModel.Primitives/8.0.0.0": { + "compile": { + "System.ComponentModel.Primitives.dll": {} + }, + "compileOnly": true + }, + "System.ComponentModel.TypeConverter/8.0.0.0": { + "compile": { + "System.ComponentModel.TypeConverter.dll": {} + }, + "compileOnly": true + }, + "System.Configuration/4.0.0.0": { + "compile": { + "System.Configuration.dll": {} + }, + "compileOnly": true + }, + "System.Console/8.0.0.0": { + "compile": { + "System.Console.dll": {} + }, + "compileOnly": true + }, + "System.Core/4.0.0.0": { + "compile": { + "System.Core.dll": {} + }, + "compileOnly": true + }, + "System.Data.Common/8.0.0.0": { + "compile": { + "System.Data.Common.dll": {} + }, + "compileOnly": true + }, + "System.Data.DataSetExtensions/8.0.0.0": { + "compile": { + "System.Data.DataSetExtensions.dll": {} + }, + "compileOnly": true + }, + "System.Data/4.0.0.0": { + "compile": { + "System.Data.dll": {} + }, + "compileOnly": true + }, + "System.Diagnostics.Contracts/8.0.0.0": { + "compile": { + "System.Diagnostics.Contracts.dll": {} + }, + "compileOnly": true + }, + "System.Diagnostics.Debug/8.0.0.0": { + "compile": { + "System.Diagnostics.Debug.dll": {} + }, + "compileOnly": true + }, + "System.Diagnostics.DiagnosticSource.Reference/8.0.0.0": { + "compile": { + "System.Diagnostics.DiagnosticSource.dll": {} + }, + "compileOnly": true + }, + "System.Diagnostics.EventLog.Reference/8.0.0.0": { + "compile": { + "System.Diagnostics.EventLog.dll": {} + }, + "compileOnly": true + }, + "System.Diagnostics.FileVersionInfo/8.0.0.0": { + "compile": { + "System.Diagnostics.FileVersionInfo.dll": {} + }, + "compileOnly": true + }, + "System.Diagnostics.Process/8.0.0.0": { + "compile": { + "System.Diagnostics.Process.dll": {} + }, + "compileOnly": true + }, + "System.Diagnostics.StackTrace/8.0.0.0": { + "compile": { + "System.Diagnostics.StackTrace.dll": {} + }, + "compileOnly": true + }, + "System.Diagnostics.TextWriterTraceListener/8.0.0.0": { + "compile": { + "System.Diagnostics.TextWriterTraceListener.dll": {} + }, + "compileOnly": true + }, + "System.Diagnostics.Tools/8.0.0.0": { + "compile": { + "System.Diagnostics.Tools.dll": {} + }, + "compileOnly": true + }, + "System.Diagnostics.TraceSource/8.0.0.0": { + "compile": { + "System.Diagnostics.TraceSource.dll": {} + }, + "compileOnly": true + }, + "System.Diagnostics.Tracing/8.0.0.0": { + "compile": { + "System.Diagnostics.Tracing.dll": {} + }, + "compileOnly": true + }, + "System/4.0.0.0": { + "compile": { + "System.dll": {} + }, + "compileOnly": true + }, + "System.Drawing/4.0.0.0": { + "compile": { + "System.Drawing.dll": {} + }, + "compileOnly": true + }, + "System.Drawing.Primitives/8.0.0.0": { + "compile": { + "System.Drawing.Primitives.dll": {} + }, + "compileOnly": true + }, + "System.Dynamic.Runtime/8.0.0.0": { + "compile": { + "System.Dynamic.Runtime.dll": {} + }, + "compileOnly": true + }, + "System.Formats.Asn1/8.0.0.0": { + "compile": { + "System.Formats.Asn1.dll": {} + }, + "compileOnly": true + }, + "System.Formats.Tar/8.0.0.0": { + "compile": { + "System.Formats.Tar.dll": {} + }, + "compileOnly": true + }, + "System.Globalization.Calendars/8.0.0.0": { + "compile": { + "System.Globalization.Calendars.dll": {} + }, + "compileOnly": true + }, + "System.Globalization/8.0.0.0": { + "compile": { + "System.Globalization.dll": {} + }, + "compileOnly": true + }, + "System.Globalization.Extensions/8.0.0.0": { + "compile": { + "System.Globalization.Extensions.dll": {} + }, + "compileOnly": true + }, + "System.IO.Compression.Brotli/8.0.0.0": { + "compile": { + "System.IO.Compression.Brotli.dll": {} + }, + "compileOnly": true + }, + "System.IO.Compression/8.0.0.0": { + "compile": { + "System.IO.Compression.dll": {} + }, + "compileOnly": true + }, + "System.IO.Compression.FileSystem/4.0.0.0": { + "compile": { + "System.IO.Compression.FileSystem.dll": {} + }, + "compileOnly": true + }, + "System.IO.Compression.ZipFile/8.0.0.0": { + "compile": { + "System.IO.Compression.ZipFile.dll": {} + }, + "compileOnly": true + }, + "System.IO/8.0.0.0": { + "compile": { + "System.IO.dll": {} + }, + "compileOnly": true + }, + "System.IO.FileSystem.AccessControl/8.0.0.0": { + "compile": { + "System.IO.FileSystem.AccessControl.dll": {} + }, + "compileOnly": true + }, + "System.IO.FileSystem/8.0.0.0": { + "compile": { + "System.IO.FileSystem.dll": {} + }, + "compileOnly": true + }, + "System.IO.FileSystem.DriveInfo/8.0.0.0": { + "compile": { + "System.IO.FileSystem.DriveInfo.dll": {} + }, + "compileOnly": true + }, + "System.IO.FileSystem.Primitives/8.0.0.0": { + "compile": { + "System.IO.FileSystem.Primitives.dll": {} + }, + "compileOnly": true + }, + "System.IO.FileSystem.Watcher/8.0.0.0": { + "compile": { + "System.IO.FileSystem.Watcher.dll": {} + }, + "compileOnly": true + }, + "System.IO.IsolatedStorage/8.0.0.0": { + "compile": { + "System.IO.IsolatedStorage.dll": {} + }, + "compileOnly": true + }, + "System.IO.MemoryMappedFiles/8.0.0.0": { + "compile": { + "System.IO.MemoryMappedFiles.dll": {} + }, + "compileOnly": true + }, + "System.IO.Pipelines.Reference/8.0.0.0": { + "compile": { + "System.IO.Pipelines.dll": {} + }, + "compileOnly": true + }, + "System.IO.Pipes.AccessControl/8.0.0.0": { + "compile": { + "System.IO.Pipes.AccessControl.dll": {} + }, + "compileOnly": true + }, + "System.IO.Pipes/8.0.0.0": { + "compile": { + "System.IO.Pipes.dll": {} + }, + "compileOnly": true + }, + "System.IO.UnmanagedMemoryStream/8.0.0.0": { + "compile": { + "System.IO.UnmanagedMemoryStream.dll": {} + }, + "compileOnly": true + }, + "System.Linq/8.0.0.0": { + "compile": { + "System.Linq.dll": {} + }, + "compileOnly": true + }, + "System.Linq.Expressions/8.0.0.0": { + "compile": { + "System.Linq.Expressions.dll": {} + }, + "compileOnly": true + }, + "System.Linq.Parallel/8.0.0.0": { + "compile": { + "System.Linq.Parallel.dll": {} + }, + "compileOnly": true + }, + "System.Linq.Queryable/8.0.0.0": { + "compile": { + "System.Linq.Queryable.dll": {} + }, + "compileOnly": true + }, + "System.Memory/8.0.0.0": { + "compile": { + "System.Memory.dll": {} + }, + "compileOnly": true + }, + "System.Net/4.0.0.0": { + "compile": { + "System.Net.dll": {} + }, + "compileOnly": true + }, + "System.Net.Http/8.0.0.0": { + "compile": { + "System.Net.Http.dll": {} + }, + "compileOnly": true + }, + "System.Net.Http.Json/8.0.0.0": { + "compile": { + "System.Net.Http.Json.dll": {} + }, + "compileOnly": true + }, + "System.Net.HttpListener/8.0.0.0": { + "compile": { + "System.Net.HttpListener.dll": {} + }, + "compileOnly": true + }, + "System.Net.Mail/8.0.0.0": { + "compile": { + "System.Net.Mail.dll": {} + }, + "compileOnly": true + }, + "System.Net.NameResolution/8.0.0.0": { + "compile": { + "System.Net.NameResolution.dll": {} + }, + "compileOnly": true + }, + "System.Net.NetworkInformation/8.0.0.0": { + "compile": { + "System.Net.NetworkInformation.dll": {} + }, + "compileOnly": true + }, + "System.Net.Ping/8.0.0.0": { + "compile": { + "System.Net.Ping.dll": {} + }, + "compileOnly": true + }, + "System.Net.Primitives/8.0.0.0": { + "compile": { + "System.Net.Primitives.dll": {} + }, + "compileOnly": true + }, + "System.Net.Quic/8.0.0.0": { + "compile": { + "System.Net.Quic.dll": {} + }, + "compileOnly": true + }, + "System.Net.Requests/8.0.0.0": { + "compile": { + "System.Net.Requests.dll": {} + }, + "compileOnly": true + }, + "System.Net.Security/8.0.0.0": { + "compile": { + "System.Net.Security.dll": {} + }, + "compileOnly": true + }, + "System.Net.ServicePoint/8.0.0.0": { + "compile": { + "System.Net.ServicePoint.dll": {} + }, + "compileOnly": true + }, + "System.Net.Sockets/8.0.0.0": { + "compile": { + "System.Net.Sockets.dll": {} + }, + "compileOnly": true + }, + "System.Net.WebClient/8.0.0.0": { + "compile": { + "System.Net.WebClient.dll": {} + }, + "compileOnly": true + }, + "System.Net.WebHeaderCollection/8.0.0.0": { + "compile": { + "System.Net.WebHeaderCollection.dll": {} + }, + "compileOnly": true + }, + "System.Net.WebProxy/8.0.0.0": { + "compile": { + "System.Net.WebProxy.dll": {} + }, + "compileOnly": true + }, + "System.Net.WebSockets.Client/8.0.0.0": { + "compile": { + "System.Net.WebSockets.Client.dll": {} + }, + "compileOnly": true + }, + "System.Net.WebSockets/8.0.0.0": { + "compile": { + "System.Net.WebSockets.dll": {} + }, + "compileOnly": true + }, + "System.Numerics/4.0.0.0": { + "compile": { + "System.Numerics.dll": {} + }, + "compileOnly": true + }, + "System.Numerics.Vectors/8.0.0.0": { + "compile": { + "System.Numerics.Vectors.dll": {} + }, + "compileOnly": true + }, + "System.ObjectModel/8.0.0.0": { + "compile": { + "System.ObjectModel.dll": {} + }, + "compileOnly": true + }, + "System.Reflection.DispatchProxy/8.0.0.0": { + "compile": { + "System.Reflection.DispatchProxy.dll": {} + }, + "compileOnly": true + }, + "System.Reflection/8.0.0.0": { + "compile": { + "System.Reflection.dll": {} + }, + "compileOnly": true + }, + "System.Reflection.Emit/8.0.0.0": { + "compile": { + "System.Reflection.Emit.dll": {} + }, + "compileOnly": true + }, + "System.Reflection.Emit.ILGeneration/8.0.0.0": { + "compile": { + "System.Reflection.Emit.ILGeneration.dll": {} + }, + "compileOnly": true + }, + "System.Reflection.Emit.Lightweight/8.0.0.0": { + "compile": { + "System.Reflection.Emit.Lightweight.dll": {} + }, + "compileOnly": true + }, + "System.Reflection.Extensions/8.0.0.0": { + "compile": { + "System.Reflection.Extensions.dll": {} + }, + "compileOnly": true + }, + "System.Reflection.Metadata.Reference/8.0.0.0": { + "compile": { + "System.Reflection.Metadata.dll": {} + }, + "compileOnly": true + }, + "System.Reflection.Primitives/8.0.0.0": { + "compile": { + "System.Reflection.Primitives.dll": {} + }, + "compileOnly": true + }, + "System.Reflection.TypeExtensions/8.0.0.0": { + "compile": { + "System.Reflection.TypeExtensions.dll": {} + }, + "compileOnly": true + }, + "System.Resources.Reader/8.0.0.0": { + "compile": { + "System.Resources.Reader.dll": {} + }, + "compileOnly": true + }, + "System.Resources.ResourceManager/8.0.0.0": { + "compile": { + "System.Resources.ResourceManager.dll": {} + }, + "compileOnly": true + }, + "System.Resources.Writer/8.0.0.0": { + "compile": { + "System.Resources.Writer.dll": {} + }, + "compileOnly": true + }, + "System.Runtime.CompilerServices.Unsafe/8.0.0.0": { + "compile": { + "System.Runtime.CompilerServices.Unsafe.dll": {} + }, + "compileOnly": true + }, + "System.Runtime.CompilerServices.VisualC/8.0.0.0": { + "compile": { + "System.Runtime.CompilerServices.VisualC.dll": {} + }, + "compileOnly": true + }, + "System.Runtime/8.0.0.0": { + "compile": { + "System.Runtime.dll": {} + }, + "compileOnly": true + }, + "System.Runtime.Extensions/8.0.0.0": { + "compile": { + "System.Runtime.Extensions.dll": {} + }, + "compileOnly": true + }, + "System.Runtime.Handles/8.0.0.0": { + "compile": { + "System.Runtime.Handles.dll": {} + }, + "compileOnly": true + }, + "System.Runtime.InteropServices/8.0.0.0": { + "compile": { + "System.Runtime.InteropServices.dll": {} + }, + "compileOnly": true + }, + "System.Runtime.InteropServices.JavaScript/8.0.0.0": { + "compile": { + "System.Runtime.InteropServices.JavaScript.dll": {} + }, + "compileOnly": true + }, + "System.Runtime.InteropServices.RuntimeInformation/8.0.0.0": { + "compile": { + "System.Runtime.InteropServices.RuntimeInformation.dll": {} + }, + "compileOnly": true + }, + "System.Runtime.Intrinsics/8.0.0.0": { + "compile": { + "System.Runtime.Intrinsics.dll": {} + }, + "compileOnly": true + }, + "System.Runtime.Loader/8.0.0.0": { + "compile": { + "System.Runtime.Loader.dll": {} + }, + "compileOnly": true + }, + "System.Runtime.Numerics/8.0.0.0": { + "compile": { + "System.Runtime.Numerics.dll": {} + }, + "compileOnly": true + }, + "System.Runtime.Serialization/4.0.0.0": { + "compile": { + "System.Runtime.Serialization.dll": {} + }, + "compileOnly": true + }, + "System.Runtime.Serialization.Formatters/8.0.0.0": { + "compile": { + "System.Runtime.Serialization.Formatters.dll": {} + }, + "compileOnly": true + }, + "System.Runtime.Serialization.Json/8.0.0.0": { + "compile": { + "System.Runtime.Serialization.Json.dll": {} + }, + "compileOnly": true + }, + "System.Runtime.Serialization.Primitives/8.0.0.0": { + "compile": { + "System.Runtime.Serialization.Primitives.dll": {} + }, + "compileOnly": true + }, + "System.Runtime.Serialization.Xml/8.0.0.0": { + "compile": { + "System.Runtime.Serialization.Xml.dll": {} + }, + "compileOnly": true + }, + "System.Security.AccessControl/8.0.0.0": { + "compile": { + "System.Security.AccessControl.dll": {} + }, + "compileOnly": true + }, + "System.Security.Claims/8.0.0.0": { + "compile": { + "System.Security.Claims.dll": {} + }, + "compileOnly": true + }, + "System.Security.Cryptography.Algorithms/8.0.0.0": { + "compile": { + "System.Security.Cryptography.Algorithms.dll": {} + }, + "compileOnly": true + }, + "System.Security.Cryptography.Cng/8.0.0.0": { + "compile": { + "System.Security.Cryptography.Cng.dll": {} + }, + "compileOnly": true + }, + "System.Security.Cryptography.Csp/8.0.0.0": { + "compile": { + "System.Security.Cryptography.Csp.dll": {} + }, + "compileOnly": true + }, + "System.Security.Cryptography/8.0.0.0": { + "compile": { + "System.Security.Cryptography.dll": {} + }, + "compileOnly": true + }, + "System.Security.Cryptography.Encoding/8.0.0.0": { + "compile": { + "System.Security.Cryptography.Encoding.dll": {} + }, + "compileOnly": true + }, + "System.Security.Cryptography.OpenSsl/8.0.0.0": { + "compile": { + "System.Security.Cryptography.OpenSsl.dll": {} + }, + "compileOnly": true + }, + "System.Security.Cryptography.Primitives/8.0.0.0": { + "compile": { + "System.Security.Cryptography.Primitives.dll": {} + }, + "compileOnly": true + }, + "System.Security.Cryptography.X509Certificates/8.0.0.0": { + "compile": { + "System.Security.Cryptography.X509Certificates.dll": {} + }, + "compileOnly": true + }, + "System.Security.Cryptography.Xml/8.0.0.0": { + "compile": { + "System.Security.Cryptography.Xml.dll": {} + }, + "compileOnly": true + }, + "System.Security/4.0.0.0": { + "compile": { + "System.Security.dll": {} + }, + "compileOnly": true + }, + "System.Security.Principal/8.0.0.0": { + "compile": { + "System.Security.Principal.dll": {} + }, + "compileOnly": true + }, + "System.Security.Principal.Windows/8.0.0.0": { + "compile": { + "System.Security.Principal.Windows.dll": {} + }, + "compileOnly": true + }, + "System.Security.SecureString/8.0.0.0": { + "compile": { + "System.Security.SecureString.dll": {} + }, + "compileOnly": true + }, + "System.ServiceModel.Web/4.0.0.0": { + "compile": { + "System.ServiceModel.Web.dll": {} + }, + "compileOnly": true + }, + "System.ServiceProcess/4.0.0.0": { + "compile": { + "System.ServiceProcess.dll": {} + }, + "compileOnly": true + }, + "System.Text.Encoding.CodePages/8.0.0.0": { + "compile": { + "System.Text.Encoding.CodePages.dll": {} + }, + "compileOnly": true + }, + "System.Text.Encoding/8.0.0.0": { + "compile": { + "System.Text.Encoding.dll": {} + }, + "compileOnly": true + }, + "System.Text.Encoding.Extensions/8.0.0.0": { + "compile": { + "System.Text.Encoding.Extensions.dll": {} + }, + "compileOnly": true + }, + "System.Text.Encodings.Web.Reference/8.0.0.0": { + "compile": { + "System.Text.Encodings.Web.dll": {} + }, + "compileOnly": true + }, + "System.Text.Json.Reference/8.0.0.0": { + "compile": { + "System.Text.Json.dll": {} + }, + "compileOnly": true + }, + "System.Text.RegularExpressions/8.0.0.0": { + "compile": { + "System.Text.RegularExpressions.dll": {} + }, + "compileOnly": true + }, + "System.Threading.Channels/8.0.0.0": { + "compile": { + "System.Threading.Channels.dll": {} + }, + "compileOnly": true + }, + "System.Threading/8.0.0.0": { + "compile": { + "System.Threading.dll": {} + }, + "compileOnly": true + }, + "System.Threading.Overlapped/8.0.0.0": { + "compile": { + "System.Threading.Overlapped.dll": {} + }, + "compileOnly": true + }, + "System.Threading.RateLimiting/8.0.0.0": { + "compile": { + "System.Threading.RateLimiting.dll": {} + }, + "compileOnly": true + }, + "System.Threading.Tasks.Dataflow/8.0.0.0": { + "compile": { + "System.Threading.Tasks.Dataflow.dll": {} + }, + "compileOnly": true + }, + "System.Threading.Tasks/8.0.0.0": { + "compile": { + "System.Threading.Tasks.dll": {} + }, + "compileOnly": true + }, + "System.Threading.Tasks.Extensions/8.0.0.0": { + "compile": { + "System.Threading.Tasks.Extensions.dll": {} + }, + "compileOnly": true + }, + "System.Threading.Tasks.Parallel/8.0.0.0": { + "compile": { + "System.Threading.Tasks.Parallel.dll": {} + }, + "compileOnly": true + }, + "System.Threading.Thread/8.0.0.0": { + "compile": { + "System.Threading.Thread.dll": {} + }, + "compileOnly": true + }, + "System.Threading.ThreadPool/8.0.0.0": { + "compile": { + "System.Threading.ThreadPool.dll": {} + }, + "compileOnly": true + }, + "System.Threading.Timer/8.0.0.0": { + "compile": { + "System.Threading.Timer.dll": {} + }, + "compileOnly": true + }, + "System.Transactions/4.0.0.0": { + "compile": { + "System.Transactions.dll": {} + }, + "compileOnly": true + }, + "System.Transactions.Local/8.0.0.0": { + "compile": { + "System.Transactions.Local.dll": {} + }, + "compileOnly": true + }, + "System.ValueTuple/8.0.0.0": { + "compile": { + "System.ValueTuple.dll": {} + }, + "compileOnly": true + }, + "System.Web/4.0.0.0": { + "compile": { + "System.Web.dll": {} + }, + "compileOnly": true + }, + "System.Web.HttpUtility/8.0.0.0": { + "compile": { + "System.Web.HttpUtility.dll": {} + }, + "compileOnly": true + }, + "System.Windows/4.0.0.0": { + "compile": { + "System.Windows.dll": {} + }, + "compileOnly": true + }, + "System.Xml/4.0.0.0": { + "compile": { + "System.Xml.dll": {} + }, + "compileOnly": true + }, + "System.Xml.Linq/4.0.0.0": { + "compile": { + "System.Xml.Linq.dll": {} + }, + "compileOnly": true + }, + "System.Xml.ReaderWriter/8.0.0.0": { + "compile": { + "System.Xml.ReaderWriter.dll": {} + }, + "compileOnly": true + }, + "System.Xml.Serialization/4.0.0.0": { + "compile": { + "System.Xml.Serialization.dll": {} + }, + "compileOnly": true + }, + "System.Xml.XDocument/8.0.0.0": { + "compile": { + "System.Xml.XDocument.dll": {} + }, + "compileOnly": true + }, + "System.Xml.XmlDocument/8.0.0.0": { + "compile": { + "System.Xml.XmlDocument.dll": {} + }, + "compileOnly": true + }, + "System.Xml.XmlSerializer/8.0.0.0": { + "compile": { + "System.Xml.XmlSerializer.dll": {} + }, + "compileOnly": true + }, + "System.Xml.XPath/8.0.0.0": { + "compile": { + "System.Xml.XPath.dll": {} + }, + "compileOnly": true + }, + "System.Xml.XPath.XDocument/8.0.0.0": { + "compile": { + "System.Xml.XPath.XDocument.dll": {} + }, + "compileOnly": true + }, + "WindowsBase/4.0.0.0": { + "compile": { + "WindowsBase.dll": {} + }, + "compileOnly": true + } + } + }, + "libraries": { + "Chemistry Cafe API/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "Microsoft.ApplicationInsights/2.22.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-3AOM9bZtku7RQwHyMEY3tQMrHIgjcfRDa6YQpd/QG2LDGvMydSlL9Di+8LLMt7J2RDdfJ7/2jdYv6yHcMJAnNw==", + "path": "microsoft.applicationinsights/2.22.0", + "hashPath": "microsoft.applicationinsights.2.22.0.nupkg.sha512" + }, + "Microsoft.AspNetCore.Mvc.Testing/8.0.4": { + "type": "package", + "serviceable": true, + "sha512": "sha512-e6IVsUq7zmAO/T4GGd00j1yxh6PBHF1PlQLaiFV/nM1jePH7Rbu+zVoXCRUDC2KOlHnPCym+eqFFlZkNNO2CvQ==", + "path": "microsoft.aspnetcore.mvc.testing/8.0.4", + "hashPath": "microsoft.aspnetcore.mvc.testing.8.0.4.nupkg.sha512" + }, + "Microsoft.AspNetCore.TestHost/8.0.4": { + "type": "package", + "serviceable": true, + "sha512": "sha512-NQ5kHSo0aazGFbZ/3J2Fr/uKtOd43H3vJLoXoMY9GXUQppbfXco3zrYF9uBB7zkLsuFh9McBln1izgycYGscUA==", + "path": "microsoft.aspnetcore.testhost/8.0.4", + "hashPath": "microsoft.aspnetcore.testhost.8.0.4.nupkg.sha512" + }, + "Microsoft.CodeCoverage/17.9.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-RGD37ZSrratfScYXm7M0HjvxMxZyWZL4jm+XgMZbkIY1UPgjUpbNA/t+WTGj/rC/0Hm9A3IrH3ywbKZkOCnoZA==", + "path": "microsoft.codecoverage/17.9.0", + "hashPath": "microsoft.codecoverage.17.9.0.nupkg.sha512" + }, + "Microsoft.Extensions.ApiDescription.Server/6.0.5": { + "type": "package", + "serviceable": true, + "sha512": "sha512-Ckb5EDBUNJdFWyajfXzUIMRkhf52fHZOQuuZg/oiu8y7zDCVwD0iHhew6MnThjHmevanpxL3f5ci2TtHQEN6bw==", + "path": "microsoft.extensions.apidescription.server/6.0.5", + "hashPath": "microsoft.extensions.apidescription.server.6.0.5.nupkg.sha512" + }, + "Microsoft.Extensions.Configuration/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-0J/9YNXTMWSZP2p2+nvl8p71zpSwokZXZuJW+VjdErkegAnFdO1XlqtA62SJtgVYHdKu3uPxJHcMR/r35HwFBA==", + "path": "microsoft.extensions.configuration/8.0.0", + "hashPath": "microsoft.extensions.configuration.8.0.0.nupkg.sha512" + }, + "Microsoft.Extensions.Configuration.Abstractions/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-3lE/iLSutpgX1CC0NOW70FJoGARRHbyKmG7dc0klnUZ9Dd9hS6N/POPWhKhMLCEuNN5nXEY5agmlFtH562vqhQ==", + "path": "microsoft.extensions.configuration.abstractions/8.0.0", + "hashPath": "microsoft.extensions.configuration.abstractions.8.0.0.nupkg.sha512" + }, + "Microsoft.Extensions.Configuration.Binder/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-mBMoXLsr5s1y2zOHWmKsE9veDcx8h1x/c3rz4baEdQKTeDcmQAPNbB54Pi/lhFO3K431eEq6PFbMgLaa6PHFfA==", + "path": "microsoft.extensions.configuration.binder/8.0.0", + "hashPath": "microsoft.extensions.configuration.binder.8.0.0.nupkg.sha512" + }, + "Microsoft.Extensions.Configuration.CommandLine/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-NZuZMz3Q8Z780nKX3ifV1fE7lS+6pynDHK71OfU4OZ1ItgvDOhyOC7E6z+JMZrAj63zRpwbdldYFk499t3+1dQ==", + "path": "microsoft.extensions.configuration.commandline/8.0.0", + "hashPath": "microsoft.extensions.configuration.commandline.8.0.0.nupkg.sha512" + }, + "Microsoft.Extensions.Configuration.EnvironmentVariables/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-plvZ0ZIpq+97gdPNNvhwvrEZ92kNml9hd1pe3idMA7svR0PztdzVLkoWLcRFgySYXUJc3kSM3Xw3mNFMo/bxRA==", + "path": "microsoft.extensions.configuration.environmentvariables/8.0.0", + "hashPath": "microsoft.extensions.configuration.environmentvariables.8.0.0.nupkg.sha512" + }, + "Microsoft.Extensions.Configuration.FileExtensions/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-McP+Lz/EKwvtCv48z0YImw+L1gi1gy5rHhNaNIY2CrjloV+XY8gydT8DjMR6zWeL13AFK+DioVpppwAuO1Gi1w==", + "path": "microsoft.extensions.configuration.fileextensions/8.0.0", + "hashPath": "microsoft.extensions.configuration.fileextensions.8.0.0.nupkg.sha512" + }, + "Microsoft.Extensions.Configuration.Json/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-C2wqUoh9OmRL1akaCcKSTmRU8z0kckfImG7zLNI8uyi47Lp+zd5LWAD17waPQEqCz3ioWOCrFUo+JJuoeZLOBw==", + "path": "microsoft.extensions.configuration.json/8.0.0", + "hashPath": "microsoft.extensions.configuration.json.8.0.0.nupkg.sha512" + }, + "Microsoft.Extensions.Configuration.UserSecrets/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-ihDHu2dJYQird9pl2CbdwuNDfvCZdOS0S7SPlNfhPt0B81UTT+yyZKz2pimFZGUp3AfuBRnqUCxB2SjsZKHVUw==", + "path": "microsoft.extensions.configuration.usersecrets/8.0.0", + "hashPath": "microsoft.extensions.configuration.usersecrets.8.0.0.nupkg.sha512" + }, + "Microsoft.Extensions.DependencyInjection/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-V8S3bsm50ig6JSyrbcJJ8bW2b9QLGouz+G1miK3UTaOWmMtFwNNNzUf4AleyDWUmTrWMLNnFSLEQtxmxgNQnNQ==", + "path": "microsoft.extensions.dependencyinjection/8.0.0", + "hashPath": "microsoft.extensions.dependencyinjection.8.0.0.nupkg.sha512" + }, + "Microsoft.Extensions.DependencyInjection.Abstractions/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-cjWrLkJXK0rs4zofsK4bSdg+jhDLTaxrkXu4gS6Y7MAlCvRyNNgwY/lJi5RDlQOnSZweHqoyvgvbdvQsRIW+hg==", + "path": "microsoft.extensions.dependencyinjection.abstractions/8.0.0", + "hashPath": "microsoft.extensions.dependencyinjection.abstractions.8.0.0.nupkg.sha512" + }, + "Microsoft.Extensions.DependencyModel/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-NSmDw3K0ozNDgShSIpsZcbFIzBX4w28nDag+TfaQujkXGazBm+lid5onlWoCBy4VsLxqnnKjEBbGSJVWJMf43g==", + "path": "microsoft.extensions.dependencymodel/8.0.0", + "hashPath": "microsoft.extensions.dependencymodel.8.0.0.nupkg.sha512" + }, + "Microsoft.Extensions.Diagnostics/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-3PZp/YSkIXrF7QK7PfC1bkyRYwqOHpWFad8Qx+4wkuumAeXo1NHaxpS9LboNA9OvNSAu+QOVlXbMyoY+pHSqcw==", + "path": "microsoft.extensions.diagnostics/8.0.0", + "hashPath": "microsoft.extensions.diagnostics.8.0.0.nupkg.sha512" + }, + "Microsoft.Extensions.Diagnostics.Abstractions/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-JHYCQG7HmugNYUhOl368g+NMxYE/N/AiclCYRNlgCY9eVyiBkOHMwK4x60RYMxv9EL3+rmj1mqHvdCiPpC+D4Q==", + "path": "microsoft.extensions.diagnostics.abstractions/8.0.0", + "hashPath": "microsoft.extensions.diagnostics.abstractions.8.0.0.nupkg.sha512" + }, + "Microsoft.Extensions.FileProviders.Abstractions/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-ZbaMlhJlpisjuWbvXr4LdAst/1XxH3vZ6A0BsgTphZ2L4PGuxRLz7Jr/S7mkAAnOn78Vu0fKhEgNF5JO3zfjqQ==", + "path": "microsoft.extensions.fileproviders.abstractions/8.0.0", + "hashPath": "microsoft.extensions.fileproviders.abstractions.8.0.0.nupkg.sha512" + }, + "Microsoft.Extensions.FileProviders.Physical/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-UboiXxpPUpwulHvIAVE36Knq0VSHaAmfrFkegLyBZeaADuKezJ/AIXYAW8F5GBlGk/VaibN2k/Zn1ca8YAfVdA==", + "path": "microsoft.extensions.fileproviders.physical/8.0.0", + "hashPath": "microsoft.extensions.fileproviders.physical.8.0.0.nupkg.sha512" + }, + "Microsoft.Extensions.FileSystemGlobbing/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-OK+670i7esqlQrPjdIKRbsyMCe9g5kSLpRRQGSr4Q58AOYEe/hCnfLZprh7viNisSUUQZmMrbbuDaIrP+V1ebQ==", + "path": "microsoft.extensions.filesystemglobbing/8.0.0", + "hashPath": "microsoft.extensions.filesystemglobbing.8.0.0.nupkg.sha512" + }, + "Microsoft.Extensions.Hosting/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-ItYHpdqVp5/oFLT5QqbopnkKlyFG9EW/9nhM6/yfObeKt6Su0wkBio6AizgRHGNwhJuAtlE5VIjow5JOTrip6w==", + "path": "microsoft.extensions.hosting/8.0.0", + "hashPath": "microsoft.extensions.hosting.8.0.0.nupkg.sha512" + }, + "Microsoft.Extensions.Hosting.Abstractions/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-AG7HWwVRdCHlaA++1oKDxLsXIBxmDpMPb3VoyOoAghEWnkUvEAdYQUwnV4jJbAaa/nMYNiEh5ByoLauZBEiovg==", + "path": "microsoft.extensions.hosting.abstractions/8.0.0", + "hashPath": "microsoft.extensions.hosting.abstractions.8.0.0.nupkg.sha512" + }, + "Microsoft.Extensions.Logging/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-tvRkov9tAJ3xP51LCv3FJ2zINmv1P8Hi8lhhtcKGqM+ImiTCC84uOPEI4z8Cdq2C3o9e+Aa0Gw0rmrsJD77W+w==", + "path": "microsoft.extensions.logging/8.0.0", + "hashPath": "microsoft.extensions.logging.8.0.0.nupkg.sha512" + }, + "Microsoft.Extensions.Logging.Abstractions/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-arDBqTgFCyS0EvRV7O3MZturChstm50OJ0y9bDJvAcmEPJm0FFpFyjU/JLYyStNGGey081DvnQYlncNX5SJJGA==", + "path": "microsoft.extensions.logging.abstractions/8.0.0", + "hashPath": "microsoft.extensions.logging.abstractions.8.0.0.nupkg.sha512" + }, + "Microsoft.Extensions.Logging.Configuration/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-ixXXV0G/12g6MXK65TLngYN9V5hQQRuV+fZi882WIoVJT7h5JvoYoxTEwCgdqwLjSneqh1O+66gM8sMr9z/rsQ==", + "path": "microsoft.extensions.logging.configuration/8.0.0", + "hashPath": "microsoft.extensions.logging.configuration.8.0.0.nupkg.sha512" + }, + "Microsoft.Extensions.Logging.Console/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-e+48o7DztoYog+PY430lPxrM4mm3PbA6qucvQtUDDwVo4MO+ejMw7YGc/o2rnxbxj4isPxdfKFzTxvXMwAz83A==", + "path": "microsoft.extensions.logging.console/8.0.0", + "hashPath": "microsoft.extensions.logging.console.8.0.0.nupkg.sha512" + }, + "Microsoft.Extensions.Logging.Debug/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-dt0x21qBdudHLW/bjMJpkixv858RRr8eSomgVbU8qljOyfrfDGi1JQvpF9w8S7ziRPtRKisuWaOwFxJM82GxeA==", + "path": "microsoft.extensions.logging.debug/8.0.0", + "hashPath": "microsoft.extensions.logging.debug.8.0.0.nupkg.sha512" + }, + "Microsoft.Extensions.Logging.EventLog/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-3X9D3sl7EmOu7vQp5MJrmIJBl5XSdOhZPYXUeFfYa6Nnm9+tok8x3t3IVPLhm7UJtPOU61ohFchw8rNm9tIYOQ==", + "path": "microsoft.extensions.logging.eventlog/8.0.0", + "hashPath": "microsoft.extensions.logging.eventlog.8.0.0.nupkg.sha512" + }, + "Microsoft.Extensions.Logging.EventSource/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-oKcPMrw+luz2DUAKhwFXrmFikZWnyc8l2RKoQwqU3KIZZjcfoJE0zRHAnqATfhRZhtcbjl/QkiY2Xjxp0xu+6w==", + "path": "microsoft.extensions.logging.eventsource/8.0.0", + "hashPath": "microsoft.extensions.logging.eventsource.8.0.0.nupkg.sha512" + }, + "Microsoft.Extensions.Options/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-JOVOfqpnqlVLUzINQ2fox8evY2SKLYJ3BV8QDe/Jyp21u1T7r45x/R/5QdteURMR5r01GxeJSBBUOCOyaNXA3g==", + "path": "microsoft.extensions.options/8.0.0", + "hashPath": "microsoft.extensions.options.8.0.0.nupkg.sha512" + }, + "Microsoft.Extensions.Options.ConfigurationExtensions/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-0f4DMRqEd50zQh+UyJc+/HiBsZ3vhAQALgdkcQEalSH1L2isdC7Yj54M3cyo5e+BeO5fcBQ7Dxly8XiBBcvRgw==", + "path": "microsoft.extensions.options.configurationextensions/8.0.0", + "hashPath": "microsoft.extensions.options.configurationextensions.8.0.0.nupkg.sha512" + }, + "Microsoft.Extensions.Primitives/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-bXJEZrW9ny8vjMF1JV253WeLhpEVzFo1lyaZu1vQ4ZxWUlVvknZ/+ftFgVheLubb4eZPSwwxBeqS1JkCOjxd8g==", + "path": "microsoft.extensions.primitives/8.0.0", + "hashPath": "microsoft.extensions.primitives.8.0.0.nupkg.sha512" + }, + "Microsoft.NET.Test.Sdk/17.9.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-7GUNAUbJYn644jzwLm5BD3a2p9C1dmP8Hr6fDPDxgItQk9hBs1Svdxzz07KQ/UphMSmgza9AbijBJGmw5D658A==", + "path": "microsoft.net.test.sdk/17.9.0", + "hashPath": "microsoft.net.test.sdk.17.9.0.nupkg.sha512" + }, + "Microsoft.OpenApi/1.2.3": { + "type": "package", + "serviceable": true, + "sha512": "sha512-Nug3rO+7Kl5/SBAadzSMAVgqDlfGjJZ0GenQrLywJ84XGKO0uRqkunz5Wyl0SDwcR71bAATXvSdbdzPrYRYKGw==", + "path": "microsoft.openapi/1.2.3", + "hashPath": "microsoft.openapi.1.2.3.nupkg.sha512" + }, + "Microsoft.Testing.Extensions.Telemetry/1.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-K9xjzIlNxUHHvVCYoQYjk3ojnNgS9Jhb9nHSuEAMl5QGhziNdHztGM3fzRQ72KRIA9MyeU75fCex8YZlsRkF1g==", + "path": "microsoft.testing.extensions.telemetry/1.1.0", + "hashPath": "microsoft.testing.extensions.telemetry.1.1.0.nupkg.sha512" + }, + "Microsoft.Testing.Extensions.TrxReport.Abstractions/1.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-mspVaUbMAmsMg6IQaGJkypeCCYmUYYQkxFSRbSGdsTlzu9dpsH6spavSL6DUtkR7qd07ulYDlPCJ/yBU6TYdug==", + "path": "microsoft.testing.extensions.trxreport.abstractions/1.1.0", + "hashPath": "microsoft.testing.extensions.trxreport.abstractions.1.1.0.nupkg.sha512" + }, + "Microsoft.Testing.Extensions.VSTestBridge/1.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-6IcxNS8lARWd/7K/dDC0IAXRnUpQ9kC0Cb+Eu8biZG40pVDZoDEyn4QIuicJvPSCT1C72AtSUqKzZASO7i4gPg==", + "path": "microsoft.testing.extensions.vstestbridge/1.1.0", + "hashPath": "microsoft.testing.extensions.vstestbridge.1.1.0.nupkg.sha512" + }, + "Microsoft.Testing.Platform/1.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-on8S7PvvR9Ai5gL/DKN5KrE8e4ctsUIMEzCGY916D+8xj5W/ho0ru9OJiNk7vWFbQrGwpLs87xE7Q8RPLSO/og==", + "path": "microsoft.testing.platform/1.1.0", + "hashPath": "microsoft.testing.platform.1.1.0.nupkg.sha512" + }, + "Microsoft.Testing.Platform.MSBuild/1.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-n2F3OP27qPCSBDfi25DfIeuq3UtzB/BUlXJBCqu1HQc8n7ak5gfzWlkJwlOIk2PAltocdJWQHMfeVYfcLkZ41g==", + "path": "microsoft.testing.platform.msbuild/1.1.0", + "hashPath": "microsoft.testing.platform.msbuild.1.1.0.nupkg.sha512" + }, + "Microsoft.TestPlatform.ObjectModel/17.9.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-1ilw/8vgmjLyKU+2SKXKXaOqpYFJCQfGqGz+x0cosl981VzjrY74Sv6qAJv+neZMZ9ZMxF3ArN6kotaQ4uvEBw==", + "path": "microsoft.testplatform.objectmodel/17.9.0", + "hashPath": "microsoft.testplatform.objectmodel.17.9.0.nupkg.sha512" + }, + "Microsoft.TestPlatform.TestHost/17.9.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-Spmg7Wx49Ya3SxBjyeAR+nQpjMTKZwTwpZ7KyeOTIqI/WHNPnBU4HUvl5kuHPQAwGWqMy4FGZja1HvEwvoaDiA==", + "path": "microsoft.testplatform.testhost/17.9.0", + "hashPath": "microsoft.testplatform.testhost.17.9.0.nupkg.sha512" + }, + "Microsoft.VisualStudio.Azure.Containers.Tools.Targets/1.19.6": { + "type": "package", + "serviceable": true, + "sha512": "sha512-7GOQdMzQcH7o/bPFL/I2kQEgMnq2pYZ+exhGb9nNqs624K9w2jB2zieh4sOH9+a01i/G9iTWfeUI3IGMF7SKNg==", + "path": "microsoft.visualstudio.azure.containers.tools.targets/1.19.6", + "hashPath": "microsoft.visualstudio.azure.containers.tools.targets.1.19.6.nupkg.sha512" + }, + "MSTest.TestAdapter/3.3.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-ddSsUEQKibWamkosqbQmuhb1DpToI2LJb01yEPDA4MIhXJah4oBOARlLLI7bjWSkkRLDz/iPlx2Uac9qgmHlHg==", + "path": "mstest.testadapter/3.3.1", + "hashPath": "mstest.testadapter.3.3.1.nupkg.sha512" + }, + "MSTest.TestFramework/3.3.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-020SuA2p8N7o+/AHC0SLgzGpyS1hNjR8m5tWxnuGqJ3HeJhArUbuPAU8RZr8Ll38ij8oiutGCkQ/G+ymyO51Ow==", + "path": "mstest.testframework/3.3.1", + "hashPath": "mstest.testframework.3.3.1.nupkg.sha512" + }, + "MySqlConnector/2.3.5": { + "type": "package", + "serviceable": true, + "sha512": "sha512-AmEfUPkFl+Ev6jJ8Dhns3CYHBfD12RHzGYWuLt6DfG6/af6YvOMyPz74ZPPjBYQGRJkumD2Z48Kqm8s5DJuhLA==", + "path": "mysqlconnector/2.3.5", + "hashPath": "mysqlconnector.2.3.5.nupkg.sha512" + }, + "MySqlConnector.DependencyInjection/2.3.5": { + "type": "package", + "serviceable": true, + "sha512": "sha512-DZ8cSOWyA/OH0T2CCV7L7Cq3ns8KDDQPgGYH8L7322096ACjsmjkb5+aRmZ3ZSvL7dbCtizpi6KqVpafRxrKRg==", + "path": "mysqlconnector.dependencyinjection/2.3.5", + "hashPath": "mysqlconnector.dependencyinjection.2.3.5.nupkg.sha512" + }, + "Newtonsoft.Json/13.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-ppPFpBcvxdsfUonNcvITKqLl3bqxWbDCZIzDWHzjpdAHRFfZe0Dw9HmA0+za13IdyrgJwpkDTDA9fHaxOrt20A==", + "path": "newtonsoft.json/13.0.1", + "hashPath": "newtonsoft.json.13.0.1.nupkg.sha512" + }, + "Swashbuckle.AspNetCore/6.5.0": { "type": "package", "serviceable": true, "sha512": "sha512-FK05XokgjgwlCI6wCT+D4/abtQkL1X1/B9Oas6uIwHFmYrIO9WUD5aLC9IzMs9GnHfUXOtXZ2S43gN1mhs5+aA==", "path": "swashbuckle.aspnetcore/6.5.0", "hashPath": "swashbuckle.aspnetcore.6.5.0.nupkg.sha512" }, - "Swashbuckle.AspNetCore.Swagger/6.5.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-XWmCmqyFmoItXKFsQSwQbEAsjDKcxlNf1l+/Ki42hcb6LjKL8m5Db69OTvz5vLonMSRntYO1XLqz0OP+n3vKnA==", - "path": "swashbuckle.aspnetcore.swagger/6.5.0", - "hashPath": "swashbuckle.aspnetcore.swagger.6.5.0.nupkg.sha512" + "Swashbuckle.AspNetCore.Swagger/6.5.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-XWmCmqyFmoItXKFsQSwQbEAsjDKcxlNf1l+/Ki42hcb6LjKL8m5Db69OTvz5vLonMSRntYO1XLqz0OP+n3vKnA==", + "path": "swashbuckle.aspnetcore.swagger/6.5.0", + "hashPath": "swashbuckle.aspnetcore.swagger.6.5.0.nupkg.sha512" + }, + "Swashbuckle.AspNetCore.SwaggerGen/6.5.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-Y/qW8Qdg9OEs7V013tt+94OdPxbRdbhcEbw4NiwGvf4YBcfhL/y7qp/Mjv/cENsQ2L3NqJ2AOu94weBy/h4KvA==", + "path": "swashbuckle.aspnetcore.swaggergen/6.5.0", + "hashPath": "swashbuckle.aspnetcore.swaggergen.6.5.0.nupkg.sha512" + }, + "Swashbuckle.AspNetCore.SwaggerUI/6.5.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-OvbvxX+wL8skxTBttcBsVxdh73Fag4xwqEU2edh4JMn7Ws/xJHnY/JB1e9RoCb6XpDxUF3hD9A0Z1lEUx40Pfw==", + "path": "swashbuckle.aspnetcore.swaggerui/6.5.0", + "hashPath": "swashbuckle.aspnetcore.swaggerui.6.5.0.nupkg.sha512" + }, + "System.Diagnostics.DiagnosticSource/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-c9xLpVz6PL9lp/djOWtk5KPDZq3cSYpmXoJQY524EOtuFl5z9ZtsotpsyrDW40U1DRnQSYvcPKEUV0X//u6gkQ==", + "path": "system.diagnostics.diagnosticsource/8.0.0", + "hashPath": "system.diagnostics.diagnosticsource.8.0.0.nupkg.sha512" + }, + "System.Diagnostics.EventLog/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-fdYxcRjQqTTacKId/2IECojlDSFvp7LP5N78+0z/xH7v/Tuw5ZAxu23Y6PTCRinqyu2ePx+Gn1098NC6jM6d+A==", + "path": "system.diagnostics.eventlog/8.0.0", + "hashPath": "system.diagnostics.eventlog.8.0.0.nupkg.sha512" + }, + "System.IO.Pipelines/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-FHNOatmUq0sqJOkTx+UF/9YK1f180cnW5FVqnQMvYUN0elp6wFzbtPSiqbo1/ru8ICp43JM1i7kKkk6GsNGHlA==", + "path": "system.io.pipelines/8.0.0", + "hashPath": "system.io.pipelines.8.0.0.nupkg.sha512" + }, + "System.Reflection.Metadata/1.6.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-COC1aiAJjCoA5GBF+QKL2uLqEBew4JsCkQmoHKbN3TlOZKa2fKLz5CpiRQKDz0RsAOEGsVKqOD5bomsXq/4STQ==", + "path": "system.reflection.metadata/1.6.0", + "hashPath": "system.reflection.metadata.1.6.0.nupkg.sha512" + }, + "System.Text.Encodings.Web/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-yev/k9GHAEGx2Rg3/tU6MQh4HGBXJs70y7j1LaM1i/ER9po+6nnQ6RRqTJn1E7Xu0fbIFK80Nh5EoODxrbxwBQ==", + "path": "system.text.encodings.web/8.0.0", + "hashPath": "system.text.encodings.web.8.0.0.nupkg.sha512" + }, + "System.Text.Json/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-OdrZO2WjkiEG6ajEFRABTRCi/wuXQPxeV6g8xvUJqdxMvvuCCEk86zPla8UiIQJz3durtUEbNyY/3lIhS0yZvQ==", + "path": "system.text.json/8.0.0", + "hashPath": "system.text.json.8.0.0.nupkg.sha512" + }, + "xunit.abstractions/2.0.3": { + "type": "package", + "serviceable": true, + "sha512": "sha512-pot1I4YOxlWjIb5jmwvvQNbTrZ3lJQ+jUGkGjWE3hEFM0l5gOnBWS+H3qsex68s5cO52g+44vpGzhAt+42vwKg==", + "path": "xunit.abstractions/2.0.3", + "hashPath": "xunit.abstractions.2.0.3.nupkg.sha512" + }, + "xunit.extensibility.core/2.7.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-yLX4XlBFkvNYCzf+DEzlNk45KsSlu9W93IJHBmtUP96qZ9XyRYDFlwMj6BCcOhDKVNrZxSM8bqu4F/Qud4ehxA==", + "path": "xunit.extensibility.core/2.7.1", + "hashPath": "xunit.extensibility.core.2.7.1.nupkg.sha512" + }, + "Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions/14.0.0.0": { + "type": "reference", + "serviceable": false, + "sha512": "" + }, + "Microsoft.AspNetCore.Antiforgery/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "Microsoft.AspNetCore.Authentication.Abstractions/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "Microsoft.AspNetCore.Authentication.BearerToken/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "Microsoft.AspNetCore.Authentication.Cookies/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "Microsoft.AspNetCore.Authentication.Core/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "Microsoft.AspNetCore.Authentication/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "Microsoft.AspNetCore.Authentication.OAuth/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "Microsoft.AspNetCore.Authorization/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "Microsoft.AspNetCore.Authorization.Policy/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "Microsoft.AspNetCore.Components.Authorization/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "Microsoft.AspNetCore.Components/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "Microsoft.AspNetCore.Components.Endpoints/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "Microsoft.AspNetCore.Components.Forms/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "Microsoft.AspNetCore.Components.Server/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "Microsoft.AspNetCore.Components.Web/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "Microsoft.AspNetCore.Connections.Abstractions/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "Microsoft.AspNetCore.CookiePolicy/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "Microsoft.AspNetCore.Cors/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "Microsoft.AspNetCore.Cryptography.Internal/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "Microsoft.AspNetCore.Cryptography.KeyDerivation/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "Microsoft.AspNetCore.DataProtection.Abstractions/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "Microsoft.AspNetCore.DataProtection/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "Microsoft.AspNetCore.DataProtection.Extensions/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "Microsoft.AspNetCore.Diagnostics.Abstractions/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "Microsoft.AspNetCore.Diagnostics/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "Microsoft.AspNetCore.Diagnostics.HealthChecks/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "Microsoft.AspNetCore/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "Microsoft.AspNetCore.HostFiltering/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "Microsoft.AspNetCore.Hosting.Abstractions/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "Microsoft.AspNetCore.Hosting/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "Microsoft.AspNetCore.Hosting.Server.Abstractions/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "Microsoft.AspNetCore.Html.Abstractions/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "Microsoft.AspNetCore.Http.Abstractions/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "Microsoft.AspNetCore.Http.Connections.Common/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "Microsoft.AspNetCore.Http.Connections/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "Microsoft.AspNetCore.Http/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "Microsoft.AspNetCore.Http.Extensions/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "Microsoft.AspNetCore.Http.Features/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "Microsoft.AspNetCore.Http.Results/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "Microsoft.AspNetCore.HttpLogging/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "Microsoft.AspNetCore.HttpOverrides/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "Microsoft.AspNetCore.HttpsPolicy/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "Microsoft.AspNetCore.Identity/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "Microsoft.AspNetCore.Localization/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "Microsoft.AspNetCore.Localization.Routing/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "Microsoft.AspNetCore.Metadata/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "Microsoft.AspNetCore.Mvc.Abstractions/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "Microsoft.AspNetCore.Mvc.ApiExplorer/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "Microsoft.AspNetCore.Mvc.Core/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "Microsoft.AspNetCore.Mvc.Cors/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "Microsoft.AspNetCore.Mvc.DataAnnotations/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "Microsoft.AspNetCore.Mvc/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "Microsoft.AspNetCore.Mvc.Formatters.Json/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "Microsoft.AspNetCore.Mvc.Formatters.Xml/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "Microsoft.AspNetCore.Mvc.Localization/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "Microsoft.AspNetCore.Mvc.Razor/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "Microsoft.AspNetCore.Mvc.RazorPages/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "Microsoft.AspNetCore.Mvc.TagHelpers/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "Microsoft.AspNetCore.Mvc.ViewFeatures/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "Microsoft.AspNetCore.OutputCaching/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "Microsoft.AspNetCore.RateLimiting/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "Microsoft.AspNetCore.Razor/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "Microsoft.AspNetCore.Razor.Runtime/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "Microsoft.AspNetCore.RequestDecompression/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "Microsoft.AspNetCore.ResponseCaching.Abstractions/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "Microsoft.AspNetCore.ResponseCaching/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "Microsoft.AspNetCore.ResponseCompression/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "Microsoft.AspNetCore.Rewrite/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "Microsoft.AspNetCore.Routing.Abstractions/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "Microsoft.AspNetCore.Routing/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "Microsoft.AspNetCore.Server.HttpSys/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "Microsoft.AspNetCore.Server.IIS/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "Microsoft.AspNetCore.Server.IISIntegration/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "Microsoft.AspNetCore.Server.Kestrel.Core/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "Microsoft.AspNetCore.Server.Kestrel/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "Microsoft.AspNetCore.Server.Kestrel.Transport.NamedPipes/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "Microsoft.AspNetCore.Server.Kestrel.Transport.Quic/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "Microsoft.AspNetCore.Session/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "Microsoft.AspNetCore.SignalR.Common/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "Microsoft.AspNetCore.SignalR.Core/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "Microsoft.AspNetCore.SignalR/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "Microsoft.AspNetCore.SignalR.Protocols.Json/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "Microsoft.AspNetCore.StaticFiles/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "Microsoft.AspNetCore.WebSockets/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "Microsoft.AspNetCore.WebUtilities/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "Microsoft.CSharp/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "Microsoft.Extensions.Caching.Abstractions/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "Microsoft.Extensions.Caching.Memory/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "Microsoft.Extensions.Configuration.Abstractions.Reference/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "Microsoft.Extensions.Configuration.Binder.Reference/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "Microsoft.Extensions.Configuration.CommandLine.Reference/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "Microsoft.Extensions.Configuration.Reference/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "Microsoft.Extensions.Configuration.EnvironmentVariables.Reference/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "Microsoft.Extensions.Configuration.FileExtensions.Reference/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "Microsoft.Extensions.Configuration.Ini/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "Microsoft.Extensions.Configuration.Json.Reference/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "Microsoft.Extensions.Configuration.KeyPerFile/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "Microsoft.Extensions.Configuration.UserSecrets.Reference/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "Microsoft.Extensions.Configuration.Xml/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "Microsoft.Extensions.DependencyInjection.Abstractions.Reference/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "Microsoft.Extensions.DependencyInjection.Reference/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "Microsoft.Extensions.Diagnostics.Abstractions.Reference/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "Microsoft.Extensions.Diagnostics.Reference/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "Microsoft.Extensions.Diagnostics.HealthChecks/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "Microsoft.Extensions.Features/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "Microsoft.Extensions.FileProviders.Abstractions.Reference/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "Microsoft.Extensions.FileProviders.Composite/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "Microsoft.Extensions.FileProviders.Embedded/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "Microsoft.Extensions.FileProviders.Physical.Reference/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "Microsoft.Extensions.FileSystemGlobbing.Reference/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "Microsoft.Extensions.Hosting.Abstractions.Reference/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "Microsoft.Extensions.Hosting.Reference/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "Microsoft.Extensions.Http/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "Microsoft.Extensions.Identity.Core/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "Microsoft.Extensions.Identity.Stores/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "Microsoft.Extensions.Localization.Abstractions/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "Microsoft.Extensions.Localization/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "Microsoft.Extensions.Logging.Abstractions.Reference/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "Microsoft.Extensions.Logging.Configuration.Reference/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "Microsoft.Extensions.Logging.Console.Reference/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "Microsoft.Extensions.Logging.Debug.Reference/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "Microsoft.Extensions.Logging.Reference/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "Microsoft.Extensions.Logging.EventLog.Reference/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "Microsoft.Extensions.Logging.EventSource.Reference/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "Microsoft.Extensions.Logging.TraceSource/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "Microsoft.Extensions.ObjectPool/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "Microsoft.Extensions.Options.ConfigurationExtensions.Reference/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "Microsoft.Extensions.Options.DataAnnotations/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "Microsoft.Extensions.Options.Reference/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "Microsoft.Extensions.Primitives.Reference/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "Microsoft.Extensions.WebEncoders/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "Microsoft.JSInterop/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "Microsoft.Net.Http.Headers/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "Microsoft.VisualBasic.Core/13.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "Microsoft.VisualBasic/10.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "Microsoft.Win32.Primitives/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "Microsoft.Win32.Registry/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "mscorlib/4.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "netstandard/2.1.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "System.AppContext/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "System.Buffers/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "System.Collections.Concurrent/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "System.Collections/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "System.Collections.Immutable/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "System.Collections.NonGeneric/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "System.Collections.Specialized/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "System.ComponentModel.Annotations/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "System.ComponentModel.DataAnnotations/4.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "System.ComponentModel/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "System.ComponentModel.EventBasedAsync/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "System.ComponentModel.Primitives/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "System.ComponentModel.TypeConverter/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "System.Configuration/4.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "System.Console/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "System.Core/4.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "System.Data.Common/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "System.Data.DataSetExtensions/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "System.Data/4.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "System.Diagnostics.Contracts/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "System.Diagnostics.Debug/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "System.Diagnostics.DiagnosticSource.Reference/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "System.Diagnostics.EventLog.Reference/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "System.Diagnostics.FileVersionInfo/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "System.Diagnostics.Process/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "System.Diagnostics.StackTrace/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "System.Diagnostics.TextWriterTraceListener/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "System.Diagnostics.Tools/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "System.Diagnostics.TraceSource/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "System.Diagnostics.Tracing/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "System/4.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "System.Drawing/4.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "System.Drawing.Primitives/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "System.Dynamic.Runtime/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "System.Formats.Asn1/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "System.Formats.Tar/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "System.Globalization.Calendars/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "System.Globalization/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "System.Globalization.Extensions/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "System.IO.Compression.Brotli/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "System.IO.Compression/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "System.IO.Compression.FileSystem/4.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "System.IO.Compression.ZipFile/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "System.IO/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "System.IO.FileSystem.AccessControl/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "System.IO.FileSystem/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "System.IO.FileSystem.DriveInfo/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "System.IO.FileSystem.Primitives/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "System.IO.FileSystem.Watcher/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "System.IO.IsolatedStorage/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "System.IO.MemoryMappedFiles/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "System.IO.Pipelines.Reference/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "System.IO.Pipes.AccessControl/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "System.IO.Pipes/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "System.IO.UnmanagedMemoryStream/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "System.Linq/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "System.Linq.Expressions/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "System.Linq.Parallel/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "System.Linq.Queryable/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "System.Memory/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "System.Net/4.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "System.Net.Http/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "System.Net.Http.Json/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "System.Net.HttpListener/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "System.Net.Mail/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "System.Net.NameResolution/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "System.Net.NetworkInformation/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "System.Net.Ping/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "System.Net.Primitives/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "System.Net.Quic/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "System.Net.Requests/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "System.Net.Security/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "System.Net.ServicePoint/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "System.Net.Sockets/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "System.Net.WebClient/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "System.Net.WebHeaderCollection/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "System.Net.WebProxy/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "System.Net.WebSockets.Client/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "System.Net.WebSockets/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "System.Numerics/4.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "System.Numerics.Vectors/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" }, - "Swashbuckle.AspNetCore.SwaggerGen/6.5.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-Y/qW8Qdg9OEs7V013tt+94OdPxbRdbhcEbw4NiwGvf4YBcfhL/y7qp/Mjv/cENsQ2L3NqJ2AOu94weBy/h4KvA==", - "path": "swashbuckle.aspnetcore.swaggergen/6.5.0", - "hashPath": "swashbuckle.aspnetcore.swaggergen.6.5.0.nupkg.sha512" + "System.ObjectModel/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" }, - "Swashbuckle.AspNetCore.SwaggerUI/6.5.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-OvbvxX+wL8skxTBttcBsVxdh73Fag4xwqEU2edh4JMn7Ws/xJHnY/JB1e9RoCb6XpDxUF3hD9A0Z1lEUx40Pfw==", - "path": "swashbuckle.aspnetcore.swaggerui/6.5.0", - "hashPath": "swashbuckle.aspnetcore.swaggerui.6.5.0.nupkg.sha512" + "System.Reflection.DispatchProxy/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "System.Reflection/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "System.Reflection.Emit/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "System.Reflection.Emit.ILGeneration/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "System.Reflection.Emit.Lightweight/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "System.Reflection.Extensions/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "System.Reflection.Metadata.Reference/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "System.Reflection.Primitives/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "System.Reflection.TypeExtensions/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "System.Resources.Reader/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "System.Resources.ResourceManager/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "System.Resources.Writer/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "System.Runtime.CompilerServices.Unsafe/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "System.Runtime.CompilerServices.VisualC/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "System.Runtime/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "System.Runtime.Extensions/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "System.Runtime.Handles/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "System.Runtime.InteropServices/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "System.Runtime.InteropServices.JavaScript/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "System.Runtime.InteropServices.RuntimeInformation/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "System.Runtime.Intrinsics/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "System.Runtime.Loader/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "System.Runtime.Numerics/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "System.Runtime.Serialization/4.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "System.Runtime.Serialization.Formatters/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "System.Runtime.Serialization.Json/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "System.Runtime.Serialization.Primitives/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "System.Runtime.Serialization.Xml/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "System.Security.AccessControl/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "System.Security.Claims/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "System.Security.Cryptography.Algorithms/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "System.Security.Cryptography.Cng/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "System.Security.Cryptography.Csp/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "System.Security.Cryptography/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "System.Security.Cryptography.Encoding/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "System.Security.Cryptography.OpenSsl/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "System.Security.Cryptography.Primitives/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "System.Security.Cryptography.X509Certificates/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "System.Security.Cryptography.Xml/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "System.Security/4.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "System.Security.Principal/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "System.Security.Principal.Windows/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "System.Security.SecureString/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "System.ServiceModel.Web/4.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "System.ServiceProcess/4.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "System.Text.Encoding.CodePages/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "System.Text.Encoding/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "System.Text.Encoding.Extensions/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "System.Text.Encodings.Web.Reference/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "System.Text.Json.Reference/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "System.Text.RegularExpressions/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "System.Threading.Channels/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "System.Threading/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "System.Threading.Overlapped/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "System.Threading.RateLimiting/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "System.Threading.Tasks.Dataflow/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "System.Threading.Tasks/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "System.Threading.Tasks.Extensions/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "System.Threading.Tasks.Parallel/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "System.Threading.Thread/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "System.Threading.ThreadPool/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "System.Threading.Timer/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "System.Transactions/4.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "System.Transactions.Local/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "System.ValueTuple/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "System.Web/4.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "System.Web.HttpUtility/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "System.Windows/4.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "System.Xml/4.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "System.Xml.Linq/4.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "System.Xml.ReaderWriter/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "System.Xml.Serialization/4.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "System.Xml.XDocument/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "System.Xml.XmlDocument/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "System.Xml.XmlSerializer/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "System.Xml.XPath/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "System.Xml.XPath.XDocument/8.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" + }, + "WindowsBase/4.0.0.0": { + "type": "referenceassembly", + "serviceable": false, + "sha512": "" } } } \ No newline at end of file diff --git a/bin/Debug/net8.0/Chemistry Cafe API.dll b/bin/Debug/net8.0/Chemistry Cafe API.dll index 57bf300..d90c834 100644 Binary files a/bin/Debug/net8.0/Chemistry Cafe API.dll and b/bin/Debug/net8.0/Chemistry Cafe API.dll differ diff --git a/bin/Debug/net8.0/Chemistry Cafe API.exe b/bin/Debug/net8.0/Chemistry Cafe API.exe index 4c5c9a2..c6a6f5f 100644 Binary files a/bin/Debug/net8.0/Chemistry Cafe API.exe and b/bin/Debug/net8.0/Chemistry Cafe API.exe differ diff --git a/bin/Debug/net8.0/Chemistry Cafe API.pdb b/bin/Debug/net8.0/Chemistry Cafe API.pdb index 1f858ed..34f1ec6 100644 Binary files a/bin/Debug/net8.0/Chemistry Cafe API.pdb and b/bin/Debug/net8.0/Chemistry Cafe API.pdb differ diff --git a/coveragereport/chemistry_cafe_api.dll_DBConnection.html b/coveragereport/chemistry_cafe_api.dll_DBConnection.html new file mode 100644 index 0000000..2368615 --- /dev/null +++ b/coveragereport/chemistry_cafe_api.dll_DBConnection.html @@ -0,0 +1,181 @@ + + + + + + + +Chemistry_Cafe_API.Tests.DBConnection - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:Chemistry_Cafe_API.Tests.DBConnection
Assembly:chemistry cafe api.dll
File(s):C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\Tests\DBConnection.cs
+
+
+
+
+
+
+
Line coverage
+
+
100%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:1
Uncovered lines:0
Coverable lines:1
Total lines:9
Line coverage:100%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+
+ +++++ + + + + +
MethodBlocks covered Blocks not covered
DBConnection()20
+
+

File(s)

+

C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\Tests\DBConnection.cs

+
+ + + + + + + + + + + + + +
#LineLine coverage
 1using MySqlConnector;
 2
 3namespace Chemistry_Cafe_API.Tests
 4{
 5    public class DBConnection
 6    {
 17        public static MySqlDataSource DataSource = new MySqlDataSource("Server=chemisty-cafe.cl8uuceq2rud.us-east-1.rds.
 8    }
 9}
+
+
+
+
+

Methods/Properties

+DBConnection()
+
+
+ + \ No newline at end of file diff --git a/coveragereport/chemistry_cafe_api.dll_DeleteReactantProductList.html b/coveragereport/chemistry_cafe_api.dll_DeleteReactantProductList.html new file mode 100644 index 0000000..93ee052 --- /dev/null +++ b/coveragereport/chemistry_cafe_api.dll_DeleteReactantProductList.html @@ -0,0 +1,169 @@ + + + + + + + +Chemistry_Cafe_API.Models.DeleteReactantProductList - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:Chemistry_Cafe_API.Models.DeleteReactantProductList
Assembly:chemistry cafe api.dll
File(s):C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\Models\DeleteReactantProductList.cs
+
+
+
+
+
+
+
Line coverage
+
+
0%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:0
Uncovered lines:2
Coverable lines:2
Total lines:8
Line coverage:0%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

File(s)

+

C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\Models\DeleteReactantProductList.cs

+
+ + + + + + + + + + + + +
#LineLine coverage
 1namespace Chemistry_Cafe_API.Models
 2{
 3    public class DeleteReactantProductList
 4    {
 05        public Guid reactant_product_uuid { get; set; }
 06        public Guid species_uuid {  get; set; }
 7    }
 8}
+
+
+
+ + \ No newline at end of file diff --git a/coveragereport/chemistry_cafe_api.dll_Family.html b/coveragereport/chemistry_cafe_api.dll_Family.html new file mode 100644 index 0000000..4852a4a --- /dev/null +++ b/coveragereport/chemistry_cafe_api.dll_Family.html @@ -0,0 +1,175 @@ + + + + + + + +Chemistry_Cafe_API.Models.Family - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:Chemistry_Cafe_API.Models.Family
Assembly:chemistry cafe api.dll
File(s):C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\Models\Family.cs
+
+
+
+
+
+
+
Line coverage
+
+
100%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:4
Uncovered lines:0
Coverable lines:4
Total lines:10
Line coverage:100%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

File(s)

+

C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\Models\Family.cs

+
+ + + + + + + + + + + + + + +
#LineLine coverage
 1namespace Chemistry_Cafe_API.Models
 2{
 3    public class Family
 4    {
 15        public Guid uuid { get; set; }
 16        public string? name { get; set; }
 17        public Guid super_tag_mechanism_uuid { get; set; }
 18        public bool isDel {  get; set; }
 9    }
 10}
+
+
+
+ + \ No newline at end of file diff --git a/coveragereport/chemistry_cafe_api.dll_FamilyController.html b/coveragereport/chemistry_cafe_api.dll_FamilyController.html new file mode 100644 index 0000000..1ad5a30 --- /dev/null +++ b/coveragereport/chemistry_cafe_api.dll_FamilyController.html @@ -0,0 +1,239 @@ + + + + + + + +Chemistry_Cafe_API.Controllers.FamilyController - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:Chemistry_Cafe_API.Controllers.FamilyController
Assembly:chemistry cafe api.dll
File(s):C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\Controllers\FamilyController.cs
+
+
+
+
+
+
+
Line coverage
+
+
100%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:19
Uncovered lines:0
Coverable lines:19
Total lines:57
Line coverage:100%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+
+ +++++ + + + + + + + + + +
MethodBlocks covered Blocks not covered
FamilyController(...)30
Get()162
Get()162
Create()162
Put()162
Delete()162
+
+

File(s)

+

C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\Controllers\FamilyController.cs

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
#LineLine coverage
 1using Chemistry_Cafe_API.Models;
 2using Chemistry_Cafe_API.Services;
 3using Microsoft.AspNetCore.Mvc;
 4using MySqlConnector;
 5
 6// For more information on enabling Web API for empty projects, visit https://go.microsoft.com/fwlink/?LinkID=397860
 7
 8namespace Chemistry_Cafe_API.Controllers
 9{
 10    [Route("api/[controller]")]
 11    [ApiController]
 12    public class FamilyController : ControllerBase
 13    {
 14        private FamilyService familyService;
 15
 16        //Injects sql data source setup in Program.cs
 117        public FamilyController([FromServices] MySqlDataSource db)
 118        {
 119            this.familyService = new FamilyService(db);
 120        }
 21
 22        // GET: api/Family/all
 23        [HttpGet("all")]
 24        public async Task<IReadOnlyList<Family>> Get()
 125        {
 126            return await familyService.GetFamiliesAsync();
 127        }
 28
 29        // GET api/Family/5
 30        [HttpGet("{uuid}")]
 31        public async Task<Family?> Get(Guid uuid)
 132        {
 133            return await familyService.GetFamilyAsync(uuid);
 134        }
 35
 36        // POST api/Family/create
 37        [HttpPost("create")]
 38        public async Task<Family> Create([FromBody] string name)
 139        {
 140            return await familyService.CreateFamilyAsync(name);
 141        }
 42
 43        // PUT api/Family/5
 44        [HttpPut("update")]
 45        public async Task Put([FromBody] Family family)
 146        {
 147            await familyService.UpdateFamilyAsync(family);
 148        }
 49
 50        // DELETE api/Family/delete/5
 51        [HttpDelete("delete/{uuid}")]
 52        public async Task Delete(Guid uuid)
 153        {
 154            await familyService.DeleteFamilyAsync(uuid);
 155        }
 56    }
 57}
+
+
+
+ + \ No newline at end of file diff --git a/coveragereport/chemistry_cafe_api.dll_FamilyControllerTests.html b/coveragereport/chemistry_cafe_api.dll_FamilyControllerTests.html new file mode 100644 index 0000000..020a218 --- /dev/null +++ b/coveragereport/chemistry_cafe_api.dll_FamilyControllerTests.html @@ -0,0 +1,228 @@ + + + + + + + +Chemistry_Cafe_API.Tests.FamilyControllerTests - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:Chemistry_Cafe_API.Tests.FamilyControllerTests
Assembly:chemistry cafe api.dll
File(s):C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\Tests\FamilyControllerTests.cs
+
+
+
+
+
+
+
Line coverage
+
+
100%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:18
Uncovered lines:0
Coverable lines:18
Total lines:50
Line coverage:100%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+
+ +++++ + + + + + + + +
MethodBlocks covered Blocks not covered
FamilyControllerTests()30
Get_retrieves_family()172
Creates_family()312
Updates_family()482
+
+

File(s)

+

C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\Tests\FamilyControllerTests.cs

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
#LineLine coverage
 1using Chemistry_Cafe_API.Controllers;
 2using Chemistry_Cafe_API.Models;
 3using Microsoft.VisualStudio.TestTools.UnitTesting;
 4using MySqlConnector;
 5
 6namespace Chemistry_Cafe_API.Tests
 7{
 8    [TestClass]
 9    public class FamilyControllerTests
 10    {
 111        FamilyController controller = new FamilyController(DBConnection.DataSource);
 12
 13        [TestMethod]
 14        public async Task Get_retrieves_family()
 115        {
 16
 117            var result = await controller.Get() as List<Family>;
 18
 119            Assert.IsNotNull(result);
 120        }
 21
 22        [TestMethod]
 23        public async Task Creates_family()
 124        {
 25
 126            var result = await controller.Create("Test") ;
 27
 128            var getResult = await controller.Get(result.uuid);
 29
 130            Assert.AreEqual(result.uuid, getResult.uuid);
 131        }
 32
 33        [TestMethod]
 34        public async Task Updates_family()
 135        {
 36
 137            var result = await controller.Create("Test");
 38
 139            result.name = "Edited";
 40
 141            await controller.Put(result);
 42
 143            var getResult = await controller.Get(result.uuid);
 44
 145            await controller.Delete(result.uuid);
 46
 147            Assert.AreEqual(result.name, "Edited");
 148        }
 49    }
 50}
+
+
+
+ + \ No newline at end of file diff --git a/coveragereport/chemistry_cafe_api.dll_FamilyService.html b/coveragereport/chemistry_cafe_api.dll_FamilyService.html new file mode 100644 index 0000000..c7cfc25 --- /dev/null +++ b/coveragereport/chemistry_cafe_api.dll_FamilyService.html @@ -0,0 +1,293 @@ + + + + + + + +Chemistry_Cafe_API.Services.FamilyService - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:Chemistry_Cafe_API.Services.FamilyService
Assembly:chemistry cafe api.dll
File(s):C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\Services\FamilyService.cs
+
+
+
+
+
+
+
Line coverage
+
+
100%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:70
Uncovered lines:0
Coverable lines:70
Total lines:109
Line coverage:100%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+
+ +++++ + + + + + + + + + + +
MethodBlocks covered Blocks not covered
FamilyService(...)20
GetFamiliesAsync()566
GetFamilyAsync()596
CreateFamilyAsync()702
UpdateFamilyAsync()612
DeleteFamilyAsync()512
ReadAllAsync()367
+
+

File(s)

+

C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\Services\FamilyService.cs

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
#LineLine coverage
 1using Chemistry_Cafe_API.Models;
 2using System.Data.Common;
 3using MySqlConnector;
 4using Microsoft.AspNetCore.Mvc;
 5
 6
 7namespace Chemistry_Cafe_API.Services
 8{
 19    public class FamilyService(MySqlDataSource database)
 10    {
 11        public async Task<IReadOnlyList<Family>> GetFamiliesAsync()
 112        {
 113            using var connection = await database.OpenConnectionAsync();
 114            using var command = connection.CreateCommand();
 15
 116            command.CommandText = "SELECT * FROM Family WHERE isDel = FALSE";
 117            return await ReadAllAsync(await command.ExecuteReaderAsync());
 118        }
 19
 20        public async Task<Family?> GetFamilyAsync(Guid uuid)
 121        {
 122            using var connection = await database.OpenConnectionAsync();
 123            using var command = connection.CreateCommand();
 24
 125            command.CommandText = @"SELECT * FROM Family WHERE uuid = @id";
 126            command.Parameters.AddWithValue("@id", uuid);
 27
 128            var result = await ReadAllAsync(await command.ExecuteReaderAsync());
 129            return result.FirstOrDefault();
 130        }
 31
 32        public async Task<Family> CreateFamilyAsync(string name)
 133        {
 134            using var connection = await database.OpenConnectionAsync();
 135            using var command = connection.CreateCommand();
 36
 137            Guid tagMechanismID = Guid.NewGuid();
 38
 139            command.CommandText = @"INSERT INTO TagMechanism (uuid, tag) VALUES (@tag_mechanism_uuid, @tag);";
 40
 141            command.Parameters.AddWithValue("@tag_mechanism_uuid", tagMechanismID);
 142            command.Parameters.AddWithValue("@tag", name + "-FamilySuperMechanism");
 43
 144            Guid familyID = Guid.NewGuid();
 45
 146            command.CommandText += @"INSERT INTO Family (uuid, name, super_tag_mechanism_uuid) VALUES (@uuid, @name, @su
 47
 148            command.Parameters.AddWithValue("@uuid", familyID);
 149            command.Parameters.AddWithValue("@name", name);
 150            command.Parameters.AddWithValue("@super_tag_mechanism_uuid", tagMechanismID);
 51
 152            Family family = new Family();
 153            family.uuid = familyID;
 154            family.name = name;
 155            family.super_tag_mechanism_uuid = tagMechanismID;
 156            family.isDel = false;
 57
 158            await command.ExecuteNonQueryAsync();
 59
 160            return family;
 161        }
 62        public async Task UpdateFamilyAsync(Family family)
 163        {
 164            using var connection = await database.OpenConnectionAsync();
 165            using var command = connection.CreateCommand();
 66
 167            command.CommandText = @"UPDATE Family SET name = @name, super_tag_mechanism_uuid = @super_tag_mechanism_uuid
 68
 169            command.Parameters.AddWithValue("@uuid", family.uuid);
 170            command.Parameters.AddWithValue("@name", family.name);
 171            command.Parameters.AddWithValue("@super_tag_mechanism_uuid", family.super_tag_mechanism_uuid);
 172            command.Parameters.AddWithValue("@isDel", family.isDel);
 73
 174            await command.ExecuteNonQueryAsync();
 175        }
 76
 77        public async Task DeleteFamilyAsync(Guid uuid)
 178        {
 179            using var connection = await database.OpenConnectionAsync();
 180            using var command = connection.CreateCommand();
 81
 182            command.CommandText = @"UPDATE Family SET isDel = 1 WHERE uuid = @uuid;";
 83
 184            command.Parameters.AddWithValue("@uuid", uuid);
 85
 186            await command.ExecuteNonQueryAsync();
 187        }
 88
 89        private async Task<IReadOnlyList<Family>> ReadAllAsync(DbDataReader reader)
 190        {
 191            var families = new List<Family>();
 192            using (reader)
 193            {
 194                while (await reader.ReadAsync())
 195                {
 196                    var family = new Family
 197                    {
 198                        uuid = reader.GetGuid(0),
 199                        name = reader.GetString(1),
 1100                        super_tag_mechanism_uuid = reader.GetGuid(2),
 1101                        isDel = reader.GetBoolean(3),
 1102                    };
 1103                    families.Add(family);
 1104                }
 1105            }
 1106            return families;
 1107        }
 108    }
 109}
+
+
+
+ + \ No newline at end of file diff --git a/coveragereport/chemistry_cafe_api.dll_FamilyTagMechList.html b/coveragereport/chemistry_cafe_api.dll_FamilyTagMechList.html new file mode 100644 index 0000000..f39931a --- /dev/null +++ b/coveragereport/chemistry_cafe_api.dll_FamilyTagMechList.html @@ -0,0 +1,178 @@ + + + + + + + +Chemistry_Cafe_API.Models.FamilyTagMechList - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:Chemistry_Cafe_API.Models.FamilyTagMechList
Assembly:chemistry cafe api.dll
File(s):C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\Models\FamilyTagMechList.cs
+
+
+
+
+
+
+
Line coverage
+
+
100%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:5
Uncovered lines:0
Coverable lines:5
Total lines:11
Line coverage:100%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

File(s)

+

C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\Models\FamilyTagMechList.cs

+
+ + + + + + + + + + + + + + + +
#LineLine coverage
 1namespace Chemistry_Cafe_API.Models
 2{
 3    public class FamilyTagMechList
 4    {
 15        public Guid uuid { get; set; }
 16        public Guid family_uuid { get; set; }
 17        public Guid tag_mechanism_uuid { get; set; }
 18        public string? version { get; set; }
 19        public bool isDel {  get; set; }
 10    }
 11}
+
+
+
+ + \ No newline at end of file diff --git a/coveragereport/chemistry_cafe_api.dll_FamilyTagMechListController.html b/coveragereport/chemistry_cafe_api.dll_FamilyTagMechListController.html new file mode 100644 index 0000000..4fce68e --- /dev/null +++ b/coveragereport/chemistry_cafe_api.dll_FamilyTagMechListController.html @@ -0,0 +1,239 @@ + + + + + + + +Chemistry_Cafe_API.Controllers.FamilyTagMechListController - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:Chemistry_Cafe_API.Controllers.FamilyTagMechListController
Assembly:chemistry cafe api.dll
File(s):C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\Controllers\FamilyTagMechListController.cs
+
+
+
+
+
+
+
Line coverage
+
+
100%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:19
Uncovered lines:0
Coverable lines:19
Total lines:57
Line coverage:100%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+
+ +++++ + + + + + + + + + +
MethodBlocks covered Blocks not covered
FamilyTagMechListController(...)30
Get()162
Get()162
Create()162
Put()162
Delete()162
+
+

File(s)

+

C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\Controllers\FamilyTagMechListController.cs

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
#LineLine coverage
 1using Chemistry_Cafe_API.Models;
 2using Chemistry_Cafe_API.Services;
 3using Microsoft.AspNetCore.Mvc;
 4using MySqlConnector;
 5
 6// For more information on enabling Web API for empty projects, visit https://go.microsoft.com/fwlink/?LinkID=397860
 7
 8namespace Chemistry_Cafe_API.Controllers
 9{
 10    [Route("api/[controller]")]
 11    [ApiController]
 12    public class FamilyTagMechListController : ControllerBase
 13    {
 14        private FamilyTagMechListService familyMechListService;
 15
 16        //Injects sql data source setup in Program.cs
 117        public FamilyTagMechListController([FromServices] MySqlDataSource db)
 118        {
 119            this.familyMechListService = new FamilyTagMechListService(db);
 120        }
 21
 22        // GET: api/FamilyMechList/all
 23        [HttpGet("all")]
 24        public async Task<IReadOnlyList<FamilyTagMechList>> Get()
 125        {
 126            return await familyMechListService.GetFamilyMechListsAsync();
 127        }
 28
 29        // GET api/FamilyMechList/5
 30        [HttpGet("{uuid}")]
 31        public async Task<FamilyTagMechList?> Get(Guid uuid)
 132        {
 133            return await familyMechListService.GetFamilyMechListAsync(uuid);
 134        }
 35
 36        // POST api/FamilyMechList/create
 37        [HttpPost("create")]
 38        public async Task<Guid> Create([FromBody] FamilyTagMechList newFamilyMechList)
 139        {
 140            return await familyMechListService.CreateFamilyMechListAsync(newFamilyMechList);
 141        }
 42
 43        // PUT api/FamilyMechList/5
 44        [HttpPut("update")]
 45        public async Task Put([FromBody] FamilyTagMechList newFamilyMechList)
 146        {
 147            await familyMechListService.UpdateFamilyMechListAsync(newFamilyMechList);
 148        }
 49
 50        // DELETE api/FamilyMechList/delete/5
 51        [HttpDelete("delete/{uuid}")]
 52        public async Task Delete(Guid uuid)
 153        {
 154            await familyMechListService.DeleteFamilyMechListAsync(uuid);
 155        }
 56    }
 57}
+
+
+
+ + \ No newline at end of file diff --git a/coveragereport/chemistry_cafe_api.dll_FamilyTagMechListControllerTests.html b/coveragereport/chemistry_cafe_api.dll_FamilyTagMechListControllerTests.html new file mode 100644 index 0000000..89f3c35 --- /dev/null +++ b/coveragereport/chemistry_cafe_api.dll_FamilyTagMechListControllerTests.html @@ -0,0 +1,244 @@ + + + + + + + +Chemistry_Cafe_API.Tests.FamilyTagMechListControllerTests - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:Chemistry_Cafe_API.Tests.FamilyTagMechListControllerTests
Assembly:chemistry cafe api.dll
File(s):C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\Tests\FamilyTagMechListControllerTests.cs
+
+
+
+
+
+
+
Line coverage
+
+
100%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:32
Uncovered lines:0
Coverable lines:32
Total lines:66
Line coverage:100%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+ +

File(s)

+

C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\Tests\FamilyTagMechListControllerTests.cs

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
#LineLine coverage
 1using Chemistry_Cafe_API.Controllers;
 2using Chemistry_Cafe_API.Models;
 3using Microsoft.VisualStudio.TestTools.UnitTesting;
 4using MySqlConnector;
 5
 6namespace Chemistry_Cafe_API.Tests
 7{
 8    [TestClass]
 9    public class FamilyTagMechListControllerTests
 10    {
 111        FamilyTagMechListController controller = new FamilyTagMechListController(DBConnection.DataSource);
 12
 13
 14        [TestMethod]
 15        public async Task Get_retrieves_familytagmechlist()
 116        {
 17
 118            var result = await controller.Get() as List<FamilyTagMechList>;
 19
 120            Assert.IsNotNull(result);
 121        }
 22
 23        [TestMethod]
 24        public async Task Creates_familytagmechlist()
 125        {
 126            var familyTagMecList = new FamilyTagMechList
 127            {
 128                family_uuid = new Guid("085fd412-376d-4a89-ad43-18047058b635"),
 129                tag_mechanism_uuid = new Guid("1da51091-b9e8-42c7-911b-8e9f0d274f56"),
 130                version = "1.0"
 131            };
 32
 133            var result = await controller.Create(familyTagMecList);
 34
 135            var getResult = await controller.Get(result);
 36
 137            Assert.AreEqual(result, getResult.uuid);
 138        }
 39
 40        [TestMethod]
 41        public async Task Updates_familytagmechlist()
 142        {
 143            var familyTagMecList = new FamilyTagMechList
 144            {
 145                family_uuid = new Guid("085fd412-376d-4a89-ad43-18047058b635"),
 146                tag_mechanism_uuid = new Guid("1da51091-b9e8-42c7-911b-8e9f0d274f56"),
 147                version = "1.0",
 148                isDel = false
 149            };
 50
 151            var result = await controller.Create(familyTagMecList);
 52
 153            var getResult = await controller.Get(result);
 54
 155            getResult.version = "Edited";
 56
 157            await controller.Put(getResult);
 58
 159            var getEdited = await controller.Get(result);
 60
 161            await controller.Delete(result);
 62
 163            Assert.AreEqual(getEdited.version, "Edited");
 164        }
 65    }
 66}
+
+
+
+ + \ No newline at end of file diff --git a/coveragereport/chemistry_cafe_api.dll_FamilyTagMechListService.html b/coveragereport/chemistry_cafe_api.dll_FamilyTagMechListService.html new file mode 100644 index 0000000..f991f4b --- /dev/null +++ b/coveragereport/chemistry_cafe_api.dll_FamilyTagMechListService.html @@ -0,0 +1,282 @@ + + + + + + + +Chemistry_Cafe_API.Services.FamilyTagMechListService - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:Chemistry_Cafe_API.Services.FamilyTagMechListService
Assembly:chemistry cafe api.dll
File(s):C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\Services\FamilyTagMechListService.cs
+
+
+
+
+
+
+
Line coverage
+
+
100%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:64
Uncovered lines:0
Coverable lines:64
Total lines:98
Line coverage:100%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+ +

File(s)

+

C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\Services\FamilyTagMechListService.cs

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
#LineLine coverage
 1using Chemistry_Cafe_API.Models;
 2using System.Data.Common;
 3using MySqlConnector;
 4using Microsoft.AspNetCore.Mvc;
 5
 6namespace Chemistry_Cafe_API.Services
 7{
 18    public class FamilyTagMechListService (MySqlDataSource database)
 9    {
 10        public async Task<IReadOnlyList<FamilyTagMechList>> GetFamilyMechListsAsync()
 111        {
 112            using var connection = await database.OpenConnectionAsync();
 113            using var command = connection.CreateCommand();
 14
 115            command.CommandText = "SELECT * FROM Family_TagMechanism_List WHERE isDel = 0";
 116            return await ReadAllAsync(await command.ExecuteReaderAsync());
 117        }
 18
 19        public async Task<FamilyTagMechList?> GetFamilyMechListAsync(Guid uuid)
 120        {
 121            using var connection = await database.OpenConnectionAsync();
 122            using var command = connection.CreateCommand();
 23
 124            command.CommandText = @"SELECT * FROM Family_TagMechanism_List WHERE uuid = @id";
 125            command.Parameters.AddWithValue("@id", uuid);
 26
 127            var result = await ReadAllAsync(await command.ExecuteReaderAsync());
 128            return result.FirstOrDefault();
 129        }
 30
 31        public async Task<Guid> CreateFamilyMechListAsync(FamilyTagMechList newFamilyMechList)
 132        {
 133            using var connection = await database.OpenConnectionAsync();
 134            using var command = connection.CreateCommand();
 35
 136            Guid familyMechListID = Guid.NewGuid();
 37
 138            command.CommandText = @"INSERT INTO Family_TagMechanism_List (uuid, family_uuid, tag_mechanism_uuid, version
 39
 140            command.Parameters.AddWithValue("@uuid", familyMechListID);
 141            command.Parameters.AddWithValue("@family_uuid", newFamilyMechList.family_uuid);
 142            command.Parameters.AddWithValue("@tag_mechanism_uuid", newFamilyMechList.tag_mechanism_uuid);
 143            command.Parameters.AddWithValue("@version", newFamilyMechList.version);
 44
 145            await command.ExecuteNonQueryAsync();
 46
 147            return familyMechListID;
 148        }
 49        public async Task UpdateFamilyMechListAsync(FamilyTagMechList familyMechList)
 150        {
 151            using var connection = await database.OpenConnectionAsync();
 152            using var command = connection.CreateCommand();
 53
 154            command.CommandText = @"UPDATE Family_TagMechanism_List SET family_uuid = @family_uuid, tag_mechanism_uuid =
 55
 156            command.Parameters.AddWithValue("@uuid", familyMechList.uuid);
 157            command.Parameters.AddWithValue("@family_uuid", familyMechList.family_uuid);
 158            command.Parameters.AddWithValue("@tag_mechanism_uuid", familyMechList.tag_mechanism_uuid);
 159            command.Parameters.AddWithValue("@version", familyMechList.version);
 160            command.Parameters.AddWithValue("@isDel", familyMechList.isDel);
 61
 162            await command.ExecuteNonQueryAsync();
 163        }
 64
 65        public async Task DeleteFamilyMechListAsync(Guid uuid)
 166        {
 167            using var connection = await database.OpenConnectionAsync();
 168            using var command = connection.CreateCommand();
 69
 170            command.CommandText = @"UPDATE Family_TagMechanism_List SET isDel = 1 WHERE uuid = @uuid;";
 71
 172            command.Parameters.AddWithValue("@uuid", uuid);
 73
 174            await command.ExecuteNonQueryAsync();
 175        }
 76
 77        private async Task<IReadOnlyList<FamilyTagMechList>> ReadAllAsync(DbDataReader reader)
 178        {
 179            var familyMechList = new List<FamilyTagMechList>();
 180            using (reader)
 181            {
 182                while (await reader.ReadAsync())
 183                {
 184                    var familyMech = new FamilyTagMechList
 185                    {
 186                        uuid = reader.GetGuid(0),
 187                        family_uuid = reader.GetGuid(1),
 188                        tag_mechanism_uuid = reader.GetGuid(2),
 189                        version = reader.GetString(3),
 190                        isDel = reader.GetBoolean(4),
 191                    };
 192                    familyMechList.Add(familyMech);
 193                }
 194            }
 195            return familyMechList;
 196        }
 97    }
 98}
+
+
+
+ + \ No newline at end of file diff --git a/coveragereport/chemistry_cafe_api.dll_FamilyTagMechListVersion.html b/coveragereport/chemistry_cafe_api.dll_FamilyTagMechListVersion.html new file mode 100644 index 0000000..87d8f6f --- /dev/null +++ b/coveragereport/chemistry_cafe_api.dll_FamilyTagMechListVersion.html @@ -0,0 +1,187 @@ + + + + + + + +Chemistry_Cafe_API.Models.FamilyTagMechListVersion - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:Chemistry_Cafe_API.Models.FamilyTagMechListVersion
Assembly:chemistry cafe api.dll
File(s):C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\Models\FamilyTagMechListVersion.cs
+
+
+
+
+
+
+
Line coverage
+
+
100%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:8
Uncovered lines:0
Coverable lines:8
Total lines:14
Line coverage:100%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

File(s)

+

C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\Models\FamilyTagMechListVersion.cs

+
+ + + + + + + + + + + + + + + + + + +
#LineLine coverage
 1namespace Chemistry_Cafe_API.Models
 2{
 3    public class FamilyTagMechListVersion
 4    {
 15        public Guid uuid { get; set; }
 16        public Guid family_uuid { get; set; }
 17        public Guid tag_mechanism_uuid { get; set; }
 18        public string? frozen_version { get; set; }
 19        public string? action { get; set; }
 110        public Guid user_uuid { get; set; }
 111        public DateTime datetime { get; set; }
 112        public bool isDel {  get; set; }
 13    }
 14}
+
+
+
+ + \ No newline at end of file diff --git a/coveragereport/chemistry_cafe_api.dll_FamilyTagMechListVersionController.html b/coveragereport/chemistry_cafe_api.dll_FamilyTagMechListVersionController.html new file mode 100644 index 0000000..7e9c87c --- /dev/null +++ b/coveragereport/chemistry_cafe_api.dll_FamilyTagMechListVersionController.html @@ -0,0 +1,239 @@ + + + + + + + +Chemistry_Cafe_API.Controllers.FamilyTagMechListVersionController - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:Chemistry_Cafe_API.Controllers.FamilyTagMechListVersionController
Assembly:chemistry cafe api.dll
File(s):C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\Controllers\FamilyTagMechListVersionController.cs
+
+
+
+
+
+
+
Line coverage
+
+
100%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:19
Uncovered lines:0
Coverable lines:19
Total lines:57
Line coverage:100%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+
+ +++++ + + + + + + + + + +
MethodBlocks covered Blocks not covered
FamilyTagMechListVersionController(...)30
Get()162
Get()162
Create()162
Put()162
Delete()162
+
+

File(s)

+

C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\Controllers\FamilyTagMechListVersionController.cs

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
#LineLine coverage
 1using Chemistry_Cafe_API.Models;
 2using Chemistry_Cafe_API.Services;
 3using Microsoft.AspNetCore.Mvc;
 4using MySqlConnector;
 5
 6// For more information on enabling Web API for empty projects, visit https://go.microsoft.com/fwlink/?LinkID=397860
 7
 8namespace Chemistry_Cafe_API.Controllers
 9{
 10    [Route("api/[controller]")]
 11    [ApiController]
 12    public class FamilyTagMechListVersionController : ControllerBase
 13    {
 14        private FamilyTagMechListVersionService familyMechListVersionService;
 15
 16        //Injects sql data source setup in Program.cs
 117        public FamilyTagMechListVersionController([FromServices] MySqlDataSource db)
 118        {
 119            this.familyMechListVersionService = new FamilyTagMechListVersionService(db);
 120        }
 21
 22        // GET: api/FamilyMechListVersion/all
 23        [HttpGet("all")]
 24        public async Task<IReadOnlyList<FamilyTagMechListVersion>> Get()
 125        {
 126            return await familyMechListVersionService.GetFamilyMechListVersionsAsync();
 127        }
 28
 29        // GET api/FamilyMechListVersion/5
 30        [HttpGet("{uuid}")]
 31        public async Task<FamilyTagMechListVersion?> Get(Guid uuid)
 132        {
 133            return await familyMechListVersionService.GetFamilyMechListVersionAsync(uuid);
 134        }
 35
 36        // POST api/FamilyMechListVersion/create
 37        [HttpPost("create")]
 38        public async Task<Guid> Create([FromBody] FamilyTagMechListVersion newFamilyMechListVersion)
 139        {
 140            return await familyMechListVersionService.CreateFamilyMechListVersionAsync(newFamilyMechListVersion);
 141        }
 42
 43        // PUT api/FamilyMechListVersion/5
 44        [HttpPut("update")]
 45        public async Task Put([FromBody] FamilyTagMechListVersion newFamilyMechListVersion)
 146        {
 147            await familyMechListVersionService.UpdateFamilyMechListVersionAsync(newFamilyMechListVersion);
 148        }
 49
 50        // DELETE api/FamilyMechListVersion/delete/5
 51        [HttpDelete("delete/{uuid}")]
 52        public async Task Delete(Guid uuid)
 153        {
 154            await familyMechListVersionService.DeleteFamilyMechListVersionAsync(uuid);
 155        }
 56    }
 57}
+
+
+
+ + \ No newline at end of file diff --git a/coveragereport/chemistry_cafe_api.dll_FamilyTagMechListVersionControllerTests.html b/coveragereport/chemistry_cafe_api.dll_FamilyTagMechListVersionControllerTests.html new file mode 100644 index 0000000..d51fd95 --- /dev/null +++ b/coveragereport/chemistry_cafe_api.dll_FamilyTagMechListVersionControllerTests.html @@ -0,0 +1,250 @@ + + + + + + + +Chemistry_Cafe_API.Tests.FamilyTagMechListVersionControllerTests - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:Chemistry_Cafe_API.Tests.FamilyTagMechListVersionControllerTests
Assembly:chemistry cafe api.dll
File(s):C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\Tests\FamilyTagMechListVersionControllerTests.cs
+
+
+
+
+
+
+
Line coverage
+
+
100%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:39
Uncovered lines:0
Coverable lines:39
Total lines:72
Line coverage:100%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+ +

File(s)

+

C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\Tests\FamilyTagMechListVersionControllerTests.cs

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
#LineLine coverage
 1using Chemistry_Cafe_API.Controllers;
 2using Chemistry_Cafe_API.Models;
 3using Microsoft.VisualStudio.TestTools.UnitTesting;
 4using MySqlConnector;
 5
 6namespace Chemistry_Cafe_API.Tests
 7{
 8    [TestClass]
 9    public class FamilyTagMechListVersionControllerTests
 10    {
 111        FamilyTagMechListVersionController controller = new FamilyTagMechListVersionController(DBConnection.DataSource);
 12
 13
 14        [TestMethod]
 15        public async Task Get_retrieves_FamilyTagMechListVersion()
 116        {
 117            var result = await controller.Get() as List<FamilyTagMechListVersion>;
 18
 119            Assert.IsNotNull(result);
 120        }
 21
 22        [TestMethod]
 23        public async Task Creates_FamilyTagMechListVersion()
 124        {
 125            var familyTagMecList = new FamilyTagMechListVersion
 126            {
 127                family_uuid = new Guid("085fd412-376d-4a89-ad43-18047058b635"),
 128                tag_mechanism_uuid = new Guid("1da51091-b9e8-42c7-911b-8e9f0d274f56"),
 129                frozen_version = "1.0",
 130                user_uuid = new Guid("04c5db32-65e1-44ba-8b29-1cbfd5383789"),
 131                action = "test",
 132                datetime = DateTime.Now,
 133                isDel = false
 134            };
 35
 136            var result = await controller.Create(familyTagMecList);
 37
 138            var getResult = await controller.Get(result);
 39
 140            Assert.AreEqual(result, getResult.uuid);
 141        }
 42
 43        [TestMethod]
 44        public async Task Updates_FamilyTagMechListVersion()
 145        {
 146            var familyTagMecList = new FamilyTagMechListVersion
 147            {
 148                family_uuid = new Guid("085fd412-376d-4a89-ad43-18047058b635"),
 149                tag_mechanism_uuid = new Guid("1da51091-b9e8-42c7-911b-8e9f0d274f56"),
 150                frozen_version = "1.0",
 151                user_uuid = new Guid("04c5db32-65e1-44ba-8b29-1cbfd5383789"),
 152                action = "test",
 153                datetime = DateTime.Now,
 154                isDel = false
 155            };
 56
 157            var result = await controller.Create(familyTagMecList);
 58
 159            var getResult = await controller.Get(result);
 60
 161            getResult.action = "Edited";
 62
 163            await controller.Put(getResult);
 64
 165            var getEdited = await controller.Get(result);
 66
 167            await controller.Delete(result);
 68
 169            Assert.AreEqual(getEdited.action, "Edited");
 170        }
 71    }
 72}
+
+
+
+ + \ No newline at end of file diff --git a/coveragereport/chemistry_cafe_api.dll_FamilyTagMechListVersionService.html b/coveragereport/chemistry_cafe_api.dll_FamilyTagMechListVersionService.html new file mode 100644 index 0000000..d654deb --- /dev/null +++ b/coveragereport/chemistry_cafe_api.dll_FamilyTagMechListVersionService.html @@ -0,0 +1,291 @@ + + + + + + + +Chemistry_Cafe_API.Services.FamilyTagMechListVersionService - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:Chemistry_Cafe_API.Services.FamilyTagMechListVersionService
Assembly:chemistry cafe api.dll
File(s):C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\Services\FamilyTagMechListVersionService.cs
+
+
+
+
+
+
+
Line coverage
+
+
100%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:73
Uncovered lines:0
Coverable lines:73
Total lines:107
Line coverage:100%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+ +

File(s)

+

C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\Services\FamilyTagMechListVersionService.cs

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
#LineLine coverage
 1using Chemistry_Cafe_API.Models;
 2using System.Data.Common;
 3using MySqlConnector;
 4using Microsoft.AspNetCore.Mvc;
 5
 6namespace Chemistry_Cafe_API.Services
 7{
 18    public class FamilyTagMechListVersionService(MySqlDataSource database)
 9    {
 10        public async Task<IReadOnlyList<FamilyTagMechListVersion>> GetFamilyMechListVersionsAsync()
 111        {
 112            using var connection = await database.OpenConnectionAsync();
 113            using var command = connection.CreateCommand();
 14
 115            command.CommandText = "SELECT * FROM Family_TagMechanism_List_Version WHERE isDel = 0";
 116            return await ReadAllAsync(await command.ExecuteReaderAsync());
 117        }
 18
 19        public async Task<FamilyTagMechListVersion?> GetFamilyMechListVersionAsync(Guid uuid)
 120        {
 121            using var connection = await database.OpenConnectionAsync();
 122            using var command = connection.CreateCommand();
 23
 124            command.CommandText = @"SELECT * FROM Family_TagMechanism_List_Version WHERE uuid = @id";
 125            command.Parameters.AddWithValue("@id", uuid);
 26
 127            var result = await ReadAllAsync(await command.ExecuteReaderAsync());
 128            return result.FirstOrDefault();
 129        }
 30
 31        public async Task<Guid> CreateFamilyMechListVersionAsync(FamilyTagMechListVersion newFamilyMechListVersion)
 132        {
 133            using var connection = await database.OpenConnectionAsync();
 134            using var command = connection.CreateCommand();
 35
 136            Guid familyMechListVersionID = Guid.NewGuid();
 37
 138            command.CommandText = @"INSERT INTO Family_TagMechanism_List_Version (uuid, family_uuid, tag_mechanism_uuid,
 39
 140            command.Parameters.AddWithValue("@uuid", familyMechListVersionID);
 141            command.Parameters.AddWithValue("@family_uuid", newFamilyMechListVersion.family_uuid);
 142            command.Parameters.AddWithValue("@tag_mechanism_uuid", newFamilyMechListVersion.tag_mechanism_uuid);
 143            command.Parameters.AddWithValue("@frozen_version", newFamilyMechListVersion.frozen_version);
 144            command.Parameters.AddWithValue("@action", newFamilyMechListVersion.action);
 145            command.Parameters.AddWithValue("@user_uuid", newFamilyMechListVersion.user_uuid);
 146            command.Parameters.AddWithValue("@datetime", newFamilyMechListVersion.datetime);
 47
 148            await command.ExecuteNonQueryAsync();
 49
 150            return familyMechListVersionID;
 151        }
 52        public async Task UpdateFamilyMechListVersionAsync(FamilyTagMechListVersion familyMechListVersion)
 153        {
 154            using var connection = await database.OpenConnectionAsync();
 155            using var command = connection.CreateCommand();
 56
 157            command.CommandText = @"UPDATE Family_TagMechanism_List_Version SET family_uuid = @family_uuid, tag_mechanis
 58
 159            command.Parameters.AddWithValue("@uuid", familyMechListVersion.uuid);
 160            command.Parameters.AddWithValue("@family_uuid", familyMechListVersion.family_uuid);
 161            command.Parameters.AddWithValue("@tag_mechanism_uuid", familyMechListVersion.tag_mechanism_uuid);
 162            command.Parameters.AddWithValue("@frozen_version", familyMechListVersion.frozen_version);
 163            command.Parameters.AddWithValue("@action", familyMechListVersion.action);
 164            command.Parameters.AddWithValue("@user_uuid", familyMechListVersion.user_uuid);
 165            command.Parameters.AddWithValue("@datetime", familyMechListVersion.datetime);
 166            command.Parameters.AddWithValue("@isDel", familyMechListVersion.isDel);
 67
 168            await command.ExecuteNonQueryAsync();
 169        }
 70
 71        public async Task DeleteFamilyMechListVersionAsync(Guid uuid)
 172        {
 173            using var connection = await database.OpenConnectionAsync();
 174            using var command = connection.CreateCommand();
 75
 176            command.CommandText = @"UPDATE Family_TagMechanism_List_Version SET isDel = 1 WHERE uuid = @uuid;";
 77
 178            command.Parameters.AddWithValue("@uuid", uuid);
 79
 180            await command.ExecuteNonQueryAsync();
 181        }
 82
 83        private async Task<IReadOnlyList<FamilyTagMechListVersion>> ReadAllAsync(DbDataReader reader)
 184        {
 185            var familyMechListVersion = new List<FamilyTagMechListVersion>();
 186            using (reader)
 187            {
 188                while (await reader.ReadAsync())
 189                {
 190                    var familyMechVersion = new FamilyTagMechListVersion
 191                    {
 192                        uuid = reader.GetGuid(0),
 193                        family_uuid = reader.GetGuid(1),
 194                        tag_mechanism_uuid = reader.GetGuid(2),
 195                        frozen_version = reader.GetString(3),
 196                        action = reader.GetString(4),
 197                        user_uuid = reader.GetGuid(5),
 198                        datetime = reader.GetDateTime(6),
 199                        isDel = reader.GetBoolean(7),
 1100                    };
 1101                    familyMechListVersion.Add(familyMechVersion);
 1102                }
 1103            }
 1104            return familyMechListVersion;
 1105        }
 106    }
 107}
+
+
+
+ + \ No newline at end of file diff --git a/coveragereport/chemistry_cafe_api.dll_OpenAtmosController.html b/coveragereport/chemistry_cafe_api.dll_OpenAtmosController.html new file mode 100644 index 0000000..37cbeaf --- /dev/null +++ b/coveragereport/chemistry_cafe_api.dll_OpenAtmosController.html @@ -0,0 +1,213 @@ + + + + + + + +Chemistry_Cafe_API.Controllers.OpenAtmosController - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:Chemistry_Cafe_API.Controllers.OpenAtmosController
Assembly:chemistry cafe api.dll
File(s):C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\Controllers\OpenAtmosController.cs
+
+
+
+
+
+
+
Line coverage
+
+
100%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:10
Uncovered lines:0
Coverable lines:10
Total lines:37
Line coverage:100%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+
+ +++++ + + + + + + +
MethodBlocks covered Blocks not covered
OpenAtmosController(...)30
GetJSON()162
GetYAML()162
+
+

File(s)

+

C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\Controllers\OpenAtmosController.cs

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
#LineLine coverage
 1using Chemistry_Cafe_API.Models;
 2using Chemistry_Cafe_API.Services;
 3using Microsoft.AspNetCore.Mvc;
 4using MySqlConnector;
 5
 6// For more information on enabling Web API for empty projects, visit https://go.microsoft.com/fwlink/?LinkID=397860
 7
 8namespace Chemistry_Cafe_API.Controllers
 9{
 10    [Route("api/[controller]")]
 11    [ApiController]
 12    public class OpenAtmosController : ControllerBase
 13    {
 14        private OpenAtmosService openAtmosService;
 15
 16        //Injects sql data source setup in Program.cs
 117        public OpenAtmosController([FromServices] MySqlDataSource db)
 118        {
 119            this.openAtmosService = new OpenAtmosService(db);
 120        }
 21
 22        // GET: api/OpenAtmos/JSON
 23        [HttpGet("JSON/{tag_mechanism_uuid}")]
 24        public async Task<string> GetJSON(Guid tag_mechanism_uuid)
 125        {
 126            return await openAtmosService.GetJSON(tag_mechanism_uuid);
 127        }
 28
 29        // GET: api/OpenAtmos/YAML
 30        [HttpGet("YAML/{tag_mechanism_uuid}")]
 31        public async Task<string> GetYAML(Guid tag_mechanism_uuid)
 132        {
 133            return await openAtmosService.GetYAML(tag_mechanism_uuid);
 134        }
 35
 36    }
 37}
+
+
+
+ + \ No newline at end of file diff --git a/coveragereport/chemistry_cafe_api.dll_OpenAtmosControllerTests.html b/coveragereport/chemistry_cafe_api.dll_OpenAtmosControllerTests.html new file mode 100644 index 0000000..0bcf396 --- /dev/null +++ b/coveragereport/chemistry_cafe_api.dll_OpenAtmosControllerTests.html @@ -0,0 +1,210 @@ + + + + + + + +Chemistry_Cafe_API.Tests.OpenAtmosControllerTests - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:Chemistry_Cafe_API.Tests.OpenAtmosControllerTests
Assembly:chemistry cafe api.dll
File(s):C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\Tests\OpenAtmosControllerTests.cs
+
+
+
+
+
+
+
Line coverage
+
+
100%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:11
Uncovered lines:0
Coverable lines:11
Total lines:34
Line coverage:100%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+
+ +++++ + + + + + + +
MethodBlocks covered Blocks not covered
OpenAtmosControllerTests()20
Get_retrieves_JSON()192
Get_retrieves_YAML()192
+
+

File(s)

+

C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\Tests\OpenAtmosControllerTests.cs

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
#LineLine coverage
 1using Chemistry_Cafe_API.Controllers;
 2using Chemistry_Cafe_API.Models;
 3using Microsoft.VisualStudio.TestTools.UnitTesting;
 4using MySqlConnector;
 5
 6namespace Chemistry_Cafe_API.Tests
 7{
 8    [TestClass]
 9    public class OpenAtmosControllerTests
 10    {
 111        readonly MySqlDataSource db = DBConnection.DataSource;
 12
 13        [TestMethod]
 14        public async Task Get_retrieves_JSON()
 115        {
 116            var controller = new OpenAtmosController(db);
 17
 118            var result = await controller.GetJSON(new Guid("dc6d0d7f-94f1-40d7-a0ae-8c5c7144cc5c"));
 19
 120            Assert.IsNotNull(result);
 121        }
 22
 23        [TestMethod]
 24        public async Task Get_retrieves_YAML()
 125        {
 126            var controller = new OpenAtmosController(db);
 27
 128            var result = await controller.GetYAML(new Guid("dc6d0d7f-94f1-40d7-a0ae-8c5c7144cc5c"));
 29
 130            Assert.IsNotNull(result);
 131        }
 32
 33    }
 34}
+
+
+
+ + \ No newline at end of file diff --git a/coveragereport/chemistry_cafe_api.dll_OpenAtmosService.html b/coveragereport/chemistry_cafe_api.dll_OpenAtmosService.html new file mode 100644 index 0000000..eb2c695 --- /dev/null +++ b/coveragereport/chemistry_cafe_api.dll_OpenAtmosService.html @@ -0,0 +1,487 @@ + + + + + + + +Chemistry_Cafe_API.Services.OpenAtmosService - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:Chemistry_Cafe_API.Services.OpenAtmosService
Assembly:chemistry cafe api.dll
File(s):C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\Services\OpenAtmosService.cs
+
+
+
+
+
+
+
Line coverage
+
+
75%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:194
Uncovered lines:64
Coverable lines:258
Total lines:311
Line coverage:75.1%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+
+ +++++ + + + + + + +
MethodBlocks covered Blocks not covered
OpenAtmosService(...)20
GetJSON()23454
GetYAML()20354
+
+

File(s)

+

C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\Services\OpenAtmosService.cs

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
#LineLine coverage
 1using Chemistry_Cafe_API.Models;
 2using System.Data.Common;
 3using MySqlConnector;
 4using Microsoft.AspNetCore.Mvc;
 5
 6namespace Chemistry_Cafe_API.Services
 7{
 18    public class OpenAtmosService(MySqlDataSource database)
 9    {
 10        public async Task<string> GetJSON(Guid tag_mechanism_uuid)
 111        {
 112            ReactionService reactionService = new ReactionService(database);
 113            SpeciesService speciesService = new SpeciesService(database);
 114            TagMechanismService tagMechanismService = new TagMechanismService(database);
 115            PropertyListService propertyListService = new PropertyListService(database);
 116            ReactantProductListService reactantProductListService = new ReactantProductListService(database);
 17
 118            var mechanism = tagMechanismService.GetTagMechanismAsync(tag_mechanism_uuid).Result;
 19
 120            string JSON = "{\n" +
 121                "  \"version\": \"1.0.0\",\n" +
 122                "  \"name\": \"" + mechanism.tag + "\", \n";
 23
 124            using var connection = await database.OpenConnectionAsync();
 125            using var command = connection.CreateCommand();
 26
 127            var reactionList = reactionService.GetTags(tag_mechanism_uuid).Result;
 128            var speciesList = speciesService.GetTags(tag_mechanism_uuid).Result;
 29
 130            JSON += "  \"species\": [ \n";
 31
 32
 133            foreach ( var species in speciesList )
 134            {
 135                JSON += "    {\n";
 136                JSON += "      \"name\": \"" + species.type + "\", \n";
 137                var properties = propertyListService.GetPropertiesAsync(species.uuid).Result;
 138                foreach ( var property in properties )
 139                {
 140                    JSON += "      \"" + property.name;
 141                    if (!(property.units == null || property.units == ""))
 142                    {
 143                        JSON += " [" + property.units + "]\": ";
 144                    }
 45                    else
 146                    {
 147                        JSON += "\": ";
 148                    }
 49
 150                    if (property.float_value.HasValue)
 151                    {
 152                        JSON += property.float_value.ToString();
 153                    }
 154                    else if(property.double_value.HasValue)
 055                    {
 056                        JSON += property.double_value.ToString();
 057                    }
 158                    else if (property.int_value.HasValue)
 059                    {
 060                        JSON += property.int_value.ToString();
 061                    }
 162                    else if(property.string_value != null)
 163                    {
 164                        JSON += "\"" + property.string_value + "\"";
 165                    }
 66
 167                    JSON += ", \n";
 168                }
 169                JSON = JSON.Remove(JSON.LastIndexOf(','));
 170                JSON += "\n";
 171                JSON += "    }, \n";
 172            }
 173            JSON = JSON.Remove(JSON.LastIndexOf(','));
 174            JSON += "\n";
 75
 176            JSON += "  ],\n" +
 177                "  \"phases\": [ \n" +
 178                "    { \n" +
 179                "      \"name\": \"gas\", \n" +
 180                "      \"species\": [ \n";
 181            foreach(Species species in speciesList)
 182            {
 183                JSON += "        \"" + species.type + "\", \n";
 184            }
 185            JSON = JSON.Remove(JSON.LastIndexOf(','));
 186            JSON += "\n";
 187            JSON += "      ] \n" +
 188                "    } \n" +
 189                "  ],\n" +
 190                "  \"reactions\": [ \n";
 191            bool react = false;
 92
 193            foreach (var reaction in reactionList)
 194            {
 195                react = true;
 196                JSON += "    { \n";
 197                JSON += "      \"type\" : \"" + reaction.type.ToUpper() + "\", \n";
 198                var properties = propertyListService.GetPropertiesAsync(reaction.uuid).Result;
 199                foreach (var property in properties)
 0100                {
 0101                    if (!(property.units == null || property.units == ""))
 0102                    {
 0103                        JSON += "      \"" + property.name + " [" + property.units + "]\": ";
 0104                    }
 105                    else
 0106                    {
 0107                        JSON += "      \"" + property.name + "\": ";
 0108                    }
 109
 0110                    if (property.float_value.HasValue)
 0111                    {
 0112                        JSON += property.float_value.ToString();
 0113                    }
 0114                    else if (property.double_value.HasValue)
 0115                    {
 0116                        JSON += property.double_value.ToString();
 0117                    }
 0118                    else if (property.int_value.HasValue)
 0119                    {
 0120                        JSON += property.int_value.ToString();
 0121                    }
 0122                    else if (property.string_value != null)
 0123                    {
 0124                        JSON += "\"" + property.string_value + "\"";
 0125                    }
 126
 0127                    JSON += ", \n";
 0128                }
 1129                var reactants = reactantProductListService.GetReactantsAsync(reaction.reactant_list_uuid).Result;
 1130                if(reactants.Count != 0)
 1131                {
 1132                    JSON += "      \"reactants\": [ \n" +
 1133                    "        {\n";
 1134                    foreach (ReactantsProducts reactant in reactants)
 1135                    {
 1136                        JSON += "          \"species name\": \"" + reactant.type + "\", \n";
 1137                        JSON += "          \"coefficient\": \"" + reactant.quantity + "\" \n";
 1138                    }
 1139                    JSON += "        }\n" +
 1140                        "      ], \n";
 1141                }
 142
 1143                var products = reactantProductListService.GetProductsAsync(reaction.product_list_uuid).Result;
 144
 1145                if(products.Count != 0)
 1146                {
 1147                    JSON += "      \"products\": [ \n" +
 1148                    "        {\n";
 1149                    foreach (ReactantsProducts product in products)
 1150                    {
 1151                        JSON += "          \"species name\": \"" + product.type + "\", \n";
 1152                        JSON += "          \"coefficient\": \"" + product.quantity + "\" \n";
 1153                    }
 1154                    JSON += "        }\n" +
 1155                        "      ]\n";
 1156                }
 157
 1158                if(reactants.Count == 0 && products.Count == 0)
 1159                {
 1160                    JSON = JSON.Remove(JSON.LastIndexOf(','));
 1161                    JSON += "\n";
 1162                }
 163
 1164                JSON += "    },\n";
 1165            }
 1166            if (react)
 1167            {
 1168                JSON = JSON.Remove(JSON.LastIndexOf(','));
 1169                JSON += "\n";
 1170            }
 1171            JSON += "  ]\n}";
 1172            return JSON;
 1173        }
 174
 175        public async Task<string> GetYAML(Guid tag_mechanism_uuid)
 1176        {
 1177            ReactionService reactionService = new ReactionService(database);
 1178            SpeciesService speciesService = new SpeciesService(database);
 1179            TagMechanismService tagMechanismService = new TagMechanismService(database);
 1180            PropertyListService propertyListService = new PropertyListService(database);
 1181            ReactantProductListService reactantProductListService = new ReactantProductListService(database);
 182
 1183            var mechanism = tagMechanismService.GetTagMechanismAsync(tag_mechanism_uuid).Result;
 184
 1185            string YAML = "---\n" +
 1186                "version: 1.0.0\n" +
 1187                "name: " + mechanism.tag + "\n";
 188
 1189            using var connection = await database.OpenConnectionAsync();
 1190            using var command = connection.CreateCommand();
 191
 1192            var reactionList = reactionService.GetTags(tag_mechanism_uuid).Result;
 1193            var speciesList = speciesService.GetTags(tag_mechanism_uuid).Result;
 194
 1195            YAML += "species:\n";
 196
 197
 1198            foreach (var species in speciesList)
 1199            {
 1200                YAML += "- name: " + species.type + "\n";
 1201                var properties = propertyListService.GetPropertiesAsync(species.uuid).Result;
 1202                foreach (var property in properties)
 1203                {
 1204                    YAML += "  " + property.name;
 1205                    if (!(property.units == null || property.units == ""))
 1206                    {
 1207                        YAML += " [" + property.units + "]: ";
 1208                    }
 209                    else
 1210                    {
 1211                        YAML += ": ";
 1212                    }
 213
 1214                    if (property.float_value.HasValue)
 1215                    {
 1216                        YAML += property.float_value.ToString();
 1217                    }
 1218                    else if (property.double_value.HasValue)
 0219                    {
 0220                        YAML += property.double_value.ToString();
 0221                    }
 1222                    else if (property.int_value.HasValue)
 0223                    {
 0224                        YAML += property.int_value.ToString();
 0225                    }
 1226                    else if (property.string_value != null)
 1227                    {
 1228                        YAML += property.string_value;
 1229                    }
 230
 1231                    YAML += "\n";
 1232                }
 1233            }
 234
 1235            YAML += "" +
 1236                "phases:\n" +
 1237                "- name: gas\n" +
 1238                "  species:\n";
 1239            foreach (Species species in speciesList)
 1240            {
 1241                YAML += "  - " + species.type + "\n";
 1242            }
 1243            YAML += "reactions:\n";
 1244            bool react = false;
 245
 1246            foreach (var reaction in reactionList)
 1247            {
 1248                react = true;
 1249                YAML += "- type : " + reaction.type.ToUpper() + "\n";
 1250                var properties = propertyListService.GetPropertiesAsync(reaction.uuid).Result;
 1251                foreach (var property in properties)
 0252                {
 0253                    if (!(property.units == null || property.units == ""))
 0254                    {
 0255                        YAML += "  " + property.name + " [" + property.units + "]: ";
 0256                    }
 257                    else
 0258                    {
 0259                        YAML += "  " + property.name + ": ";
 0260                    }
 261
 0262                    if (property.float_value.HasValue)
 0263                    {
 0264                        YAML += property.float_value.ToString();
 0265                    }
 0266                    else if (property.double_value.HasValue)
 0267                    {
 0268                        YAML += property.double_value.ToString();
 0269                    }
 0270                    else if (property.int_value.HasValue)
 0271                    {
 0272                        YAML += property.int_value.ToString();
 0273                    }
 0274                    else if (property.string_value != null)
 0275                    {
 0276                        YAML += property.string_value;
 0277                    }
 0278                    YAML += "\n";
 0279                }
 1280                var reactants = reactantProductListService.GetReactantsAsync(reaction.reactant_list_uuid).Result;
 1281                if (reactants.Count != 0)
 1282                {
 1283                    YAML += "  reactants:\n";
 1284                    foreach (ReactantsProducts reactant in reactants)
 1285                    {
 1286                        YAML += "  - species name: " + reactant.type + "\n";
 1287                        YAML += "    coefficient: " + reactant.quantity + "\n";
 1288                    }
 1289                }
 290
 1291                var products = reactantProductListService.GetProductsAsync(reaction.product_list_uuid).Result;
 292
 1293                if (products.Count != 0)
 1294                {
 1295                    YAML += "  products:\n";
 1296                    foreach (ReactantsProducts product in products)
 1297                    {
 1298                        YAML += "  - species name: " + product.type + "\n";
 1299                        YAML += "    coefficient: " + product.quantity + " \n";
 1300                    }
 1301                }
 302
 1303            }
 304
 1305            return YAML;
 1306        }
 307
 308    }
 309
 310}
 311
+
+
+
+ + \ No newline at end of file diff --git a/coveragereport/chemistry_cafe_api.dll_Program.html b/coveragereport/chemistry_cafe_api.dll_Program.html new file mode 100644 index 0000000..d41eda5 --- /dev/null +++ b/coveragereport/chemistry_cafe_api.dll_Program.html @@ -0,0 +1,212 @@ + + + + + + + +Program - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:Program
Assembly:chemistry cafe api.dll
File(s):C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\Program.cs
+
+
+
+
+
+
+
Line coverage
+
+
0%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:0
Uncovered lines:21
Coverable lines:21
Total lines:40
Line coverage:0%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+
+ +++++ + + + + +
MethodBlocks covered Blocks not covered
<Main>$(...)027
+
+

File(s)

+

C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\Program.cs

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
#LineLine coverage
 1using MySqlConnector;
 2
 03var builder = WebApplication.CreateBuilder(args);
 4
 5// Add services to the container.
 6
 07builder.Services.AddControllers();
 8// Learn more about configuring Swagger/OpenAPI at https://aka.ms/aspnetcore/swashbuckle
 09builder.Services.AddEndpointsApiExplorer();
 010builder.Services.AddSwaggerGen();
 11
 12//Adds SQL data source from appsettings.json file
 13
 014builder.Services.AddMySqlDataSource(builder.Configuration.GetConnectionString("Default")!);
 15
 16
 017var app = builder.Build();
 18
 19// Configure CORS
 020app.UseCors(options =>
 021{
 022    options.WithOrigins("http://localhost:5173")
 023           .AllowAnyMethod()
 024           .AllowAnyHeader();
 025});
 26
 27// Configure the HTTP request pipeline.
 028if (app.Environment.IsDevelopment())
 029{
 030    app.UseSwagger();
 031    app.UseSwaggerUI();
 032}
 33
 034app.UseHttpsRedirection();
 35
 036app.UseAuthorization();
 37
 038app.MapControllers();
 39
 040app.Run();
+
+
+
+
+

Methods/Properties

+<Main>$(string[])
+
+
+ + \ No newline at end of file diff --git a/coveragereport/chemistry_cafe_api.dll_Property.html b/coveragereport/chemistry_cafe_api.dll_Property.html new file mode 100644 index 0000000..0588230 --- /dev/null +++ b/coveragereport/chemistry_cafe_api.dll_Property.html @@ -0,0 +1,229 @@ + + + + + + + +Chemistry_Cafe_API.Models.Property - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:Chemistry_Cafe_API.Models.Property
Assembly:chemistry cafe api.dll
File(s):C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\Models\Property.cs
+
+
+
+
+
+
+
Line coverage
+
+
95%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:21
Uncovered lines:1
Coverable lines:22
Total lines:28
Line coverage:95.4%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

File(s)

+

C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\Models\Property.cs

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
#LineLine coverage
 1namespace Chemistry_Cafe_API.Models
 2{
 3    public class Property
 4    {
 15        public Guid property_list_uuid { get; set; }
 16        public Guid parent_uuid { get; set; }
 17        public string? version { get; set; }
 18        public bool property_list_isDel {  get; set; }
 19        public Guid property_version_uuid { get; set; }
 110        public Guid parent_property_uuid { get; set; }
 111        public string? frozen_version { get; set; }
 112        public Guid tag_mechanism_uuid { get; set; }
 113        public Guid property_type { get; set; }
 114        public float? float_value { get; set; }
 115        public double? double_value { get; set; }
 116        public int? int_value { get; set; }
 117        public string? string_value { get; set; }
 018        public string? action { get; set; }
 119        public Guid user_uuid { get; set; }
 120        public DateTime datetime { get; set; }
 121        public bool property_version_isDel { get; set; }
 122        public Guid property_type_uuid { get; set; }
 123        public string? name { get; set; }
 124        public string? units { get; set; }
 125        public string? validation { get; set; }
 126        public bool property_type_isDel { get; set; }
 27    }
 28}
+
+
+
+ + \ No newline at end of file diff --git a/coveragereport/chemistry_cafe_api.dll_PropertyList.html b/coveragereport/chemistry_cafe_api.dll_PropertyList.html new file mode 100644 index 0000000..56b65fc --- /dev/null +++ b/coveragereport/chemistry_cafe_api.dll_PropertyList.html @@ -0,0 +1,175 @@ + + + + + + + +Chemistry_Cafe_API.Models.PropertyList - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:Chemistry_Cafe_API.Models.PropertyList
Assembly:chemistry cafe api.dll
File(s):C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\Models\PropertyList.cs
+
+
+
+
+
+
+
Line coverage
+
+
100%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:4
Uncovered lines:0
Coverable lines:4
Total lines:10
Line coverage:100%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

File(s)

+

C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\Models\PropertyList.cs

+
+ + + + + + + + + + + + + + +
#LineLine coverage
 1namespace Chemistry_Cafe_API.Models
 2{
 3    public class PropertyList
 4    {
 15        public Guid uuid { get; set; }
 16        public Guid parent_uuid { get; set; }
 17        public string? version { get; set; }
 18        public bool isDel {  get; set; }
 9    }
 10}
+
+
+
+ + \ No newline at end of file diff --git a/coveragereport/chemistry_cafe_api.dll_PropertyListController.html b/coveragereport/chemistry_cafe_api.dll_PropertyListController.html new file mode 100644 index 0000000..7ec8b01 --- /dev/null +++ b/coveragereport/chemistry_cafe_api.dll_PropertyListController.html @@ -0,0 +1,248 @@ + + + + + + + +Chemistry_Cafe_API.Controllers.PropertyListController - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:Chemistry_Cafe_API.Controllers.PropertyListController
Assembly:chemistry cafe api.dll
File(s):C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\Controllers\PropertyListController.cs
+
+
+
+
+
+
+
Line coverage
+
+
86%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:19
Uncovered lines:3
Coverable lines:22
Total lines:64
Line coverage:86.3%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+
+ +++++ + + + + + + + + + + +
MethodBlocks covered Blocks not covered
PropertyListController(...)30
Get()162
Get()162
GetProperties()018
Create()162
Put()162
Delete()162
+
+

File(s)

+

C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\Controllers\PropertyListController.cs

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
#LineLine coverage
 1using Chemistry_Cafe_API.Models;
 2using Chemistry_Cafe_API.Services;
 3using Microsoft.AspNetCore.Mvc;
 4using MySqlConnector;
 5
 6// For more information on enabling Web API for empty projects, visit https://go.microsoft.com/fwlink/?LinkID=397860
 7
 8namespace Chemistry_Cafe_API.Controllers
 9{
 10    [Route("api/[controller]")]
 11    [ApiController]
 12    public class PropertyListController : ControllerBase
 13    {
 14        private PropertyListService propertyListService;
 15
 16        //Injects sql data source setup in Program.cs
 117        public PropertyListController([FromServices] MySqlDataSource db)
 118        {
 119            this.propertyListService = new PropertyListService(db);
 120        }
 21
 22        // GET: api/PropertyList/all
 23        [HttpGet("all")]
 24        public async Task<IReadOnlyList<PropertyList>> Get()
 125        {
 126            return await propertyListService.GetPropertyListsAsync();
 127        }
 28
 29        // GET api/PropertyList/5
 30        [HttpGet("{uuid}")]
 31        public async Task<PropertyList?> Get(Guid uuid)
 132        {
 133            return await propertyListService.GetPropertyListAsync(uuid);
 134        }
 35
 36        // GET api/PropertyList/Properties/5
 37        [HttpGet("Properties/{parent_uuid}")]
 38        public async Task<IReadOnlyList<Property>> GetProperties(Guid parent_uuid)
 039        {
 040            return await propertyListService.GetPropertiesAsync(parent_uuid);
 041        }
 42
 43        // POST api/PropertyList/create
 44        [HttpPost("create")]
 45        public async Task<Guid> Create([FromBody] PropertyList userPreferneces)
 146        {
 147            return await propertyListService.CreatePropertyListAsync(userPreferneces);
 148        }
 49
 50        // PUT api/PropertyList/5
 51        [HttpPut("update")]
 52        public async Task Put([FromBody] PropertyList userpreferences)
 153        {
 154            await propertyListService.UpdatePropertyListAsync(userpreferences);
 155        }
 56
 57        // DELETE api/PropertyList/delete/5
 58        [HttpDelete("delete/{uuid}")]
 59        public async Task Delete(Guid uuid)
 160        {
 161            await propertyListService.DeletePropertyListAsync(uuid);
 162        }
 63    }
 64}
+
+
+
+ + \ No newline at end of file diff --git a/coveragereport/chemistry_cafe_api.dll_PropertyListControllerTests.html b/coveragereport/chemistry_cafe_api.dll_PropertyListControllerTests.html new file mode 100644 index 0000000..2889b0a --- /dev/null +++ b/coveragereport/chemistry_cafe_api.dll_PropertyListControllerTests.html @@ -0,0 +1,241 @@ + + + + + + + +Chemistry_Cafe_API.Tests.PropertyListControllerTests - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:Chemistry_Cafe_API.Tests.PropertyListControllerTests
Assembly:chemistry cafe api.dll
File(s):C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\Tests\PropertyListControllerTests.cs
+
+
+
+
+
+
+
Line coverage
+
+
100%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:31
Uncovered lines:0
Coverable lines:31
Total lines:63
Line coverage:100%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+
+ +++++ + + + + + + + +
MethodBlocks covered Blocks not covered
PropertyListControllerTests()30
Get_retrieves_propertylist()172
Creates_propertylist()342
Updates_propertylist()602
+
+

File(s)

+

C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\Tests\PropertyListControllerTests.cs

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
#LineLine coverage
 1using Chemistry_Cafe_API.Controllers;
 2using Chemistry_Cafe_API.Models;
 3using Microsoft.VisualStudio.TestTools.UnitTesting;
 4using MySqlConnector;
 5
 6namespace Chemistry_Cafe_API.Tests
 7{
 8    [TestClass]
 9    public class PropertyListControllerTests
 10    {
 111        PropertyListController controller = new PropertyListController(DBConnection.DataSource);
 12
 13        [TestMethod]
 14        public async Task Get_retrieves_propertylist()
 115        {
 116            var result = await controller.Get() as List<PropertyList>;
 17
 118            Assert.IsNotNull(result);
 119        }
 20
 21        [TestMethod]
 22        public async Task Creates_propertylist()
 123        {
 124            var propertyList = new PropertyList
 125            {
 126                parent_uuid = new Guid("729ced40-8b18-47d6-8d1c-d17f42890871"),
 127                version = "1.0",
 128                isDel = false
 129            };
 30
 131            var result = await controller.Create(propertyList);
 32
 133            var getResult = await controller.Get(result);
 34
 135            Assert.AreEqual(result, getResult.uuid);
 136        }
 37
 38        [TestMethod]
 39        public async Task Updates_propertylist()
 140        {
 141            var propertyList = new PropertyList
 142            {
 143                parent_uuid = new Guid("68722c5e-4f0f-44aa-a614-64133df0f9b7"),
 144                version = "1.0",
 145                isDel = false
 146            };
 47
 148            var result = await controller.Create(propertyList);
 49
 150            var getResult = await controller.Get(result);
 51
 152            getResult.version = "Edited";
 53
 154            await controller.Put(getResult);
 55
 156            var getEditedResult = await controller.Get(result);
 57
 158            await controller.Delete(result);
 59
 160            Assert.AreEqual(getEditedResult.version, "Edited");
 161        }
 62    }
 63}
+
+
+
+ + \ No newline at end of file diff --git a/coveragereport/chemistry_cafe_api.dll_PropertyListService.html b/coveragereport/chemistry_cafe_api.dll_PropertyListService.html new file mode 100644 index 0000000..1e3879e --- /dev/null +++ b/coveragereport/chemistry_cafe_api.dll_PropertyListService.html @@ -0,0 +1,359 @@ + + + + + + + +Chemistry_Cafe_API.Services.PropertyListService - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:Chemistry_Cafe_API.Services.PropertyListService
Assembly:chemistry cafe api.dll
File(s):C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\Services\PropertyListService.cs
+
+
+
+
+
+
+
Line coverage
+
+
93%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:121
Uncovered lines:9
Coverable lines:130
Total lines:171
Line coverage:93%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+ +

File(s)

+

C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\Services\PropertyListService.cs

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
#LineLine coverage
 1using Chemistry_Cafe_API.Models;
 2using System.Data.Common;
 3using MySqlConnector;
 4using Microsoft.AspNetCore.Mvc;
 5
 6
 7namespace Chemistry_Cafe_API.Services
 8{
 19    public class PropertyListService(MySqlDataSource database)
 10    {
 11        public async Task<IReadOnlyList<PropertyList>> GetPropertyListsAsync()
 112        {
 113            using var connection = await database.OpenConnectionAsync();
 114            using var command = connection.CreateCommand();
 15
 116            command.CommandText = "SELECT * FROM Property_List WHERE isDel = 0";
 117            return await ReadAllAsync(await command.ExecuteReaderAsync());
 118        }
 19
 20        public async Task<PropertyList?> GetPropertyListAsync(Guid uuid)
 121        {
 122            using var connection = await database.OpenConnectionAsync();
 123            using var command = connection.CreateCommand();
 24
 125            command.CommandText = @"SELECT * FROM Property_List WHERE uuid = @id";
 126            command.Parameters.AddWithValue("@id", uuid);
 27
 128            var result = await ReadAllAsync(await command.ExecuteReaderAsync());
 129            return result.FirstOrDefault();
 130        }
 31
 32        public async Task<IReadOnlyList<Property>> GetPropertiesAsync(Guid parent_uuid)
 133        {
 134            using var connection = await database.OpenConnectionAsync();
 135            using var command = connection.CreateCommand();
 36
 137            command.CommandText = @"SELECT * FROM Property_List RIGHT JOIN Property_Version ON Property_List.uuid = Prop
 138                LEFT JOIN PropertyType ON Property_Version.property_type = PropertyType.uuid
 139                WHERE Property_List.parent_uuid = @parent_uuid AND Property_List.isDel = 0 AND Property_Version.isDel = 
 140            command.Parameters.AddWithValue("@parent_uuid", parent_uuid);
 41
 142            return await ReadAllPropertiesAsync(await command.ExecuteReaderAsync());
 143        }
 44
 45        public async Task<Guid> CreatePropertyListAsync(PropertyList userPreferences)
 146        {
 147            using var connection = await database.OpenConnectionAsync();
 148            using var command = connection.CreateCommand();
 49
 150            Guid userPreferencesID = Guid.NewGuid();
 51
 152            command.CommandText = @"INSERT INTO Property_List (uuid, parent_uuid, version) VALUES (@uuid, @parent_uuid, 
 53
 154            command.Parameters.AddWithValue("@uuid", userPreferencesID);
 155            command.Parameters.AddWithValue("@parent_uuid", userPreferences.parent_uuid);
 156            command.Parameters.AddWithValue("@version", userPreferences.version);
 57
 158            await command.ExecuteNonQueryAsync();
 59
 160            return userPreferencesID;
 161        }
 62        public async Task UpdatePropertyListAsync(PropertyList userPreferences)
 163        {
 164            using var connection = await database.OpenConnectionAsync();
 165            using var command = connection.CreateCommand();
 66
 167            command.CommandText = @"UPDATE Property_List SET parent_uuid = @parent_uuid, version = @version, isDel = @is
 68
 169            command.Parameters.AddWithValue("@uuid", userPreferences.uuid);
 170            command.Parameters.AddWithValue("@parent_uuid", userPreferences.parent_uuid);
 171            command.Parameters.AddWithValue("@version", userPreferences.version);
 172            command.Parameters.AddWithValue("@isDel", userPreferences.isDel);
 73
 174            await command.ExecuteNonQueryAsync();
 175        }
 76
 77        public async Task DeletePropertyListAsync(Guid uuid)
 178        {
 179            using var connection = await database.OpenConnectionAsync();
 180            using var command = connection.CreateCommand();
 81
 182            command.CommandText = @"UPDATE Property_List SET isDel = 1 WHERE uuid = @uuid;";
 83
 184            command.Parameters.AddWithValue("@uuid", uuid);
 85
 186            await command.ExecuteNonQueryAsync();
 187        }
 88
 89        private async Task<IReadOnlyList<PropertyList>> ReadAllAsync(DbDataReader reader)
 190        {
 191            var propertyList = new List<PropertyList>();
 192            using (reader)
 193            {
 194                while (await reader.ReadAsync())
 195                {
 196                    var property = new PropertyList
 197                    {
 198                        uuid = reader.GetGuid(0),
 199                        parent_uuid = reader.GetGuid(1),
 1100                        version = reader.GetString(2),
 1101                        isDel = reader.GetBoolean(3),
 1102                    };
 1103                    propertyList.Add(property);
 1104                }
 1105            }
 1106            return propertyList;
 1107        }
 108
 109        private async Task<IReadOnlyList<Property>> ReadAllPropertiesAsync(DbDataReader reader)
 1110        {
 1111            var propertyList = new List<Property>();
 1112            using (reader)
 1113            {
 1114                while (await reader.ReadAsync())
 1115                {
 1116                    var property = new Property
 1117                    {
 1118                        property_list_uuid = reader.GetGuid(0),
 1119                        parent_uuid = reader.GetGuid(1),
 1120                        version = reader.GetString(2),
 1121                        property_list_isDel = reader.GetBoolean(3),
 1122                        property_version_uuid = reader.GetGuid(4),
 1123                        parent_property_uuid = reader.GetGuid(5),
 1124                        frozen_version = reader.GetString(6),
 1125                        tag_mechanism_uuid = reader.GetGuid(7),
 1126                        property_type = reader.GetGuid(8),
 1127                        user_uuid = reader.GetGuid(14),
 1128                        datetime = reader.GetDateTime(15),
 1129                        property_version_isDel = reader.GetBoolean(16),
 1130                        property_type_uuid = reader.GetGuid(17),
 1131                        property_type_isDel = reader.GetBoolean(21)
 1132                    };
 1133                    if (!reader.IsDBNull(9))
 1134                    {
 1135                        property.float_value = reader.GetFloat(9);
 1136                    }
 1137                    if (!reader.IsDBNull(10))
 0138                    {
 0139                        property.double_value = reader.GetDouble(10);
 0140                    }
 1141                    if (!reader.IsDBNull(11))
 0142                    {
 0143                        property.int_value = reader.GetInt32(11);
 0144                    }
 1145                    if (!reader.IsDBNull(12))
 1146                    {
 1147                        property.string_value = reader.GetString(12);
 1148                    }
 1149                    if (!reader.IsDBNull(13))
 0150                    {
 0151                        property.action = reader.GetString(13);
 0152                    }
 1153                    if (!reader.IsDBNull(18))
 1154                    {
 1155                        property.name = reader.GetString(18);
 1156                    }
 1157                    if (!reader.IsDBNull(19))
 1158                    {
 1159                        property.units = reader.GetString(19);
 1160                    }
 1161                    if (!reader.IsDBNull(20))
 1162                    {
 1163                        property.validation = reader.GetString(20);
 1164                    }
 1165                    propertyList.Add(property);
 1166                }
 1167            }
 1168            return propertyList;
 1169        }
 170    }
 171}
+
+
+
+ + \ No newline at end of file diff --git a/coveragereport/chemistry_cafe_api.dll_PropertyType.html b/coveragereport/chemistry_cafe_api.dll_PropertyType.html new file mode 100644 index 0000000..212f5f1 --- /dev/null +++ b/coveragereport/chemistry_cafe_api.dll_PropertyType.html @@ -0,0 +1,178 @@ + + + + + + + +Chemistry_Cafe_API.Models.PropertyType - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:Chemistry_Cafe_API.Models.PropertyType
Assembly:chemistry cafe api.dll
File(s):C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\Models\PropertyType.cs
+
+
+
+
+
+
+
Line coverage
+
+
100%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:5
Uncovered lines:0
Coverable lines:5
Total lines:11
Line coverage:100%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

File(s)

+

C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\Models\PropertyType.cs

+
+ + + + + + + + + + + + + + + +
#LineLine coverage
 1namespace Chemistry_Cafe_API.Models
 2{
 3    public class PropertyType
 4    {
 15        public Guid uuid { get; set; }
 16        public string? name { get; set; }
 17        public string? units { get; set; }
 18        public string? validation { get; set; }
 19        public bool isDel { get; set; }
 10    }
 11}
+
+
+
+ + \ No newline at end of file diff --git a/coveragereport/chemistry_cafe_api.dll_PropertyTypeController.html b/coveragereport/chemistry_cafe_api.dll_PropertyTypeController.html new file mode 100644 index 0000000..28c7de8 --- /dev/null +++ b/coveragereport/chemistry_cafe_api.dll_PropertyTypeController.html @@ -0,0 +1,248 @@ + + + + + + + +Chemistry_Cafe_API.Controllers.PropertyTypeController - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:Chemistry_Cafe_API.Controllers.PropertyTypeController
Assembly:chemistry cafe api.dll
File(s):C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\Controllers\PropertyTypeController.cs
+
+
+
+
+
+
+
Line coverage
+
+
86%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:19
Uncovered lines:3
Coverable lines:22
Total lines:64
Line coverage:86.3%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+
+ +++++ + + + + + + + + + + +
MethodBlocks covered Blocks not covered
PropertyTypeController(...)30
Get()162
Get()162
GetValidation()018
Create()162
Put()162
Delete()162
+
+

File(s)

+

C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\Controllers\PropertyTypeController.cs

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
#LineLine coverage
 1using Chemistry_Cafe_API.Models;
 2using Chemistry_Cafe_API.Services;
 3using Microsoft.AspNetCore.Mvc;
 4using MySqlConnector;
 5
 6// For more information on enabling Web API for empty projects, visit https://go.microsoft.com/fwlink/?LinkID=397860
 7
 8namespace Chemistry_Cafe_API.Controllers
 9{
 10    [Route("api/[controller]")]
 11    [ApiController]
 12    public class PropertyTypeController : ControllerBase
 13    {
 14        private PropertyTypeService propertyTypeService;
 15
 16        //Injects sql data source setup in Program.cs
 117        public PropertyTypeController([FromServices] MySqlDataSource db)
 118        {
 119            this.propertyTypeService = new PropertyTypeService(db);
 120        }
 21
 22        // GET: api/PropertyType/all
 23        [HttpGet("all")]
 24        public async Task<IReadOnlyList<PropertyType>> Get()
 125        {
 126            return await propertyTypeService.GetPropertyTypesAsync();
 127        }
 28
 29        // GET api/PropertyType/5
 30        [HttpGet("{uuid}")]
 31        public async Task<PropertyType?> Get(Guid uuid)
 132        {
 133            return await propertyTypeService.GetPropertyTypeAsync(uuid);
 134        }
 35
 36        // GET: api/PropertyType/Validation/uuid
 37        [HttpGet("Validation/{validation}")]
 38        public async Task<IReadOnlyList<PropertyType>> GetValidation(string validation)
 039        {
 040            return await propertyTypeService.GetPropertyTypeValidationAsync(validation);
 041        }
 42
 43        // POST api/PropertyType/create
 44        [HttpPost("create")]
 45        public async Task<Guid> Create([FromBody] PropertyType propertyType)
 146        {
 147            return await propertyTypeService.CreatePropertyTypeAsync(propertyType);
 148        }
 49
 50        // PUT api/PropertyType/5
 51        [HttpPut("update")]
 52        public async Task Put([FromBody] PropertyType propertytype)
 153        {
 154            await propertyTypeService.UpdatePropertyTypeAsync(propertytype);
 155        }
 56
 57        // DELETE api/PropertyType/delete/5
 58        [HttpDelete("delete/{uuid}")]
 59        public async Task Delete(Guid uuid)
 160        {
 161            await propertyTypeService.DeletePropertyTypeAsync(uuid);
 162        }
 63    }
 64}
+
+
+
+ + \ No newline at end of file diff --git a/coveragereport/chemistry_cafe_api.dll_PropertyTypeControllerTests.html b/coveragereport/chemistry_cafe_api.dll_PropertyTypeControllerTests.html new file mode 100644 index 0000000..6cb69d0 --- /dev/null +++ b/coveragereport/chemistry_cafe_api.dll_PropertyTypeControllerTests.html @@ -0,0 +1,243 @@ + + + + + + + +Chemistry_Cafe_API.Tests.PropertyTypeControllerTests - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:Chemistry_Cafe_API.Tests.PropertyTypeControllerTests
Assembly:chemistry cafe api.dll
File(s):C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\Tests\PropertyTypeControllerTests.cs
+
+
+
+
+
+
+
Line coverage
+
+
100%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:33
Uncovered lines:0
Coverable lines:33
Total lines:65
Line coverage:100%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+
+ +++++ + + + + + + + +
MethodBlocks covered Blocks not covered
PropertyTypeControllerTests()30
Get_retrieves_propertytype()172
Creates_propertytype()342
Updates_propertytype()602
+
+

File(s)

+

C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\Tests\PropertyTypeControllerTests.cs

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
#LineLine coverage
 1using Chemistry_Cafe_API.Controllers;
 2using Chemistry_Cafe_API.Models;
 3using Microsoft.VisualStudio.TestTools.UnitTesting;
 4using MySqlConnector;
 5
 6namespace Chemistry_Cafe_API.Tests
 7{
 8    [TestClass]
 9    public class PropertyTypeControllerTests
 10    {
 111        PropertyTypeController controller = new PropertyTypeController(DBConnection.DataSource);
 12
 13        [TestMethod]
 14        public async Task Get_retrieves_propertytype()
 115        {
 116            var result = await controller.Get() as List<PropertyType>;
 17
 118            Assert.IsNotNull(result);
 119        }
 20
 21        [TestMethod]
 22        public async Task Creates_propertytype()
 123        {
 124            var propertyType = new PropertyType
 125            {
 126                name = "Test",
 127                units = "mols",
 128                validation = "yes?",
 129                isDel = false
 130            };
 31
 132            var result = await controller.Create(propertyType);
 33
 134            var getResult = await controller.Get(result);
 35
 136            Assert.AreEqual(result, getResult.uuid);
 137        }
 38
 39        [TestMethod]
 40        public async Task Updates_propertytype()
 141        {
 142            var propertyType = new PropertyType
 143            {
 144                name = "Test",
 145                units = "mols",
 146                validation = "yes?",
 147                isDel = false
 148            };
 49
 150            var result = await controller.Create(propertyType);
 51
 152            var getResult = await controller.Get(result);
 53
 154            getResult.name = "Edited";
 55
 156            await controller.Put(getResult);
 57
 158            var getEditedResult = await controller.Get(result);
 59
 160            await controller.Delete(result);
 61
 162            Assert.AreEqual(getEditedResult.name, "Edited");
 163        }
 64    }
 65}
+
+
+
+ + \ No newline at end of file diff --git a/coveragereport/chemistry_cafe_api.dll_PropertyTypeService.html b/coveragereport/chemistry_cafe_api.dll_PropertyTypeService.html new file mode 100644 index 0000000..56e2211 --- /dev/null +++ b/coveragereport/chemistry_cafe_api.dll_PropertyTypeService.html @@ -0,0 +1,306 @@ + + + + + + + +Chemistry_Cafe_API.Services.PropertyTypeService - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:Chemistry_Cafe_API.Services.PropertyTypeService
Assembly:chemistry cafe api.dll
File(s):C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\Services\PropertyTypeService.cs
+
+
+
+
+
+
+
Line coverage
+
+
91%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:71
Uncovered lines:7
Coverable lines:78
Total lines:120
Line coverage:91%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+ +

File(s)

+

C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\Services\PropertyTypeService.cs

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
#LineLine coverage
 1using Chemistry_Cafe_API.Models;
 2using System.Data.Common;
 3using MySqlConnector;
 4using Microsoft.AspNetCore.Mvc;
 5using System.Xml;
 6using System.Xml.Linq;
 7
 8
 9namespace Chemistry_Cafe_API.Services
 10{
 111    public class PropertyTypeService(MySqlDataSource database)
 12    {
 13        public async Task<IReadOnlyList<PropertyType>> GetPropertyTypesAsync()
 114        {
 115            using var connection = await database.OpenConnectionAsync();
 116            using var command = connection.CreateCommand();
 17
 118            command.CommandText = "SELECT * FROM PropertyType WHERE isDel = 0";
 119            return await ReadAllAsync(await command.ExecuteReaderAsync());
 120        }
 21
 22        public async Task<PropertyType?> GetPropertyTypeAsync(Guid uuid)
 123        {
 124            using var connection = await database.OpenConnectionAsync();
 125            using var command = connection.CreateCommand();
 26
 127            command.CommandText = @"SELECT * FROM PropertyType WHERE uuid = @id";
 128            command.Parameters.AddWithValue("@id", uuid);
 29
 130            var result = await ReadAllAsync(await command.ExecuteReaderAsync());
 131            return result.FirstOrDefault();
 132        }
 33
 34        public async Task<IReadOnlyList<PropertyType>> GetPropertyTypeValidationAsync(string validation)
 035        {
 036            using var connection = await database.OpenConnectionAsync();
 037            using var command = connection.CreateCommand();
 38
 039            command.CommandText = @"SELECT * FROM PropertyType WHERE validation = @validation AND isDel = 0";
 040            command.Parameters.AddWithValue("@validation", validation);
 41
 042            return await ReadAllAsync(await command.ExecuteReaderAsync());
 043        }
 44
 45        public async Task<Guid> CreatePropertyTypeAsync(PropertyType propertyType)
 146        {
 147            using var connection = await database.OpenConnectionAsync();
 148            using var command = connection.CreateCommand();
 49
 150            Guid propertytypeID = Guid.NewGuid();
 51
 152            command.CommandText = @"INSERT INTO PropertyType (uuid, name, units, validation) VALUES (@uuid, @name, @unit
 53
 154            command.Parameters.AddWithValue("@uuid", propertytypeID);
 155            command.Parameters.AddWithValue("@name", propertyType.name);
 156            command.Parameters.AddWithValue("@units", propertyType.units);
 157            command.Parameters.AddWithValue("@validation", propertyType.validation);
 58
 159            await command.ExecuteNonQueryAsync();
 60
 161            return propertytypeID;
 162        }
 63        public async Task UpdatePropertyTypeAsync(PropertyType propertyType)
 164        {
 165            using var connection = await database.OpenConnectionAsync();
 166            using var command = connection.CreateCommand();
 67
 168            command.CommandText = @"UPDATE PropertyType SET name = @name, units = @units, validation = @validation, isDe
 69
 170            command.Parameters.AddWithValue("@uuid", propertyType.uuid);
 171            command.Parameters.AddWithValue("@name", propertyType.name);
 172            command.Parameters.AddWithValue("@units", propertyType.units);
 173            command.Parameters.AddWithValue("@validation", propertyType.validation);
 174            command.Parameters.AddWithValue("@isDel", propertyType.isDel);
 75
 176            await command.ExecuteNonQueryAsync();
 177        }
 78
 79        public async Task DeletePropertyTypeAsync(Guid uuid)
 180        {
 181            using var connection = await database.OpenConnectionAsync();
 182            using var command = connection.CreateCommand();
 83
 184            command.CommandText = @"UPDATE PropertyType SET isDel = 1 WHERE uuid = @uuid;";
 85
 186            command.Parameters.AddWithValue("@uuid", uuid);
 87
 188            await command.ExecuteNonQueryAsync();
 189        }
 90
 91        private async Task<IReadOnlyList<PropertyType>> ReadAllAsync(DbDataReader reader)
 192        {
 193            var propertytypes = new List<PropertyType>();
 194            using (reader)
 195            {
 196                while (await reader.ReadAsync())
 197                {
 198                    var propertytype = new PropertyType();
 199                    propertytype.uuid = reader.GetGuid(0);
 1100                    if (!reader.IsDBNull(1))
 1101                    {
 1102                        propertytype.name = reader.GetString(1);
 1103                    }
 1104                    if (!reader.IsDBNull(2))
 1105                    {
 1106                        propertytype.units = reader.GetString(2);
 1107                    }
 1108                    if (!reader.IsDBNull(3))
 1109                    {
 1110                        propertytype.validation = reader.GetString(3);
 1111                    }
 1112                    propertytype.isDel = reader.GetBoolean(4);
 113
 1114                    propertytypes.Add(propertytype);
 1115                }
 1116            }
 1117            return propertytypes;
 1118        }
 119    }
 120}
+
+
+
+ + \ No newline at end of file diff --git a/coveragereport/chemistry_cafe_api.dll_PropertyVersion.html b/coveragereport/chemistry_cafe_api.dll_PropertyVersion.html new file mode 100644 index 0000000..2d5ef5c --- /dev/null +++ b/coveragereport/chemistry_cafe_api.dll_PropertyVersion.html @@ -0,0 +1,202 @@ + + + + + + + +Chemistry_Cafe_API.Models.PropertyVersion - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:Chemistry_Cafe_API.Models.PropertyVersion
Assembly:chemistry cafe api.dll
File(s):C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\Models\PropertyVersion.cs
+
+
+
+
+
+
+
Line coverage
+
+
100%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:13
Uncovered lines:0
Coverable lines:13
Total lines:19
Line coverage:100%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

File(s)

+

C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\Models\PropertyVersion.cs

+
+ + + + + + + + + + + + + + + + + + + + + + + +
#LineLine coverage
 1namespace Chemistry_Cafe_API.Models
 2{
 3    public class PropertyVersion
 4    {
 15        public Guid uuid { get; set; }
 16        public Guid parent_property_uuid { get; set; }
 17        public string? frozen_version { get; set; }
 18        public Guid tag_mechanism_uuid { get; set; }
 19        public Guid property_type { get; set; }
 110        public float? float_value { get; set; }
 111        public double? double_value { get; set; }
 112        public int? int_value { get; set; }
 113        public string? string_value { get; set; }
 114        public string? action { get; set; }
 115        public Guid user_uuid { get; set; }
 116        public DateTime datetime { get; set; }
 117        public bool isDel {  get; set; }
 18    }
 19}
+
+
+
+ + \ No newline at end of file diff --git a/coveragereport/chemistry_cafe_api.dll_PropertyVersionController.html b/coveragereport/chemistry_cafe_api.dll_PropertyVersionController.html new file mode 100644 index 0000000..e736999 --- /dev/null +++ b/coveragereport/chemistry_cafe_api.dll_PropertyVersionController.html @@ -0,0 +1,239 @@ + + + + + + + +Chemistry_Cafe_API.Controllers.PropertyVersionController - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:Chemistry_Cafe_API.Controllers.PropertyVersionController
Assembly:chemistry cafe api.dll
File(s):C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\Controllers\PropertyVersionController.cs
+
+
+
+
+
+
+
Line coverage
+
+
100%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:19
Uncovered lines:0
Coverable lines:19
Total lines:57
Line coverage:100%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+
+ +++++ + + + + + + + + + +
MethodBlocks covered Blocks not covered
PropertyVersionController(...)30
Get()162
Get()162
Create()162
Put()162
Delete()162
+
+

File(s)

+

C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\Controllers\PropertyVersionController.cs

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
#LineLine coverage
 1using Chemistry_Cafe_API.Models;
 2using Chemistry_Cafe_API.Services;
 3using Microsoft.AspNetCore.Mvc;
 4using MySqlConnector;
 5
 6// For more information on enabling Web API for empty projects, visit https://go.microsoft.com/fwlink/?LinkID=397860
 7
 8namespace Chemistry_Cafe_API.Controllers
 9{
 10    [Route("api/[controller]")]
 11    [ApiController]
 12    public class PropertyVersionController : ControllerBase
 13    {
 14        private PropertyVersionService propertyVersionService;
 15
 16        //Injects sql data source setup in Program.cs
 117        public PropertyVersionController([FromServices] MySqlDataSource db)
 118        {
 119            this.propertyVersionService = new PropertyVersionService(db);
 120        }
 21
 22        // GET: api/PropertyVersion/all
 23        [HttpGet("all")]
 24        public async Task<IReadOnlyList<PropertyVersion>> Get()
 125        {
 126            return await propertyVersionService.GetPropertyVersionsAsync();
 127        }
 28
 29        // GET api/PropertyVersion/5
 30        [HttpGet("{uuid}")]
 31        public async Task<PropertyVersion?> Get(Guid uuid)
 132        {
 133            return await propertyVersionService.GetPropertyVersionAsync(uuid);
 134        }
 35
 36        // POST api/PropertyVersion/create
 37        [HttpPost("create")]
 38        public async Task<Guid> Create([FromBody] PropertyVersion newPropertyVersion)
 139        {
 140            return await propertyVersionService.CreatePropertyVersionAsync(newPropertyVersion);
 141        }
 42
 43        // PUT api/PropertyVersion/5
 44        [HttpPut("update")]
 45        public async Task Put([FromBody] PropertyVersion newPropertyVersion)
 146        {
 147            await propertyVersionService.UpdatePropertyVersionAsync(newPropertyVersion);
 148        }
 49
 50        // DELETE api/PropertyVersion/delete/5
 51        [HttpDelete("delete/{uuid}")]
 52        public async Task Delete(Guid uuid)
 153        {
 154            await propertyVersionService.DeletePropertyVersionAsync(uuid);
 155        }
 56    }
 57}
+
+
+
+ + \ No newline at end of file diff --git a/coveragereport/chemistry_cafe_api.dll_PropertyVersionControllerTests.html b/coveragereport/chemistry_cafe_api.dll_PropertyVersionControllerTests.html new file mode 100644 index 0000000..4233633 --- /dev/null +++ b/coveragereport/chemistry_cafe_api.dll_PropertyVersionControllerTests.html @@ -0,0 +1,248 @@ + + + + + + + +Chemistry_Cafe_API.Tests.PropertyVersionControllerTests - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:Chemistry_Cafe_API.Tests.PropertyVersionControllerTests
Assembly:chemistry cafe api.dll
File(s):C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\Tests\PropertyVersionControllerTests.cs
+
+
+
+
+
+
+
Line coverage
+
+
100%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:38
Uncovered lines:0
Coverable lines:38
Total lines:70
Line coverage:100%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+
+ +++++ + + + + + + + +
MethodBlocks covered Blocks not covered
PropertyVersionControllerTests()30
Get_retrieves_propertyversion()172
Creates_propertyversion()402
Updates_propertyversion()672
+
+

File(s)

+

C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\Tests\PropertyVersionControllerTests.cs

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
#LineLine coverage
 1using Chemistry_Cafe_API.Controllers;
 2using Chemistry_Cafe_API.Models;
 3using Microsoft.VisualStudio.TestTools.UnitTesting;
 4using MySqlConnector;
 5
 6namespace Chemistry_Cafe_API.Tests
 7{
 8    [TestClass]
 9    public class PropertyVersionControllerTests
 10    {
 111        PropertyVersionController controller = new PropertyVersionController(DBConnection.DataSource);
 12
 13        [TestMethod]
 14        public async Task Get_retrieves_propertyversion()
 115        {
 116            var result = await controller.Get() as List<PropertyVersion>;
 17
 118            Assert.IsNotNull(result);
 119        }
 20
 21        [TestMethod]
 22        public async Task Creates_propertyversion()
 123        {
 124            var propertyVersion = new PropertyVersion
 125            {
 126                parent_property_uuid = new Guid("343115be-8937-431d-bf65-ede6c2d815a7"),
 127                frozen_version = "1.0",
 128                tag_mechanism_uuid = new Guid("228c026a-c29e-4e7e-b5b8-772c82a22a40"),
 129                property_type = new Guid("b1f0efbc-1757-4d15-a199-66cf5f73d279"),
 130                user_uuid = new Guid("070465a1-5f3e-42eb-9373-fed864a75cf5"),
 131                string_value = "Test Property"
 132            };
 33
 134            var result = await controller.Create(propertyVersion);
 35
 136            var getResult = await controller.Get(result);
 37
 138            Assert.AreEqual(result, getResult.uuid);
 139        }
 40
 41        [TestMethod]
 42        public async Task Updates_propertyversion()
 143        {
 144            var propertyVersion = new PropertyVersion
 145            {
 146                parent_property_uuid = new Guid("343115be-8937-431d-bf65-ede6c2d815a7"),
 147                frozen_version = "1.0",
 148                tag_mechanism_uuid = new Guid("228c026a-c29e-4e7e-b5b8-772c82a22a40"),
 149                property_type = new Guid("b1f0efbc-1757-4d15-a199-66cf5f73d279"),
 150                user_uuid = new Guid("070465a1-5f3e-42eb-9373-fed864a75cf5"),
 151                string_value = "Test Property",
 152                isDel = false
 153            };
 54
 155            var result = await controller.Create(propertyVersion);
 56
 157            var getResult = await controller.Get(result);
 58
 159            getResult.string_value = "Edited";
 60
 161            await controller.Put(getResult);
 62
 163            var getEditedResult = await controller.Get(result);
 64
 165            await controller.Delete(result);
 66
 167            Assert.AreEqual(getEditedResult.string_value, "Edited");
 168        }
 69    }
 70}
+
+
+
+ + \ No newline at end of file diff --git a/coveragereport/chemistry_cafe_api.dll_PropertyVersionService.html b/coveragereport/chemistry_cafe_api.dll_PropertyVersionService.html new file mode 100644 index 0000000..03a8d79 --- /dev/null +++ b/coveragereport/chemistry_cafe_api.dll_PropertyVersionService.html @@ -0,0 +1,326 @@ + + + + + + + +Chemistry_Cafe_API.Services.PropertyVersionService - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:Chemistry_Cafe_API.Services.PropertyVersionService
Assembly:chemistry cafe api.dll
File(s):C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\Services\PropertyVersionService.cs
+
+
+
+
+
+
+
Line coverage
+
+
91%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:98
Uncovered lines:9
Coverable lines:107
Total lines:142
Line coverage:91.5%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+ +

File(s)

+

C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\Services\PropertyVersionService.cs

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
#LineLine coverage
 1using Chemistry_Cafe_API.Models;
 2using System.Data.Common;
 3using MySqlConnector;
 4using Microsoft.AspNetCore.Mvc;
 5using System;
 6
 7namespace Chemistry_Cafe_API.Services
 8{
 19    public class PropertyVersionService(MySqlDataSource database)
 10    {
 11        public async Task<IReadOnlyList<PropertyVersion>> GetPropertyVersionsAsync()
 112        {
 113            using var connection = await database.OpenConnectionAsync();
 114            using var command = connection.CreateCommand();
 15
 116            command.CommandText = "SELECT * FROM Property_Version WHERE isDel = 0";
 117            return await ReadAllAsync(await command.ExecuteReaderAsync());
 118        }
 19
 20        public async Task<PropertyVersion?> GetPropertyVersionAsync(Guid uuid)
 121        {
 122            using var connection = await database.OpenConnectionAsync();
 123            using var command = connection.CreateCommand();
 24
 125            command.CommandText = @"SELECT * FROM Property_Version WHERE uuid = @id";
 126            command.Parameters.AddWithValue("@id", uuid);
 27
 128            var result = await ReadAllAsync(await command.ExecuteReaderAsync());
 129            return result.FirstOrDefault();
 130        }
 31
 32        public async Task<Guid> CreatePropertyVersionAsync(PropertyVersion newPropertyVersion)
 133        {
 134            using var connection = await database.OpenConnectionAsync();
 135            using var command = connection.CreateCommand();
 36
 137            Guid propertyVersionID = Guid.NewGuid();
 38
 139            command.CommandText = @"INSERT INTO Property_Version (uuid, parent_property_uuid, frozen_version, tag_mechan
 140            float_value, double_value, int_value, string_value, action, user_uuid, datetime)
 141            VALUES (@uuid, @parent_property_uuid, @frozen_version, @tag_mechanism_uuid, @property_type, @float_value, @d
 42
 143            command.Parameters.AddWithValue("@uuid", propertyVersionID);
 144            command.Parameters.AddWithValue("@parent_property_uuid", newPropertyVersion.parent_property_uuid);
 145            command.Parameters.AddWithValue("@frozen_version", newPropertyVersion.frozen_version);
 146            command.Parameters.AddWithValue("@tag_mechanism_uuid", newPropertyVersion.tag_mechanism_uuid);
 147            command.Parameters.AddWithValue("@property_type", newPropertyVersion.property_type);
 148            command.Parameters.AddWithValue("@float_value", newPropertyVersion.float_value);
 149            command.Parameters.AddWithValue("@double_value", newPropertyVersion.double_value);
 150            command.Parameters.AddWithValue("@int_value", newPropertyVersion.int_value);
 151            command.Parameters.AddWithValue("@string_value", newPropertyVersion.string_value);
 152            command.Parameters.AddWithValue("@action", newPropertyVersion.action);
 153            command.Parameters.AddWithValue("@user_uuid", newPropertyVersion.user_uuid);
 154            command.Parameters.AddWithValue("@datetime", newPropertyVersion.datetime);
 55
 156            await command.ExecuteNonQueryAsync();
 57
 158            return propertyVersionID;
 159        }
 60        public async Task UpdatePropertyVersionAsync(PropertyVersion propertyVersion)
 161        {
 162            using var connection = await database.OpenConnectionAsync();
 163            using var command = connection.CreateCommand();
 64
 165            command.CommandText = @"UPDATE Property_Version SET parent_property_uuid = @parent_property_uuid, frozen_ver
 166            property_type = @property_type, float_value = @float_value, double_value = @double_value, int_value = @int_v
 167            user_uuid = @user_uuid, datetime = @datetime, isDel = @isDel WHERE uuid = @uuid;";
 68
 169            command.Parameters.AddWithValue("@uuid", propertyVersion.uuid);
 170            command.Parameters.AddWithValue("@parent_property_uuid", propertyVersion.parent_property_uuid);
 171            command.Parameters.AddWithValue("@frozen_version", propertyVersion.frozen_version);
 172            command.Parameters.AddWithValue("@tag_mechanism_uuid", propertyVersion.tag_mechanism_uuid);
 173            command.Parameters.AddWithValue("@property_type", propertyVersion.property_type);
 174            command.Parameters.AddWithValue("@float_value", propertyVersion.float_value);
 175            command.Parameters.AddWithValue("@double_value", propertyVersion.double_value);
 176            command.Parameters.AddWithValue("@int_value", propertyVersion.int_value);
 177            command.Parameters.AddWithValue("@string_value", propertyVersion.string_value);
 178            command.Parameters.AddWithValue("@action", propertyVersion.action);
 179            command.Parameters.AddWithValue("@user_uuid", propertyVersion.user_uuid);
 180            command.Parameters.AddWithValue("@datetime", propertyVersion.datetime);
 181            command.Parameters.AddWithValue("@isDel", propertyVersion.isDel);
 82
 183            await command.ExecuteNonQueryAsync();
 184        }
 85
 86        public async Task DeletePropertyVersionAsync(Guid uuid)
 187        {
 188            using var connection = await database.OpenConnectionAsync();
 189            using var command = connection.CreateCommand();
 90
 191            command.CommandText = @"UPDATE Property_Version SET isDel = 1 WHERE uuid = @uuid;";
 92
 193            command.Parameters.AddWithValue("@uuid", uuid);
 94
 195            await command.ExecuteNonQueryAsync();
 196        }
 97
 98        private async Task<IReadOnlyList<PropertyVersion>> ReadAllAsync(DbDataReader reader)
 199        {
 1100            var propertyVersion = new List<PropertyVersion>();
 1101            using (reader)
 1102            {
 1103                while (await reader.ReadAsync())
 1104                {
 1105                    var property = new PropertyVersion
 1106                    {
 1107                        uuid = reader.GetGuid(0),
 1108                        parent_property_uuid = reader.GetGuid(1),
 1109                        frozen_version = reader.GetString(2),
 1110                        tag_mechanism_uuid = reader.GetGuid(3),
 1111                        property_type = reader.GetGuid(4),
 1112                        user_uuid = reader.GetGuid(10),
 1113                        datetime = reader.GetDateTime(11),
 1114                        isDel = reader.GetBoolean(12),
 1115                    };
 1116                    if (!reader.IsDBNull(5))
 1117                    {
 1118                        property.float_value = reader.GetFloat(5);
 1119                    }
 1120                    if (!reader.IsDBNull(6))
 0121                    {
 0122                        property.double_value = reader.GetDouble(6);
 0123                    }
 1124                    if (!reader.IsDBNull(7))
 0125                    {
 0126                        property.int_value = reader.GetInt32(7);
 0127                    }
 1128                    if (!reader.IsDBNull(8))
 1129                    {
 1130                        property.string_value = reader.GetString(8);
 1131                    }
 1132                    if (!reader.IsDBNull(9))
 0133                    {
 0134                        property.action = reader.GetString(9);
 0135                    }
 1136                    propertyVersion.Add(property);
 1137                }
 1138            }
 1139            return propertyVersion;
 1140        }
 141    }
 142}
+
+
+
+ + \ No newline at end of file diff --git a/coveragereport/chemistry_cafe_api.dll_ReactantProductList.html b/coveragereport/chemistry_cafe_api.dll_ReactantProductList.html new file mode 100644 index 0000000..881fda6 --- /dev/null +++ b/coveragereport/chemistry_cafe_api.dll_ReactantProductList.html @@ -0,0 +1,175 @@ + + + + + + + +Chemistry_Cafe_API.Models.ReactantProductList - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:Chemistry_Cafe_API.Models.ReactantProductList
Assembly:chemistry cafe api.dll
File(s):C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\Models\ReactantProductList.cs
+
+
+
+
+
+
+
Line coverage
+
+
0%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:0
Uncovered lines:4
Coverable lines:4
Total lines:10
Line coverage:0%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

File(s)

+

C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\Models\ReactantProductList.cs

+
+ + + + + + + + + + + + + + +
#LineLine coverage
 1namespace Chemistry_Cafe_API.Models
 2{
 3    public class ReactantProductList
 4    {
 05        public Guid reactant_product_uuid { get; set; }
 06        public Guid reaction_uuid { get; set; }
 07        public Guid species_uuid { get; set;}
 08        public int quantity { get; set; }
 9    }
 10}
+
+
+
+ + \ No newline at end of file diff --git a/coveragereport/chemistry_cafe_api.dll_ReactantProductListController.html b/coveragereport/chemistry_cafe_api.dll_ReactantProductListController.html new file mode 100644 index 0000000..82f91f2 --- /dev/null +++ b/coveragereport/chemistry_cafe_api.dll_ReactantProductListController.html @@ -0,0 +1,258 @@ + + + + + + + +Chemistry_Cafe_API.Controllers.ReactantProductListController - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:Chemistry_Cafe_API.Controllers.ReactantProductListController
Assembly:chemistry cafe api.dll
File(s):C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\Controllers\ReactantProductListController.cs
+
+
+
+
+
+
+
Line coverage
+
+
0%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:0
Uncovered lines:25
Coverable lines:25
Total lines:72
Line coverage:0%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+
+ +++++ + + + + + + + + + + + +
MethodBlocks covered Blocks not covered
ReactantProductListController(...)03
Get()018
Get()018
GetReactants()018
GetProducts()018
Create()018
Put()018
Delete()018
+
+

File(s)

+

C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\Controllers\ReactantProductListController.cs

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
#LineLine coverage
 1using Chemistry_Cafe_API.Models;
 2using Chemistry_Cafe_API.Services;
 3using Microsoft.AspNetCore.Mvc;
 4using MySqlConnector;
 5using System;
 6
 7// For more information on enabling Web API for empty projects, visit https://go.microsoft.com/fwlink/?LinkID=397860
 8
 9namespace Chemistry_Cafe_API.Controllers
 10{
 11    [Route("api/[controller]")]
 12    [ApiController]
 13    public class ReactantProductListController : ControllerBase
 14    {
 15        private ReactantProductListService userpreferencesService;
 16
 17        //Injects sql data source setup in Program.cs
 018        public ReactantProductListController([FromServices] MySqlDataSource db)
 019        {
 020            this.userpreferencesService = new ReactantProductListService(db);
 021        }
 22
 23        // GET: api/ReactantProductList/all
 24        [HttpGet("all")]
 25        public async Task<IReadOnlyList<ReactantProductList>> Get()
 026        {
 027            return await userpreferencesService.GetReactantProductListsAsync();
 028        }
 29
 30        // GET api/ReactantProductList/5
 31        [HttpGet("{uuid}")]
 32        public async Task<ReactantProductList?> Get(Guid uuid)
 033        {
 034            return await userpreferencesService.GetReactantProductListAsync(uuid);
 035        }
 36
 37        // GET api/ReactantProductList/Reactants/5
 38        [HttpGet("Reactants/{reaction_reactant_list_uuid}")]
 39        public async Task<IReadOnlyList<ReactantsProducts>> GetReactants(Guid reaction_reactant_list_uuid)
 040        {
 041            return await userpreferencesService.GetReactantsAsync(reaction_reactant_list_uuid);
 042        }
 43
 44        // GET api/ReactantProductList/Products/5
 45        [HttpGet("Products/{reaction_product_list_uuid}")]
 46        public async Task<IReadOnlyList<ReactantsProducts>> GetProducts(Guid reaction_product_list_uuid)
 047        {
 048            return await userpreferencesService.GetProductsAsync(reaction_product_list_uuid);
 049        }
 50
 51        // POST api/ReactantProductList/create
 52        [HttpPost("create")]
 53        public async Task Create([FromBody] ReactantProductList reactantProduct)
 054        {
 055            await userpreferencesService.CreateReactantProductListAsync(reactantProduct);
 056        }
 57
 58        // PUT api/ReactantProductList/5
 59        [HttpPut("update")]
 60        public async Task Put([FromBody] ReactantProductList reactantProductList)
 061        {
 062            await userpreferencesService.UpdateReactantProductListAsync(reactantProductList);
 063        }
 64
 65        // DELETE api/ReactantProductList/delete  Body [reaction_product_uuid, species_uuid]
 66        [HttpDelete("delete")]
 67        public async Task Delete([FromBody]DeleteReactantProductList uuid)
 068        {
 069            await userpreferencesService.DeleteReactantProductListAsync(uuid);
 070        }
 71    }
 72}
+
+
+
+ + \ No newline at end of file diff --git a/coveragereport/chemistry_cafe_api.dll_ReactantProductListService.html b/coveragereport/chemistry_cafe_api.dll_ReactantProductListService.html new file mode 100644 index 0000000..7ee27e1 --- /dev/null +++ b/coveragereport/chemistry_cafe_api.dll_ReactantProductListService.html @@ -0,0 +1,331 @@ + + + + + + + +Chemistry_Cafe_API.Services.ReactantProductListService - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:Chemistry_Cafe_API.Services.ReactantProductListService
Assembly:chemistry cafe api.dll
File(s):C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\Services\ReactantProductListService.cs
+
+
+
+
+
+
+
Line coverage
+
+
37%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:36
Uncovered lines:60
Coverable lines:96
Total lines:141
Line coverage:37.5%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+ +

File(s)

+

C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\Services\ReactantProductListService.cs

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
#LineLine coverage
 1using Chemistry_Cafe_API.Models;
 2using System.Data.Common;
 3using MySqlConnector;
 4using Microsoft.AspNetCore.Mvc;
 5using System;
 6
 7
 8namespace Chemistry_Cafe_API.Services
 9{
 110    public class ReactantProductListService(MySqlDataSource database)
 11    {
 12        public async Task<IReadOnlyList<ReactantProductList>> GetReactantProductListsAsync()
 013        {
 014            using var connection = await database.OpenConnectionAsync();
 015            using var command = connection.CreateCommand();
 16
 017            command.CommandText = "SELECT * FROM Reactant_Product_List";
 018            return await ReadAllAsync(await command.ExecuteReaderAsync());
 019        }
 20
 21        public async Task<ReactantProductList?> GetReactantProductListAsync(Guid uuid)
 022        {
 023            using var connection = await database.OpenConnectionAsync();
 024            using var command = connection.CreateCommand();
 25
 026            command.CommandText = @"SELECT * FROM Reactant_Product_List WHERE reactant_product_uuid = @id";
 027            command.Parameters.AddWithValue("@id", uuid);
 28
 029            var result = await ReadAllAsync(await command.ExecuteReaderAsync());
 030            return result.FirstOrDefault();
 031        }
 32
 33        public async Task<IReadOnlyList<ReactantsProducts>> GetReactantsAsync(Guid reaction_reactant_list_uuid)
 134        {
 135            using var connection = await database.OpenConnectionAsync();
 136            using var command = connection.CreateCommand();
 37
 138            command.CommandText = "SELECT Reactant_Product_List.reactant_product_uuid, Reactant_Product_List.reaction_uu
 139                "FROM Reactant_Product_List LEFT JOIN Species ON species_uuid = uuid WHERE reactant_product_uuid = @reac
 140            command.Parameters.AddWithValue("@reaction_reactant_list_uuid", reaction_reactant_list_uuid);
 141            return await ReadAllReactantsProductsAsync(await command.ExecuteReaderAsync());
 142        }
 43
 44        public async Task<IReadOnlyList<ReactantsProducts>> GetProductsAsync(Guid reaction_product_list_uuid)
 145        {
 146            using var connection = await database.OpenConnectionAsync();
 147            using var command = connection.CreateCommand();
 48
 149            command.CommandText = "SELECT Reactant_Product_List.reactant_product_uuid, Reactant_Product_List.reaction_uu
 150                "FROM Reactant_Product_List LEFT JOIN Species ON species_uuid = uuid WHERE reactant_product_uuid = @reac
 151            command.Parameters.AddWithValue("@reaction_product_list_uuid", reaction_product_list_uuid);
 152            return await ReadAllReactantsProductsAsync(await command.ExecuteReaderAsync());
 153        }
 54
 55        public async Task CreateReactantProductListAsync(ReactantProductList reactantProduct)
 056        {
 057            using var connection = await database.OpenConnectionAsync();
 058            using var command = connection.CreateCommand();
 59
 60
 061            command.CommandText = @"INSERT INTO Reactant_Product_List (reactant_product_uuid, reaction_uuid, species_uui
 62
 063            command.Parameters.AddWithValue("@reactant_product_uuid", reactantProduct.reactant_product_uuid);
 064            command.Parameters.AddWithValue("@reaction_uuid", reactantProduct.reaction_uuid);
 065            command.Parameters.AddWithValue("@species_uuid", reactantProduct.species_uuid);
 066            command.Parameters.AddWithValue("@quantity", reactantProduct.quantity);
 67
 068            await command.ExecuteNonQueryAsync();
 069        }
 70        public async Task UpdateReactantProductListAsync(ReactantProductList reactantProduct)
 071        {
 072            using var connection = await database.OpenConnectionAsync();
 073            using var command = connection.CreateCommand();
 74
 075            command.CommandText = @"UPDATE Reactant_Product_List SET quantity = @quantity WHERE reactant_product_uuid = 
 76
 077            command.Parameters.AddWithValue("@reactant_product_uuid", reactantProduct.reactant_product_uuid);
 078            command.Parameters.AddWithValue("@reaction_uuid", reactantProduct.reaction_uuid);
 079            command.Parameters.AddWithValue("@species_uuid", reactantProduct.species_uuid);
 080            command.Parameters.AddWithValue("@quantity", reactantProduct.quantity);
 81
 82
 83
 084            await command.ExecuteNonQueryAsync();
 085        }
 86
 87        public async Task DeleteReactantProductListAsync(DeleteReactantProductList uuids)
 088        {
 089            using var connection = await database.OpenConnectionAsync();
 090            using var command = connection.CreateCommand();
 91
 092            command.CommandText = @"DELETE FROM Reactant_Product_List WHERE reactant_product_uuid = @reactant_product_uu
 93
 094            command.Parameters.AddWithValue("@reactant_product_uuid", uuids.reactant_product_uuid);
 095            command.Parameters.AddWithValue("@species_uuid", uuids.species_uuid);
 96
 097            await command.ExecuteNonQueryAsync();
 098        }
 99
 100        private async Task<IReadOnlyList<ReactantProductList>> ReadAllAsync(DbDataReader reader)
 0101        {
 0102            var reactantProductList = new List<ReactantProductList>();
 0103            using (reader)
 0104            {
 0105                while (await reader.ReadAsync())
 0106                {
 0107                    var property = new ReactantProductList
 0108                    {
 0109                        reactant_product_uuid = reader.GetGuid(0),
 0110                        reaction_uuid = reader.GetGuid(1),
 0111                        species_uuid = reader.GetGuid(2),
 0112                        quantity = reader.GetInt32(3)
 0113                    };
 0114                    reactantProductList.Add(property);
 0115                }
 0116            }
 0117            return reactantProductList;
 0118        }
 119
 120        private async Task<IReadOnlyList<ReactantsProducts>> ReadAllReactantsProductsAsync(DbDataReader reader)
 1121        {
 1122            var reactantProductList = new List<ReactantsProducts>();
 1123            using (reader)
 1124            {
 1125                while (await reader.ReadAsync())
 1126                {
 1127                    var property = new ReactantsProducts
 1128                    {
 1129                        reactant_product_uuid = reader.GetGuid(0),
 1130                        reaction_uuid = reader.GetGuid(1),
 1131                        species_uuid = reader.GetGuid(2),
 1132                        quantity = reader.GetInt32(3),
 1133                        type = reader.GetString(4)
 1134                    };
 1135                    reactantProductList.Add(property);
 1136                }
 1137            }
 1138            return reactantProductList;
 1139        }
 140    }
 141}
+
+
+
+ + \ No newline at end of file diff --git a/coveragereport/chemistry_cafe_api.dll_ReactantsProducts.html b/coveragereport/chemistry_cafe_api.dll_ReactantsProducts.html new file mode 100644 index 0000000..d78ee6f --- /dev/null +++ b/coveragereport/chemistry_cafe_api.dll_ReactantsProducts.html @@ -0,0 +1,178 @@ + + + + + + + +Chemistry_Cafe_API.Models.ReactantsProducts - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:Chemistry_Cafe_API.Models.ReactantsProducts
Assembly:chemistry cafe api.dll
File(s):C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\Models\ReactantsProducts.cs
+
+
+
+
+
+
+
Line coverage
+
+
100%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:5
Uncovered lines:0
Coverable lines:5
Total lines:11
Line coverage:100%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

File(s)

+

C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\Models\ReactantsProducts.cs

+
+ + + + + + + + + + + + + + + +
#LineLine coverage
 1namespace Chemistry_Cafe_API.Models
 2{
 3    public class ReactantsProducts
 4    {
 15        public Guid reactant_product_uuid { get; set; }
 16        public Guid reaction_uuid { get; set; }
 17        public Guid species_uuid { get; set;}
 18        public int quantity { get; set; }
 19        public string? type { get; set; }
 10    }
 11}
+
+
+
+ + \ No newline at end of file diff --git a/coveragereport/chemistry_cafe_api.dll_Reaction.html b/coveragereport/chemistry_cafe_api.dll_Reaction.html new file mode 100644 index 0000000..bff3272 --- /dev/null +++ b/coveragereport/chemistry_cafe_api.dll_Reaction.html @@ -0,0 +1,181 @@ + + + + + + + +Chemistry_Cafe_API.Models.Reaction - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:Chemistry_Cafe_API.Models.Reaction
Assembly:chemistry cafe api.dll
File(s):C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\Models\Reaction.cs
+
+
+
+
+
+
+
Line coverage
+
+
100%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:6
Uncovered lines:0
Coverable lines:6
Total lines:12
Line coverage:100%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

File(s)

+

C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\Models\Reaction.cs

+
+ + + + + + + + + + + + + + + + +
#LineLine coverage
 1namespace Chemistry_Cafe_API.Models
 2{
 3    public class Reaction
 4    {
 15        public Guid uuid { get; set; }
 16        public string? type { get; set; }
 17        public bool isDel {  get; set; }
 18        public Guid reactant_list_uuid { get; set; }
 19        public Guid product_list_uuid { get; set; }
 110        public string reaction_string {  get; set; }
 11    }
 12}
+
+
+
+ + \ No newline at end of file diff --git a/coveragereport/chemistry_cafe_api.dll_ReactionController.html b/coveragereport/chemistry_cafe_api.dll_ReactionController.html new file mode 100644 index 0000000..670ac78 --- /dev/null +++ b/coveragereport/chemistry_cafe_api.dll_ReactionController.html @@ -0,0 +1,258 @@ + + + + + + + +Chemistry_Cafe_API.Controllers.ReactionController - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:Chemistry_Cafe_API.Controllers.ReactionController
Assembly:chemistry cafe api.dll
File(s):C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\Controllers\ReactionController.cs
+
+
+
+
+
+
+
Line coverage
+
+
76%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:19
Uncovered lines:6
Coverable lines:25
Total lines:72
Line coverage:76%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+
+ +++++ + + + + + + + + + + + +
MethodBlocks covered Blocks not covered
ReactionController(...)30
Get()162
Get()162
GetString()018
GetTags()018
Create()162
Put()162
Delete()162
+
+

File(s)

+

C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\Controllers\ReactionController.cs

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
#LineLine coverage
 1using Chemistry_Cafe_API.Models;
 2using Chemistry_Cafe_API.Services;
 3using Microsoft.AspNetCore.Mvc;
 4using MySqlConnector;
 5
 6// For more information on enabling Web API for empty projects, visit https://go.microsoft.com/fwlink/?LinkID=397860
 7
 8namespace Chemistry_Cafe_API.Controllers
 9{
 10    [Route("api/[controller]")]
 11    [ApiController]
 12    public class ReactionController : ControllerBase
 13    {
 14        private ReactionService reactionService;
 15
 16        //Injects sql data source setup in Program.cs
 117        public ReactionController([FromServices] MySqlDataSource db)
 118        {
 119            this.reactionService = new ReactionService(db);
 120        }
 21
 22        // GET: api/Reaction/all
 23        [HttpGet("all")]
 24        public async Task<IReadOnlyList<Reaction>> Get()
 125        {
 126            return await reactionService.GetReactionsAsync();
 127        }
 28
 29        // GET api/Reaction/5
 30        [HttpGet("{uuid}")]
 31        public async Task<Reaction?> Get(Guid uuid)
 132        {
 133            return await reactionService.GetReactionAsync(uuid);
 134        }
 35
 36        // GET api/Reaction/String/5
 37        [HttpGet("String/{uuid}")]
 38        public async Task<String?> GetString(Guid uuid)
 039        {
 040            return await reactionService.GetReactionStringAsync(uuid);
 041        }
 42
 43        // GET api/Reaction/TagMechanism/5
 44        [HttpGet("TagMechanism/{tag_mechanism_uuid}")]
 45        public async Task<IReadOnlyList<Reaction>> GetTags(Guid tag_mechanism_uuid)
 046        {
 047            return await reactionService.GetTags(tag_mechanism_uuid);
 048        }
 49
 50        // POST api/Reaction/create
 51        [HttpPost("create")]
 52
 53        public async Task<Guid> Create([FromBody] string type)
 154        {
 155            return await reactionService.CreateReactionAsync(type);
 156        }
 57
 58        // PUT api/Reaction/5
 59        [HttpPut("update")]
 60        public async Task Put([FromBody] Reaction reaction)
 161        {
 162            await reactionService.UpdateReactionAsync(reaction);
 163        }
 64
 65        // DELETE api/Reaction/delete/5
 66        [HttpDelete("delete/{uuid}")]
 67        public async Task Delete(Guid uuid)
 168        {
 169            await reactionService.DeleteReactionAsync(uuid);
 170        }
 71    }
 72}
+
+
+
+ + \ No newline at end of file diff --git a/coveragereport/chemistry_cafe_api.dll_ReactionControllerTests.html b/coveragereport/chemistry_cafe_api.dll_ReactionControllerTests.html new file mode 100644 index 0000000..af73c6b --- /dev/null +++ b/coveragereport/chemistry_cafe_api.dll_ReactionControllerTests.html @@ -0,0 +1,227 @@ + + + + + + + +Chemistry_Cafe_API.Tests.ReactionControllerTests - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:Chemistry_Cafe_API.Tests.ReactionControllerTests
Assembly:chemistry cafe api.dll
File(s):C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\Tests\ReactionControllerTests.cs
+
+
+
+
+
+
+
Line coverage
+
+
100%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:19
Uncovered lines:0
Coverable lines:19
Total lines:49
Line coverage:100%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+
+ +++++ + + + + + + + +
MethodBlocks covered Blocks not covered
ReactionControllerTests()30
Get_retrieves_reaction()172
Creates_reaction()292
Updates_reaction()552
+
+

File(s)

+

C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\Tests\ReactionControllerTests.cs

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
#LineLine coverage
 1using Chemistry_Cafe_API.Controllers;
 2using Chemistry_Cafe_API.Models;
 3using Microsoft.VisualStudio.TestTools.UnitTesting;
 4using MySqlConnector;
 5
 6namespace Chemistry_Cafe_API.Tests
 7{
 8    [TestClass]
 9    public class ReactionControllerTests
 10    {
 111        ReactionController controller = new ReactionController(DBConnection.DataSource);
 12
 13        [TestMethod]
 14        public async Task Get_retrieves_reaction()
 115        {
 116            var result = await controller.Get() as List<Reaction>;
 17
 118            Assert.IsNotNull(result);
 119        }
 20
 21        [TestMethod]
 22        public async Task Creates_reaction()
 123        {
 124            var result = await controller.Create("Test") ;
 25
 126            var getResult = await controller.Get(result);
 27
 128            Assert.AreEqual(result, getResult.uuid);
 129        }
 30
 31        [TestMethod]
 32        public async Task Updates_reaction()
 133        {
 134            var result = await controller.Create("Test");
 35
 136            var getResult = await controller.Get(result);
 37
 138            getResult.type = "Edited";
 39
 140            await controller.Put(getResult);
 41
 142            var getEditedResult = await controller.Get(result);
 43
 144            await controller.Delete(result);
 45
 146            Assert.AreEqual(getEditedResult.type, "Edited");
 147        }
 48    }
 49}
+
+
+
+ + \ No newline at end of file diff --git a/coveragereport/chemistry_cafe_api.dll_ReactionService.html b/coveragereport/chemistry_cafe_api.dll_ReactionService.html new file mode 100644 index 0000000..aad2dbe --- /dev/null +++ b/coveragereport/chemistry_cafe_api.dll_ReactionService.html @@ -0,0 +1,391 @@ + + + + + + + +Chemistry_Cafe_API.Services.ReactionService - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:Chemistry_Cafe_API.Services.ReactionService
Assembly:chemistry cafe api.dll
File(s):C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\Services\ReactionService.cs
+
+
+
+
+
+
+
Line coverage
+
+
100%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:142
Uncovered lines:0
Coverable lines:142
Total lines:203
Line coverage:100%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+ +

File(s)

+

C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\Services\ReactionService.cs

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
#LineLine coverage
 1using Chemistry_Cafe_API.Models;
 2using System.Data.Common;
 3using MySqlConnector;
 4using Microsoft.AspNetCore.Mvc;
 5using System;
 6using System.Collections.Generic;
 7
 8
 9namespace Chemistry_Cafe_API.Services
 10{
 111    public class ReactionService(MySqlDataSource database)
 12    {
 13        public async Task<IReadOnlyList<Reaction>> GetReactionsAsync()
 114        {
 115            using var connection = await database.OpenConnectionAsync();
 116            using var command = connection.CreateCommand();
 17
 118            command.CommandText = "SELECT * FROM Reaction WHERE isDel = 0";
 119            var list = ReadAllAsync(await command.ExecuteReaderAsync()).Result;
 20
 121            List<string> reactions = new List<string>();
 122            foreach (var item in list)
 123            {
 124                reactions.Add(GetReactionStringAsync(item.uuid).Result);
 125            }
 26
 127            return await ReadAllAsync(await command.ExecuteReaderAsync(), reactions);
 128        }
 29
 30        public async Task<Reaction?> GetReactionAsync(Guid uuid)
 131        {
 132            using var connection = await database.OpenConnectionAsync();
 133            using var command = connection.CreateCommand();
 34
 135            command.CommandText = @"SELECT * FROM Reaction WHERE uuid = @id";
 136            command.Parameters.AddWithValue("@id", uuid);
 37
 138            var result = await ReadAllAsync(await command.ExecuteReaderAsync());
 139            List<string> reactions = new List<string>();
 140            foreach (var item in result)
 141            {
 142                reactions.Add(GetReactionStringAsync(item.uuid).Result);
 143            }
 44
 145            var result2 = await ReadAllAsync(await command.ExecuteReaderAsync(), reactions);
 146            return result2.FirstOrDefault();
 147        }
 48
 49        public async Task<IReadOnlyList<Reaction>> GetTags(Guid tag_mechanism_uuid)
 150        {
 151            using var connection = await database.OpenConnectionAsync();
 152            using var command = connection.CreateCommand();
 53
 154            command.CommandText = @"SELECT Reaction.uuid, Reaction.type, Reaction.isDel, Reaction.reactant_list_uuid, Re
 155            command.Parameters.AddWithValue("@tag_mechanism_uuid", tag_mechanism_uuid);
 56
 157            var list = ReadAllAsync(await command.ExecuteReaderAsync()).Result;
 58
 159            List<string> reactions = new List<string>();
 160            foreach (var item in list)
 161            {
 162                reactions.Add(GetReactionStringAsync(item.uuid).Result);
 163            }
 64
 165            return await ReadAllAsync(await command.ExecuteReaderAsync(), reactions);
 166        }
 67
 68        public async Task<String?> GetReactionStringAsync(Guid uuid)
 169        {
 170            using var connection = await database.OpenConnectionAsync();
 171            using var command = connection.CreateCommand();
 72
 173            command.CommandText = @"SELECT * FROM Reaction WHERE uuid = @id AND isDel = 0";
 174            command.Parameters.AddWithValue("@id", uuid);
 75
 176            var result = await ReadAllAsync(await command.ExecuteReaderAsync());
 77
 178            ReactantProductListService reactantProductListService = new ReactantProductListService(database);
 79
 180            var reactants = reactantProductListService.GetReactantsAsync(result[0].reactant_list_uuid).Result;
 181            var products = reactantProductListService.GetProductsAsync(result[0].product_list_uuid).Result;
 82
 183            string reactionString = "";
 184            bool isReact = false;
 185            bool isProduct = false;
 86
 187            foreach( var reactant in reactants)
 188            {
 189                reactionString += "" + reactant.quantity + reactant.type + " + ";
 190                isReact = true;
 191            }
 192            if (isReact)
 193            {
 194                reactionString = reactionString.Remove(reactionString.LastIndexOf('+'));
 195            }
 96            else
 197            {
 198                reactionString += "<none> ";
 199            }
 100
 1101            reactionString += "-> ";
 102
 1103            foreach ( var product in products)
 1104            {
 1105                reactionString += "" + product.quantity + product.type + " + ";
 1106                isProduct = true;
 1107            }
 108
 1109            if (isProduct)
 1110            {
 1111                reactionString = reactionString.Remove(reactionString.LastIndexOf('+'));
 1112            }
 113            else
 1114            {
 1115                reactionString += "<none>";
 1116            }
 117
 1118            return reactionString;
 1119        }
 120
 121
 122        public async Task<Guid> CreateReactionAsync(string type)
 1123        {
 1124            using var connection = await database.OpenConnectionAsync();
 1125            using var command = connection.CreateCommand();
 126
 1127            Guid reactionID = Guid.NewGuid();
 1128            Guid reactant_list_uuid = Guid.NewGuid();
 1129            Guid product_list_uuid = Guid.NewGuid();
 130
 1131            command.CommandText = @"INSERT INTO Reaction (uuid, type, reactant_list_uuid, product_list_uuid) VALUES (@uu
 132
 1133            command.Parameters.AddWithValue("@uuid", reactionID);
 1134            command.Parameters.AddWithValue("@type", type);
 1135            command.Parameters.AddWithValue("@reactant_list_uuid", reactant_list_uuid);
 1136            command.Parameters.AddWithValue("@product_list_uuid", product_list_uuid);
 137
 1138            await command.ExecuteNonQueryAsync();
 139
 1140            return reactionID;
 1141        }
 142        public async Task UpdateReactionAsync(Reaction reaction)
 1143        {
 1144            using var connection = await database.OpenConnectionAsync();
 1145            using var command = connection.CreateCommand();
 146
 1147            command.CommandText = @"UPDATE Reaction SET type = @type, isDel = @isDel, reactant_list_uuid = @reactant_lis
 148
 1149            command.Parameters.AddWithValue("@uuid", reaction.uuid);
 1150            command.Parameters.AddWithValue("@type", reaction.type);
 1151            command.Parameters.AddWithValue("@isDel", reaction.isDel);
 1152            command.Parameters.AddWithValue("@reactant_list_uuid", reaction.reactant_list_uuid);
 1153            command.Parameters.AddWithValue("@product_list_uuid", reaction.product_list_uuid);
 154
 1155            await command.ExecuteNonQueryAsync();
 1156        }
 157
 158        public async Task DeleteReactionAsync(Guid uuid)
 1159        {
 1160            using var connection = await database.OpenConnectionAsync();
 1161            using var command = connection.CreateCommand();
 162
 1163            command.CommandText = @"UPDATE Reaction SET isDel = 1 WHERE uuid = @uuid;";
 164
 1165            command.Parameters.AddWithValue("@uuid", uuid);
 166
 1167            await command.ExecuteNonQueryAsync();
 1168        }
 169
 170        private async Task<IReadOnlyList<Reaction>> ReadAllAsync(DbDataReader reader, List<string> reactionString = null
 1171        {
 1172            var reactions = new List<Reaction>();
 1173            int i = 0;
 1174            using (reader)
 1175            {
 1176                while (await reader.ReadAsync())
 1177                {
 1178                    var reaction = new Reaction
 1179                    {
 1180                        uuid = reader.GetGuid(0),
 1181                        type = reader.GetString(1),
 1182                        isDel = reader.GetBoolean(2)
 1183                    };
 1184                    if (!reader.IsDBNull(3))
 1185                    {
 1186                        reaction.reactant_list_uuid = reader.GetGuid(3);
 1187                    }
 1188                    if (!reader.IsDBNull(4))
 1189                    {
 1190                        reaction.product_list_uuid = reader.GetGuid(4);
 1191                    }
 1192                    if (reactionString != null)
 1193                    {
 1194                        reaction.reaction_string = reactionString[i];
 1195                    }
 1196                    reactions.Add(reaction);
 1197                    i++;
 1198                }
 1199            }
 1200            return reactions;
 1201        }
 202    }
 203}
+
+
+
+ + \ No newline at end of file diff --git a/coveragereport/chemistry_cafe_api.dll_Species.html b/coveragereport/chemistry_cafe_api.dll_Species.html new file mode 100644 index 0000000..89120f0 --- /dev/null +++ b/coveragereport/chemistry_cafe_api.dll_Species.html @@ -0,0 +1,172 @@ + + + + + + + +Chemistry_Cafe_API.Models.Species - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:Chemistry_Cafe_API.Models.Species
Assembly:chemistry cafe api.dll
File(s):C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\Models\Species.cs
+
+
+
+
+
+
+
Line coverage
+
+
100%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:3
Uncovered lines:0
Coverable lines:3
Total lines:9
Line coverage:100%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

File(s)

+

C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\Models\Species.cs

+
+ + + + + + + + + + + + + +
#LineLine coverage
 1namespace Chemistry_Cafe_API.Models
 2{
 3    public class Species
 4    {
 15        public Guid uuid { get; set; }
 16        public string? type { get; set; }
 17        public bool isDel {  get; set; }
 8    }
 9}
+
+
+
+ + \ No newline at end of file diff --git a/coveragereport/chemistry_cafe_api.dll_SpeciesController.html b/coveragereport/chemistry_cafe_api.dll_SpeciesController.html new file mode 100644 index 0000000..5555343 --- /dev/null +++ b/coveragereport/chemistry_cafe_api.dll_SpeciesController.html @@ -0,0 +1,248 @@ + + + + + + + +Chemistry_Cafe_API.Controllers.SpeciesController - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:Chemistry_Cafe_API.Controllers.SpeciesController
Assembly:chemistry cafe api.dll
File(s):C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\Controllers\SpeciesController.cs
+
+
+
+
+
+
+
Line coverage
+
+
86%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:19
Uncovered lines:3
Coverable lines:22
Total lines:64
Line coverage:86.3%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+
+ +++++ + + + + + + + + + + +
MethodBlocks covered Blocks not covered
SpeciesController(...)30
Get()162
GetTags()018
Get()162
Create()162
Put()162
Delete()162
+
+

File(s)

+

C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\Controllers\SpeciesController.cs

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
#LineLine coverage
 1using Chemistry_Cafe_API.Models;
 2using Chemistry_Cafe_API.Services;
 3using Microsoft.AspNetCore.Mvc;
 4using MySqlConnector;
 5
 6// For more information on enabling Web API for empty projects, visit https://go.microsoft.com/fwlink/?LinkID=397860
 7
 8namespace Chemistry_Cafe_API.Controllers
 9{
 10    [Route("api/[controller]")]
 11    [ApiController]
 12    public class SpeciesController : ControllerBase
 13    {
 14        private SpeciesService speciesService;
 15
 16        //Injects sql data source setup in Program.cs
 117        public SpeciesController([FromServices] MySqlDataSource db)
 118        {
 119            this.speciesService = new SpeciesService(db);
 120        }
 21
 22        // GET: api/Species/all
 23        [HttpGet("all")]
 24        public async Task<IReadOnlyList<Species>> Get()
 125        {
 126            return await speciesService.GetSpeciesAsync();
 127        }
 28
 29        // GET api/Species/TagMechanism/5
 30        [HttpGet("TagMechanism/{tag_mechanism_uuid}")]
 31        public async Task<IReadOnlyList<Species>> GetTags(Guid tag_mechanism_uuid)
 032        {
 033            return await speciesService.GetTags(tag_mechanism_uuid);
 034        }
 35
 36        // GET api/Species/5
 37        [HttpGet("{uuid}")]
 38        public async Task<Species?> Get(Guid uuid)
 139        {
 140            return await speciesService.GetSpeciesAsync(uuid);
 141        }
 42
 43        // POST api/Species/create
 44        [HttpPost("create")]
 45        public async Task<Guid> Create([FromBody] string type)
 146        {
 147            return await speciesService.CreateSpeciesAsync(type);
 148        }
 49
 50        // PUT api/Species/5
 51        [HttpPut("update")]
 52        public async Task Put([FromBody] Species species)
 153        {
 154            await speciesService.UpdateSpeciesAsync(species);
 155        }
 56
 57        // DELETE api/Species/delete/5
 58        [HttpDelete("delete/{uuid}")]
 59        public async Task Delete(Guid uuid)
 160        {
 161            await speciesService.DeleteSpeciesAsync(uuid);
 162        }
 63    }
 64}
+
+
+
+ + \ No newline at end of file diff --git a/coveragereport/chemistry_cafe_api.dll_SpeciesControllerTests.html b/coveragereport/chemistry_cafe_api.dll_SpeciesControllerTests.html new file mode 100644 index 0000000..ac91b37 --- /dev/null +++ b/coveragereport/chemistry_cafe_api.dll_SpeciesControllerTests.html @@ -0,0 +1,233 @@ + + + + + + + +Chemistry_Cafe_API.Tests.SpeciesControllerTests - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:Chemistry_Cafe_API.Tests.SpeciesControllerTests
Assembly:chemistry cafe api.dll
File(s):C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\Tests\SpeciesControllerTests .cs
+
+
+
+
+
+
+
Line coverage
+
+
100%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:22
Uncovered lines:0
Coverable lines:22
Total lines:55
Line coverage:100%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+
+ +++++ + + + + + + + +
MethodBlocks covered Blocks not covered
SpeciesControllerTests()20
Get_retrieves_species()182
Creates_species()302
Updates_species()562
+
+

File(s)

+

C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\Tests\SpeciesControllerTests .cs

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
#LineLine coverage
 1using Chemistry_Cafe_API.Controllers;
 2using Chemistry_Cafe_API.Models;
 3using Microsoft.VisualStudio.TestTools.UnitTesting;
 4using MySqlConnector;
 5
 6namespace Chemistry_Cafe_API.Tests
 7{
 8    [TestClass]
 9    public class SpeciesControllerTests
 10    {
 111        readonly MySqlDataSource db = DBConnection.DataSource;
 12
 13        [TestMethod]
 14        public async Task Get_retrieves_species()
 115        {
 116            var controller = new SpeciesController(db);
 17
 118            var result = await controller.Get() as List<Species>;
 19
 120            Assert.IsNotNull(result);
 121        }
 22
 23        [TestMethod]
 24        public async Task Creates_species()
 125        {
 126            var controller = new SpeciesController(db);
 27
 128            var result = await controller.Create("Test") ;
 29
 130            var getResult = await controller.Get(result);
 31
 132            Assert.AreEqual(result, getResult.uuid);
 133        }
 34
 35        [TestMethod]
 36        public async Task Updates_species()
 137        {
 138            var controller = new SpeciesController(db);
 39
 140            var result = await controller.Create("Test");
 41
 142            var getResult = await controller.Get(result);
 43
 144            getResult.type = "Edited";
 45
 146            await controller.Put(getResult);
 47
 148            var getEditedResult = await controller.Get(result);
 49
 150            await controller.Delete(result);
 51
 152            Assert.AreEqual(getEditedResult.type, "Edited");
 153        }
 54    }
 55}
+
+
+
+ + \ No newline at end of file diff --git a/coveragereport/chemistry_cafe_api.dll_SpeciesService.html b/coveragereport/chemistry_cafe_api.dll_SpeciesService.html new file mode 100644 index 0000000..1bd1a51 --- /dev/null +++ b/coveragereport/chemistry_cafe_api.dll_SpeciesService.html @@ -0,0 +1,290 @@ + + + + + + + +Chemistry_Cafe_API.Services.SpeciesService - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:Chemistry_Cafe_API.Services.SpeciesService
Assembly:chemistry cafe api.dll
File(s):C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\Services\SpeciesService.cs
+
+
+
+
+
+
+
Line coverage
+
+
100%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:65
Uncovered lines:0
Coverable lines:65
Total lines:104
Line coverage:100%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+
+ +++++ + + + + + + + + + + + +
MethodBlocks covered Blocks not covered
SpeciesService(...)20
GetSpeciesAsync()566
GetSpeciesAsync()596
GetTags()586
CreateSpeciesAsync()542
UpdateSpeciesAsync()582
DeleteSpeciesAsync()512
ReadAllAsync()347
+
+

File(s)

+

C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\Services\SpeciesService.cs

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
#LineLine coverage
 1using Chemistry_Cafe_API.Models;
 2using System.Data.Common;
 3using MySqlConnector;
 4using Microsoft.AspNetCore.Mvc;
 5
 6
 7namespace Chemistry_Cafe_API.Services
 8{
 19    public class SpeciesService(MySqlDataSource database)
 10    {
 11        public async Task<IReadOnlyList<Species>> GetSpeciesAsync()
 112        {
 113            using var connection = await database.OpenConnectionAsync();
 114            using var command = connection.CreateCommand();
 15
 116            command.CommandText = "SELECT * FROM Species WHERE isDel = 0";
 117            return await ReadAllAsync(await command.ExecuteReaderAsync());
 118        }
 19
 20        public async Task<Species?> GetSpeciesAsync(Guid uuid)
 121        {
 122            using var connection = await database.OpenConnectionAsync();
 123            using var command = connection.CreateCommand();
 24
 125            command.CommandText = @"SELECT * FROM Species WHERE uuid = @id";
 126            command.Parameters.AddWithValue("@id", uuid);
 27
 128            var result = await ReadAllAsync(await command.ExecuteReaderAsync());
 129            return result.FirstOrDefault();
 130        }
 31
 32        public async Task<IReadOnlyList<Species>> GetTags(Guid tag_mechanism_uuid)
 133        {
 134            using var connection = await database.OpenConnectionAsync();
 135            using var command = connection.CreateCommand();
 36
 137            command.CommandText = @"SELECT Species.uuid, Species.type, Species.isDel FROM TagMechanism_Species_List LEFT
 138            command.Parameters.AddWithValue("@tag_mechanism_uuid", tag_mechanism_uuid);
 39
 140            return await ReadAllAsync(await command.ExecuteReaderAsync());
 141        }
 42
 43        public async Task<Guid> CreateSpeciesAsync(string type)
 144        {
 145            using var connection = await database.OpenConnectionAsync();
 146            using var command = connection.CreateCommand();
 47
 148            Guid speciesID = Guid.NewGuid();
 49
 150            command.CommandText = @"INSERT INTO Species (uuid, type) VALUES (@uuid, @type);";
 51
 152            command.Parameters.AddWithValue("@uuid", speciesID);
 153            command.Parameters.AddWithValue("@type", type);
 54
 155            await command.ExecuteNonQueryAsync();
 56
 157            return speciesID;
 158        }
 59        public async Task UpdateSpeciesAsync(Species species)
 160        {
 161            using var connection = await database.OpenConnectionAsync();
 162            using var command = connection.CreateCommand();
 63
 164            command.CommandText = @"UPDATE Species SET type = @type, isDel = @isDel WHERE uuid = @uuid;";
 65
 166            command.Parameters.AddWithValue("@uuid", species.uuid);
 167            command.Parameters.AddWithValue("@type", species.type);
 168            command.Parameters.AddWithValue("@isDel", species.isDel);
 69
 170            await command.ExecuteNonQueryAsync();
 171        }
 72
 73        public async Task DeleteSpeciesAsync(Guid uuid)
 174        {
 175            using var connection = await database.OpenConnectionAsync();
 176            using var command = connection.CreateCommand();
 77
 178            command.CommandText = @"UPDATE Species SET isDel = 1 WHERE uuid = @uuid;";
 79
 180            command.Parameters.AddWithValue("@uuid", uuid);
 81
 182            await command.ExecuteNonQueryAsync();
 183        }
 84
 85        private async Task<IReadOnlyList<Species>> ReadAllAsync(DbDataReader reader)
 186        {
 187            var speciess = new List<Species>();
 188            using (reader)
 189            {
 190                while (await reader.ReadAsync())
 191                {
 192                    var species = new Species
 193                    {
 194                        uuid = reader.GetGuid(0),
 195                        type = reader.GetString(1),
 196                        isDel = reader.GetBoolean(2),
 197                    };
 198                    speciess.Add(species);
 199                }
 1100            }
 1101            return speciess;
 1102        }
 103    }
 104}
+
+
+
+ + \ No newline at end of file diff --git a/coveragereport/chemistry_cafe_api.dll_TagMechanism.html b/coveragereport/chemistry_cafe_api.dll_TagMechanism.html new file mode 100644 index 0000000..af1b635 --- /dev/null +++ b/coveragereport/chemistry_cafe_api.dll_TagMechanism.html @@ -0,0 +1,172 @@ + + + + + + + +Chemistry_Cafe_API.Models.TagMechanism - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:Chemistry_Cafe_API.Models.TagMechanism
Assembly:chemistry cafe api.dll
File(s):C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\Models\TagMechanism.cs
+
+
+
+
+
+
+
Line coverage
+
+
100%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:3
Uncovered lines:0
Coverable lines:3
Total lines:9
Line coverage:100%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

File(s)

+

C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\Models\TagMechanism.cs

+
+ + + + + + + + + + + + + +
#LineLine coverage
 1namespace Chemistry_Cafe_API.Models
 2{
 3    public class TagMechanism
 4    {
 15        public Guid uuid { get; set; }
 16        public string? tag { get; set; }
 17        public bool isDel {  get; set; }
 8    }
 9}
+
+
+
+ +
+ + \ No newline at end of file diff --git a/coveragereport/chemistry_cafe_api.dll_TagMechanismController.html b/coveragereport/chemistry_cafe_api.dll_TagMechanismController.html new file mode 100644 index 0000000..1c87be8 --- /dev/null +++ b/coveragereport/chemistry_cafe_api.dll_TagMechanismController.html @@ -0,0 +1,247 @@ + + + + + + + +Chemistry_Cafe_API.Controllers.TagMechanismController - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:Chemistry_Cafe_API.Controllers.TagMechanismController
Assembly:chemistry cafe api.dll
File(s):C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\Controllers\TagMechanismController.cs
+
+
+
+
+
+
+
Line coverage
+
+
100%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:22
Uncovered lines:0
Coverable lines:22
Total lines:63
Line coverage:100%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+
+ +++++ + + + + + + + + + + +
MethodBlocks covered Blocks not covered
TagMechanismController(...)30
Get()162
Get()162
GetTags()162
Create()162
Put()162
Delete()162
+
+

File(s)

+

C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\Controllers\TagMechanismController.cs

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
#LineLine coverage
 1using Chemistry_Cafe_API.Models;
 2using Chemistry_Cafe_API.Services;
 3using Microsoft.AspNetCore.Mvc;
 4using MySqlConnector;
 5
 6// For more information on enabling Web API for empty projects, visit https://go.microsoft.com/fwlink/?LinkID=397860
 7
 8namespace Chemistry_Cafe_API.Controllers
 9{
 10    [Route("api/[controller]")]
 11    [ApiController]
 12    public class TagMechanismController : ControllerBase
 13    {
 14        private TagMechanismService tagMechanismService;
 15
 16        //Injects sql data source setup in Program.cs
 117        public TagMechanismController([FromServices] MySqlDataSource db)
 118        {
 119            this.tagMechanismService = new TagMechanismService(db);
 120        }
 21
 22        // GET: api/TagMechanism/all
 23        [HttpGet("all")]
 24        public async Task<IReadOnlyList<TagMechanism>> Get()
 125        {
 126            return await tagMechanismService.GetTagMechanismsAsync();
 127        }
 28
 29        // GET api/TagMechanism/5
 30        [HttpGet("{uuid}")]
 31        public async Task<TagMechanism?> Get(Guid uuid)
 132        {
 133            return await tagMechanismService.GetTagMechanismAsync(uuid);
 134        }
 35
 36        [HttpGet("Family/{family_uuid}")]
 37        public async Task<IReadOnlyList<TagMechanism>> GetTags(Guid family_uuid)
 138        {
 139            return await tagMechanismService.GetTagsAsync(family_uuid);
 140        }
 41
 42        // POST api/TagMechanism/create
 43        [HttpPost("create")]
 44        public async Task<Guid> Create([FromBody] string tag)
 145        {
 146            return await tagMechanismService.CreateTagMechanismAsync(tag);
 147        }
 48
 49        // PUT api/TagMechanism/5
 50        [HttpPut("update")]
 51        public async Task Put([FromBody] TagMechanism tagMechanism)
 152        {
 153            await tagMechanismService.UpdateTagMechanismAsync(tagMechanism);
 154        }
 55
 56        // DELETE api/TagMechanism/delete/5
 57        [HttpDelete("delete/{uuid}")]
 58        public async Task Delete(Guid uuid)
 159        {
 160            await tagMechanismService.DeleteTagMechanismAsync(uuid);
 161        }
 62    }
 63}
+
+
+
+ + \ No newline at end of file diff --git a/coveragereport/chemistry_cafe_api.dll_TagMechanismControllerTests.html b/coveragereport/chemistry_cafe_api.dll_TagMechanismControllerTests.html new file mode 100644 index 0000000..6eff177 --- /dev/null +++ b/coveragereport/chemistry_cafe_api.dll_TagMechanismControllerTests.html @@ -0,0 +1,247 @@ + + + + + + + +Chemistry_Cafe_API.Tests.TagMechanismControllerTests - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:Chemistry_Cafe_API.Tests.TagMechanismControllerTests
Assembly:chemistry cafe api.dll
File(s):C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\Tests\TagMechanismControllerTests.cs
+
+
+
+
+
+
+
Line coverage
+
+
100%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:28
Uncovered lines:0
Coverable lines:28
Total lines:67
Line coverage:100%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+ +

File(s)

+

C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\Tests\TagMechanismControllerTests.cs

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
#LineLine coverage
 1using Chemistry_Cafe_API.Controllers;
 2using Chemistry_Cafe_API.Models;
 3using Microsoft.VisualStudio.TestTools.UnitTesting;
 4using MySqlConnector;
 5
 6namespace Chemistry_Cafe_API.Tests
 7{
 8    [TestClass]
 9    public class TagMechanismControllerTests
 10    {
 111        readonly MySqlDataSource db = DBConnection.DataSource;
 12
 13        [TestMethod]
 14        public async Task Get_retrieves_tagmechanism()
 115        {
 116            var controller = new TagMechanismController(db);
 17
 118            var result = await controller.Get() as List<TagMechanism>;
 19
 120            Assert.IsNotNull(result);
 121        }
 22
 23        [TestMethod]
 24        public async Task Get_retrieves_tagmechanism_family()
 125        {
 126            var controller = new TagMechanismController(db);
 27
 128            var guid = new Guid("06b7c16f-eb1a-49ef-8798-16fe03fc67ae");
 29
 130            var result = await controller.GetTags(guid) as List<TagMechanism>;
 31
 132            Assert.IsNotNull(result);
 133        }
 34
 35        [TestMethod]
 36        public async Task Creates_tagmechanism()
 137        {
 138            var controller = new TagMechanismController(db);
 39
 140            var result = await controller.Create("Test") ;
 41
 142            var getResult = await controller.Get(result);
 43
 144            Assert.AreEqual(result, getResult.uuid);
 145        }
 46
 47        [TestMethod]
 48        public async Task Updates_tagmechanism()
 149        {
 150            var controller = new TagMechanismController(db);
 51
 152            var result = await controller.Create("Test");
 53
 154            var getResult = await controller.Get(result);
 55
 156            getResult.tag = "Edited";
 57
 158            await controller.Put(getResult);
 59
 160            var getEditedResult = await controller.Get(result);
 61
 162            await controller.Delete(result);
 63
 164            Assert.AreEqual(getEditedResult.tag, "Edited");
 165        }
 66    }
 67}
+
+
+
+ + \ No newline at end of file diff --git a/coveragereport/chemistry_cafe_api.dll_TagMechanismReactionList.html b/coveragereport/chemistry_cafe_api.dll_TagMechanismReactionList.html new file mode 100644 index 0000000..614274d --- /dev/null +++ b/coveragereport/chemistry_cafe_api.dll_TagMechanismReactionList.html @@ -0,0 +1,178 @@ + + + + + + + +Chemistry_Cafe_API.Models.TagMechanismReactionList - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:Chemistry_Cafe_API.Models.TagMechanismReactionList
Assembly:chemistry cafe api.dll
File(s):C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\Models\TagMechanismReactionList.cs
+
+
+
+
+
+
+
Line coverage
+
+
100%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:5
Uncovered lines:0
Coverable lines:5
Total lines:11
Line coverage:100%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

File(s)

+

C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\Models\TagMechanismReactionList.cs

+
+ + + + + + + + + + + + + + + +
#LineLine coverage
 1namespace Chemistry_Cafe_API.Models
 2{
 3    public class TagMechanismReactionList
 4    {
 15        public Guid uuid { get; set; }
 16        public Guid reaction_uuid { get; set; }
 17        public Guid tag_mechanism_uuid { get; set; }
 18        public string? version { get; set; }
 19        public bool isDel { get; set; }
 10    }
 11}
+
+
+
+ + \ No newline at end of file diff --git a/coveragereport/chemistry_cafe_api.dll_TagMechanismReactionListController.html b/coveragereport/chemistry_cafe_api.dll_TagMechanismReactionListController.html new file mode 100644 index 0000000..0cee0ee --- /dev/null +++ b/coveragereport/chemistry_cafe_api.dll_TagMechanismReactionListController.html @@ -0,0 +1,239 @@ + + + + + + + +Chemistry_Cafe_API.Controllers.TagMechanismReactionListController - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:Chemistry_Cafe_API.Controllers.TagMechanismReactionListController
Assembly:chemistry cafe api.dll
File(s):C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\Controllers\TagMechanismReactionListController.cs
+
+
+
+
+
+
+
Line coverage
+
+
100%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:19
Uncovered lines:0
Coverable lines:19
Total lines:57
Line coverage:100%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+
+ +++++ + + + + + + + + + +
MethodBlocks covered Blocks not covered
TagMechanismReactionListController(...)30
Get()162
Get()162
Create()162
Put()162
Delete()162
+
+

File(s)

+

C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\Controllers\TagMechanismReactionListController.cs

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
#LineLine coverage
 1using Chemistry_Cafe_API.Models;
 2using Chemistry_Cafe_API.Services;
 3using Microsoft.AspNetCore.Mvc;
 4using MySqlConnector;
 5
 6// For more information on enabling Web API for empty projects, visit https://go.microsoft.com/fwlink/?LinkID=397860
 7
 8namespace Chemistry_Cafe_API.Controllers
 9{
 10    [Route("api/[controller]")]
 11    [ApiController]
 12    public class TagMechanismReactionListController : ControllerBase
 13    {
 14        private TagMechanismReactionListService tagMechReationListService;
 15
 16        //Injects sql data source setup in Program.cs
 117        public TagMechanismReactionListController([FromServices] MySqlDataSource db)
 118        {
 119            this.tagMechReationListService = new TagMechanismReactionListService(db);
 120        }
 21
 22        // GET: api/TagMechanismReaction/all
 23        [HttpGet("all")]
 24        public async Task<IReadOnlyList<TagMechanismReactionList>> Get()
 125        {
 126            return await tagMechReationListService.GetTagMechanismReactionsAsync();
 127        }
 28
 29        // GET api/TagMechanismReaction/5
 30        [HttpGet("{uuid}")]
 31        public async Task<TagMechanismReactionList?> Get(Guid uuid)
 132        {
 133            return await tagMechReationListService.GetTagMechanismReactionAsync(uuid);
 134        }
 35
 36        // POST api/TagMechanismReaction/create
 37        [HttpPost("create")]
 38        public async Task<Guid> Create([FromBody] TagMechanismReactionList newTagMechanismReaction)
 139        {
 140            return await tagMechReationListService.CreateTagMechanismReactionAsync(newTagMechanismReaction);
 141        }
 42
 43        // PUT api/TagMechanismReaction/5
 44        [HttpPut("update")]
 45        public async Task Put([FromBody] TagMechanismReactionList newTagMechanismReaction)
 146        {
 147            await tagMechReationListService.UpdateTagMechanismReactionAsync(newTagMechanismReaction);
 148        }
 49
 50        // DELETE api/TagMechanismReaction/delete/5
 51        [HttpDelete("delete/{uuid}")]
 52        public async Task Delete(Guid uuid)
 153        {
 154            await tagMechReationListService.DeleteTagMechanismReactionAsync(uuid);
 155        }
 56    }
 57}
+
+
+
+ + \ No newline at end of file diff --git a/coveragereport/chemistry_cafe_api.dll_TagMechanismReactionListControllerTests.html b/coveragereport/chemistry_cafe_api.dll_TagMechanismReactionListControllerTests.html new file mode 100644 index 0000000..ec77621 --- /dev/null +++ b/coveragereport/chemistry_cafe_api.dll_TagMechanismReactionListControllerTests.html @@ -0,0 +1,249 @@ + + + + + + + +Chemistry_Cafe_API.Tests.TagMechanismReactionListControllerTests - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:Chemistry_Cafe_API.Tests.TagMechanismReactionListControllerTests
Assembly:chemistry cafe api.dll
File(s):C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\Tests\TagMechanismReactionListControllerTests.cs
+
+
+
+
+
+
+
Line coverage
+
+
100%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:36
Uncovered lines:0
Coverable lines:36
Total lines:71
Line coverage:100%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+ +

File(s)

+

C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\Tests\TagMechanismReactionListControllerTests.cs

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
#LineLine coverage
 1using Chemistry_Cafe_API.Controllers;
 2using Chemistry_Cafe_API.Models;
 3using Microsoft.VisualStudio.TestTools.UnitTesting;
 4using MySqlConnector;
 5
 6namespace Chemistry_Cafe_API.Tests
 7{
 8    [TestClass]
 9    public class TagMechanismReactionListControllerTests
 10    {
 111        readonly MySqlDataSource db = DBConnection.DataSource;
 12
 13        [TestMethod]
 14        public async Task Get_retrieves_tagmechanismreactionlist()
 115        {
 116            var controller = new TagMechanismReactionListController(db);
 17
 118            var result = await controller.Get() as List<TagMechanismReactionList>;
 19
 120            Assert.IsNotNull(result);
 121        }
 22
 23        [TestMethod]
 24        public async Task Creates_tagmechanismreactionlist()
 125        {
 126            var controller = new TagMechanismReactionListController(db);
 27
 128            var tagMechanismReactionList = new TagMechanismReactionList
 129            {
 130                tag_mechanism_uuid = new Guid("02114e61-a4a6-48c0-9f99-3de4d20ab750"),
 131                reaction_uuid = new Guid("367f4b94-14f5-404e-86ee-1d5f799edcd7"),
 132                version = "1.0",
 133                isDel = false
 134            };
 35
 136            var result = await controller.Create(tagMechanismReactionList) ;
 37
 138            var getResult = await controller.Get(result);
 39
 140            Assert.AreEqual(result, getResult.uuid);
 141        }
 42
 43        [TestMethod]
 44        public async Task Updates_tagmechanismreactionlist()
 145        {
 146            var controller = new TagMechanismReactionListController(db);
 47
 148            var tagMechanismReactionList = new TagMechanismReactionList
 149            {
 150                tag_mechanism_uuid = new Guid("02114e61-a4a6-48c0-9f99-3de4d20ab750"),
 151                reaction_uuid = new Guid("367f4b94-14f5-404e-86ee-1d5f799edcd7"),
 152                version = "1.0",
 153                isDel = false
 154            };
 55
 156            var result = await controller.Create(tagMechanismReactionList);
 57
 158            var getResult = await controller.Get(result);
 59
 160            getResult.version = "Edited";
 61
 162            await controller.Put(getResult);
 63
 164            var getEditedResult = await controller.Get(result);
 65
 166            await controller.Delete(result);
 67
 168            Assert.AreEqual(getEditedResult.version, "Edited");
 169        }
 70    }
 71}
+
+
+
+ + \ No newline at end of file diff --git a/coveragereport/chemistry_cafe_api.dll_TagMechanismReactionListService.html b/coveragereport/chemistry_cafe_api.dll_TagMechanismReactionListService.html new file mode 100644 index 0000000..3b8ceea --- /dev/null +++ b/coveragereport/chemistry_cafe_api.dll_TagMechanismReactionListService.html @@ -0,0 +1,282 @@ + + + + + + + +Chemistry_Cafe_API.Services.TagMechanismReactionListService - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:Chemistry_Cafe_API.Services.TagMechanismReactionListService
Assembly:chemistry cafe api.dll
File(s):C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\Services\TagMechanismReactionListService.cs
+
+
+
+
+
+
+
Line coverage
+
+
100%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:64
Uncovered lines:0
Coverable lines:64
Total lines:98
Line coverage:100%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+ +

File(s)

+

C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\Services\TagMechanismReactionListService.cs

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
#LineLine coverage
 1using Chemistry_Cafe_API.Models;
 2using System.Data.Common;
 3using MySqlConnector;
 4using Microsoft.AspNetCore.Mvc;
 5
 6namespace Chemistry_Cafe_API.Services
 7{
 18    public class TagMechanismReactionListService (MySqlDataSource database)
 9    {
 10        public async Task<IReadOnlyList<TagMechanismReactionList>> GetTagMechanismReactionsAsync()
 111        {
 112            using var connection = await database.OpenConnectionAsync();
 113            using var command = connection.CreateCommand();
 14
 115            command.CommandText = "SELECT * FROM TagMechanism_Reaction_List WHERE isDel = 0";
 116            return await ReadAllAsync(await command.ExecuteReaderAsync());
 117        }
 18
 19        public async Task<TagMechanismReactionList?> GetTagMechanismReactionAsync(Guid uuid)
 120        {
 121            using var connection = await database.OpenConnectionAsync();
 122            using var command = connection.CreateCommand();
 23
 124            command.CommandText = @"SELECT * FROM TagMechanism_Reaction_List WHERE uuid = @id";
 125            command.Parameters.AddWithValue("@id", uuid);
 26
 127            var result = await ReadAllAsync(await command.ExecuteReaderAsync());
 128            return result.FirstOrDefault();
 129        }
 30
 31        public async Task<Guid> CreateTagMechanismReactionAsync(TagMechanismReactionList newTagMechanismReaction)
 132        {
 133            using var connection = await database.OpenConnectionAsync();
 134            using var command = connection.CreateCommand();
 35
 136            Guid tagMechanismReactionID = Guid.NewGuid();
 37
 138            command.CommandText = @"INSERT INTO TagMechanism_Reaction_List (uuid, reaction_uuid, tag_mechanism_uuid, ver
 39
 140            command.Parameters.AddWithValue("@uuid", tagMechanismReactionID);
 141            command.Parameters.AddWithValue("@reaction_uuid", newTagMechanismReaction.reaction_uuid);
 142            command.Parameters.AddWithValue("@tag_mechanism_uuid", newTagMechanismReaction.tag_mechanism_uuid);
 143            command.Parameters.AddWithValue("@version", newTagMechanismReaction.version);
 44
 145            await command.ExecuteNonQueryAsync();
 46
 147            return tagMechanismReactionID;
 148        }
 49        public async Task UpdateTagMechanismReactionAsync(TagMechanismReactionList tagMechanismReaction)
 150        {
 151            using var connection = await database.OpenConnectionAsync();
 152            using var command = connection.CreateCommand();
 53
 154            command.CommandText = @"UPDATE TagMechanism_Reaction_List SET reaction_uuid = @reaction_uuid, tag_mechanism_
 55
 156            command.Parameters.AddWithValue("@uuid", tagMechanismReaction.uuid);
 157            command.Parameters.AddWithValue("@reaction_uuid", tagMechanismReaction.reaction_uuid);
 158            command.Parameters.AddWithValue("@tag_mechanism_uuid", tagMechanismReaction.tag_mechanism_uuid);
 159            command.Parameters.AddWithValue("@version", tagMechanismReaction.version);
 160            command.Parameters.AddWithValue("@isDel", tagMechanismReaction.isDel);
 61
 162            await command.ExecuteNonQueryAsync();
 163        }
 64
 65        public async Task DeleteTagMechanismReactionAsync(Guid uuid)
 166        {
 167            using var connection = await database.OpenConnectionAsync();
 168            using var command = connection.CreateCommand();
 69
 170            command.CommandText = @"UPDATE TagMechanism_Reaction_List SET isDel = 1 WHERE uuid = @uuid;";
 71
 172            command.Parameters.AddWithValue("@uuid", uuid);
 73
 174            await command.ExecuteNonQueryAsync();
 175        }
 76
 77        private async Task<IReadOnlyList<TagMechanismReactionList>> ReadAllAsync(DbDataReader reader)
 178        {
 179            var tagMechanismReaction = new List<TagMechanismReactionList>();
 180            using (reader)
 181            {
 182                while (await reader.ReadAsync())
 183                {
 184                    var mechTag = new TagMechanismReactionList
 185                    {
 186                        uuid = reader.GetGuid(0),
 187                        tag_mechanism_uuid = reader.GetGuid(1),
 188                        reaction_uuid = reader.GetGuid(2),
 189                        version = reader.GetString(3),
 190                        isDel = reader.GetBoolean(4),
 191                    };
 192                    tagMechanismReaction.Add(mechTag);
 193                }
 194            }
 195            return tagMechanismReaction;
 196        }
 97    }
 98}
+
+
+
+ + \ No newline at end of file diff --git a/coveragereport/chemistry_cafe_api.dll_TagMechanismReactionListVersion.html b/coveragereport/chemistry_cafe_api.dll_TagMechanismReactionListVersion.html new file mode 100644 index 0000000..4d4664a --- /dev/null +++ b/coveragereport/chemistry_cafe_api.dll_TagMechanismReactionListVersion.html @@ -0,0 +1,187 @@ + + + + + + + +Chemistry_Cafe_API.Models.TagMechanismReactionListVersion - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:Chemistry_Cafe_API.Models.TagMechanismReactionListVersion
Assembly:chemistry cafe api.dll
File(s):C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\Models\TagMechanismReactionListVersion.cs
+
+
+
+
+
+
+
Line coverage
+
+
100%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:8
Uncovered lines:0
Coverable lines:8
Total lines:14
Line coverage:100%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

File(s)

+

C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\Models\TagMechanismReactionListVersion.cs

+
+ + + + + + + + + + + + + + + + + + +
#LineLine coverage
 1namespace Chemistry_Cafe_API.Models
 2{
 3    public class TagMechanismReactionListVersion
 4    {
 15        public Guid uuid { get; set; }
 16        public Guid tag_mechanism_uuid { get; set; }
 17        public Guid reaction_uuid { get; set; }
 18        public string? frozen_version { get; set; }
 19        public string? action { get; set; }
 110        public Guid user_uuid { get; set; }
 111        public DateTime datetime { get; set; }
 112        public bool isDel {  get; set; }
 13    }
 14}
+
+
+
+ + \ No newline at end of file diff --git a/coveragereport/chemistry_cafe_api.dll_TagMechanismReactionListVersionController.html b/coveragereport/chemistry_cafe_api.dll_TagMechanismReactionListVersionController.html new file mode 100644 index 0000000..7271cec --- /dev/null +++ b/coveragereport/chemistry_cafe_api.dll_TagMechanismReactionListVersionController.html @@ -0,0 +1,239 @@ + + + + + + + +Chemistry_Cafe_API.Controllers.TagMechanismReactionListVersionController - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:Chemistry_Cafe_API.Controllers.TagMechanismReactionListVersionController
Assembly:chemistry cafe api.dll
File(s):C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\Controllers\TagMechanismReactionListVersionController.cs
+
+
+
+
+
+
+
Line coverage
+
+
100%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:19
Uncovered lines:0
Coverable lines:19
Total lines:57
Line coverage:100%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+
+ +++++ + + + + + + + + + +
MethodBlocks covered Blocks not covered
TagMechanismReactionListVersionController(...)30
Get()162
Get()162
Create()162
Put()162
Delete()162
+
+

File(s)

+

C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\Controllers\TagMechanismReactionListVersionController.cs

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
#LineLine coverage
 1using Chemistry_Cafe_API.Models;
 2using Chemistry_Cafe_API.Services;
 3using Microsoft.AspNetCore.Mvc;
 4using MySqlConnector;
 5
 6// For more information on enabling Web API for empty projects, visit https://go.microsoft.com/fwlink/?LinkID=397860
 7
 8namespace Chemistry_Cafe_API.Controllers
 9{
 10    [Route("api/[controller]")]
 11    [ApiController]
 12    public class TagMechanismReactionListVersionController : ControllerBase
 13    {
 14        private TagMechanismReactionListVersionService tagMechanismReactionListVersionService;
 15
 16        //Injects sql data source setup in Program.cs
 117        public TagMechanismReactionListVersionController([FromServices] MySqlDataSource db)
 118        {
 119            this.tagMechanismReactionListVersionService = new TagMechanismReactionListVersionService(db);
 120        }
 21
 22        // GET: api/TagMechanismReactionListVersion/all
 23        [HttpGet("all")]
 24        public async Task<IReadOnlyList<TagMechanismReactionListVersion>> Get()
 125        {
 126            return await tagMechanismReactionListVersionService.GetTagMechanismReactionListVersionsAsync();
 127        }
 28
 29        // GET api/TagMechanismReactionListVersion/5
 30        [HttpGet("{uuid}")]
 31        public async Task<TagMechanismReactionListVersion?> Get(Guid uuid)
 132        {
 133            return await tagMechanismReactionListVersionService.GetTagMechanismReactionListVersionAsync(uuid);
 134        }
 35
 36        // POST api/TagMechanismReactionListVersion/create
 37        [HttpPost("create")]
 38        public async Task<Guid> Create([FromBody] TagMechanismReactionListVersion newTagMechanismReactionListVersion)
 139        {
 140            return await tagMechanismReactionListVersionService.CreateTagMechanismReactionListVersionAsync(newTagMechani
 141        }
 42
 43        // PUT api/TagMechanismReactionListVersion/5
 44        [HttpPut("update")]
 45        public async Task Put([FromBody] TagMechanismReactionListVersion newTagMechanismReactionListVersion)
 146        {
 147            await tagMechanismReactionListVersionService.UpdateTagMechanismReactionListVersionAsync(newTagMechanismReact
 148        }
 49
 50        // DELETE api/TagMechanismReactionListVersion/delete/5
 51        [HttpDelete("delete/{uuid}")]
 52        public async Task Delete(Guid uuid)
 153        {
 154            await tagMechanismReactionListVersionService.DeleteTagMechanismReactionListVersionAsync(uuid);
 155        }
 56    }
 57}
+
+
+
+ + \ No newline at end of file diff --git a/coveragereport/chemistry_cafe_api.dll_TagMechanismReactionListVersionControllerTests.html b/coveragereport/chemistry_cafe_api.dll_TagMechanismReactionListVersionControllerTests.html new file mode 100644 index 0000000..f75b1db --- /dev/null +++ b/coveragereport/chemistry_cafe_api.dll_TagMechanismReactionListVersionControllerTests.html @@ -0,0 +1,255 @@ + + + + + + + +Chemistry_Cafe_API.Tests.TagMechanismReactionListVersionControllerTests - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:Chemistry_Cafe_API.Tests.TagMechanismReactionListVersionControllerTests
Assembly:chemistry cafe api.dll
File(s):C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\Tests\TagMechanismReactionListVersionControllerTests.cs
+
+
+
+
+
+
+
Line coverage
+
+
100%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:42
Uncovered lines:0
Coverable lines:42
Total lines:77
Line coverage:100%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+ +

File(s)

+

C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\Tests\TagMechanismReactionListVersionControllerTests.cs

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
#LineLine coverage
 1using Chemistry_Cafe_API.Controllers;
 2using Chemistry_Cafe_API.Models;
 3using Microsoft.VisualStudio.TestTools.UnitTesting;
 4using MySqlConnector;
 5
 6namespace Chemistry_Cafe_API.Tests
 7{
 8    [TestClass]
 9    public class TagMechanismReactionListVersionControllerTests
 10    {
 111        readonly MySqlDataSource db = DBConnection.DataSource;
 12
 13        [TestMethod]
 14        public async Task Get_retrieves_TagMechanismReactionListVersion()
 115        {
 116            var controller = new TagMechanismReactionListVersionController(db);
 17
 118            var result = await controller.Get() as List<TagMechanismReactionListVersion>;
 19
 120            Assert.IsNotNull(result);
 121        }
 22
 23        [TestMethod]
 24        public async Task Creates_TagMechanismReactionListVersion()
 125        {
 126            var controller = new TagMechanismReactionListVersionController(db);
 27
 128            var familyTagMecList = new TagMechanismReactionListVersion
 129            {
 130                tag_mechanism_uuid = new Guid("02114e61-a4a6-48c0-9f99-3de4d20ab750"),
 131                reaction_uuid = new Guid("367f4b94-14f5-404e-86ee-1d5f799edcd7"),
 132                frozen_version = "1.0",
 133                user_uuid = new Guid("04c5db32-65e1-44ba-8b29-1cbfd5383789"),
 134                action = "test",
 135                datetime = DateTime.Now,
 136                isDel = false
 137            };
 38
 139            var result = await controller.Create(familyTagMecList);
 40
 141            var getResult = await controller.Get(result);
 42
 143            Assert.AreEqual(result, getResult.uuid);
 144        }
 45
 46        [TestMethod]
 47        public async Task Updates_TagMechanismReactionListVersion()
 148        {
 149            var controller = new TagMechanismReactionListVersionController(db);
 50
 151            var familyTagMecList = new TagMechanismReactionListVersion
 152            {
 153                tag_mechanism_uuid = new Guid("02114e61-a4a6-48c0-9f99-3de4d20ab750"),
 154                reaction_uuid = new Guid("367f4b94-14f5-404e-86ee-1d5f799edcd7"),
 155                frozen_version = "1.0",
 156                user_uuid = new Guid("04c5db32-65e1-44ba-8b29-1cbfd5383789"),
 157                action = "test",
 158                datetime = DateTime.Now,
 159                isDel = false
 160            };
 61
 162            var result = await controller.Create(familyTagMecList);
 63
 164            var getResult = await controller.Get(result);
 65
 166            getResult.action = "Edited";
 67
 168            await controller.Put(getResult);
 69
 170            var getEdited = await controller.Get(result);
 71
 172            await controller.Delete(result);
 73
 174            Assert.AreEqual(getEdited.action, "Edited");
 175        }
 76    }
 77}
+
+
+
+ + \ No newline at end of file diff --git a/coveragereport/chemistry_cafe_api.dll_TagMechanismReactionListVersionService.html b/coveragereport/chemistry_cafe_api.dll_TagMechanismReactionListVersionService.html new file mode 100644 index 0000000..760102d --- /dev/null +++ b/coveragereport/chemistry_cafe_api.dll_TagMechanismReactionListVersionService.html @@ -0,0 +1,291 @@ + + + + + + + +Chemistry_Cafe_API.Services.TagMechanismReactionListVersionService - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:Chemistry_Cafe_API.Services.TagMechanismReactionListVersionService
Assembly:chemistry cafe api.dll
File(s):C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\Services\TagMechanismReactionListVersionService.cs
+
+
+
+
+
+
+
Line coverage
+
+
100%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:73
Uncovered lines:0
Coverable lines:73
Total lines:107
Line coverage:100%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+ +

File(s)

+

C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\Services\TagMechanismReactionListVersionService.cs

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
#LineLine coverage
 1using Chemistry_Cafe_API.Models;
 2using System.Data.Common;
 3using MySqlConnector;
 4using Microsoft.AspNetCore.Mvc;
 5
 6namespace Chemistry_Cafe_API.Services
 7{
 18    public class TagMechanismReactionListVersionService(MySqlDataSource database)
 9    {
 10        public async Task<IReadOnlyList<TagMechanismReactionListVersion>> GetTagMechanismReactionListVersionsAsync()
 111        {
 112            using var connection = await database.OpenConnectionAsync();
 113            using var command = connection.CreateCommand();
 14
 115            command.CommandText = "SELECT * FROM TagMechanism_Reaction_List_Version WHERE isDel = 0";
 116            return await ReadAllAsync(await command.ExecuteReaderAsync());
 117        }
 18
 19        public async Task<TagMechanismReactionListVersion?> GetTagMechanismReactionListVersionAsync(Guid uuid)
 120        {
 121            using var connection = await database.OpenConnectionAsync();
 122            using var command = connection.CreateCommand();
 23
 124            command.CommandText = @"SELECT * FROM TagMechanism_Reaction_List_Version WHERE uuid = @id";
 125            command.Parameters.AddWithValue("@id", uuid);
 26
 127            var result = await ReadAllAsync(await command.ExecuteReaderAsync());
 128            return result.FirstOrDefault();
 129        }
 30
 31        public async Task<Guid> CreateTagMechanismReactionListVersionAsync(TagMechanismReactionListVersion newTagMechani
 132        {
 133            using var connection = await database.OpenConnectionAsync();
 134            using var command = connection.CreateCommand();
 35
 136            Guid tagMechanismReactionListVersionID = Guid.NewGuid();
 37
 138            command.CommandText = @"INSERT INTO TagMechanism_Reaction_List_Version (uuid, tag_mechanism_uuid, reaction_u
 39
 140            command.Parameters.AddWithValue("@uuid", tagMechanismReactionListVersionID);
 141            command.Parameters.AddWithValue("@tag_mechanism_uuid", newTagMechanismReactionListVersion.tag_mechanism_uuid
 142            command.Parameters.AddWithValue("@reaction_uuid", newTagMechanismReactionListVersion.reaction_uuid);
 143            command.Parameters.AddWithValue("@frozen_version", newTagMechanismReactionListVersion.frozen_version);
 144            command.Parameters.AddWithValue("@action", newTagMechanismReactionListVersion.action);
 145            command.Parameters.AddWithValue("@user_uuid", newTagMechanismReactionListVersion.user_uuid);
 146            command.Parameters.AddWithValue("@datetime", newTagMechanismReactionListVersion.datetime);
 47
 148            await command.ExecuteNonQueryAsync();
 49
 150            return tagMechanismReactionListVersionID;
 151        }
 52        public async Task UpdateTagMechanismReactionListVersionAsync(TagMechanismReactionListVersion tagMechanismReactio
 153        {
 154            using var connection = await database.OpenConnectionAsync();
 155            using var command = connection.CreateCommand();
 56
 157            command.CommandText = @"UPDATE TagMechanism_Reaction_List_Version SET tag_mechanism_uuid = @tag_mechanism_uu
 58
 159            command.Parameters.AddWithValue("@uuid", tagMechanismReactionListVersion.uuid);
 160            command.Parameters.AddWithValue("@tag_mechanism_uuid", tagMechanismReactionListVersion.tag_mechanism_uuid);
 161            command.Parameters.AddWithValue("@reaction_uuid", tagMechanismReactionListVersion.reaction_uuid);
 162            command.Parameters.AddWithValue("@frozen_version", tagMechanismReactionListVersion.frozen_version);
 163            command.Parameters.AddWithValue("@action", tagMechanismReactionListVersion.action);
 164            command.Parameters.AddWithValue("@user_uuid", tagMechanismReactionListVersion.user_uuid);
 165            command.Parameters.AddWithValue("@datetime", tagMechanismReactionListVersion.datetime);
 166            command.Parameters.AddWithValue("@isDel", tagMechanismReactionListVersion.isDel);
 67
 168            await command.ExecuteNonQueryAsync();
 169        }
 70
 71        public async Task DeleteTagMechanismReactionListVersionAsync(Guid uuid)
 172        {
 173            using var connection = await database.OpenConnectionAsync();
 174            using var command = connection.CreateCommand();
 75
 176            command.CommandText = @"UPDATE TagMechanism_Reaction_List_Version SET isDel = 1 WHERE uuid = @uuid;";
 77
 178            command.Parameters.AddWithValue("@uuid", uuid);
 79
 180            await command.ExecuteNonQueryAsync();
 181        }
 82
 83        private async Task<IReadOnlyList<TagMechanismReactionListVersion>> ReadAllAsync(DbDataReader reader)
 184        {
 185            var tagMechanismReactionListVersion = new List<TagMechanismReactionListVersion>();
 186            using (reader)
 187            {
 188                while (await reader.ReadAsync())
 189                {
 190                    var familyMechVersion = new TagMechanismReactionListVersion
 191                    {
 192                        uuid = reader.GetGuid(0),
 193                        tag_mechanism_uuid = reader.GetGuid(1),
 194                        reaction_uuid = reader.GetGuid(2),
 195                        frozen_version = reader.GetString(3),
 196                        action = reader.GetString(4),
 197                        user_uuid = reader.GetGuid(5),
 198                        datetime = reader.GetDateTime(6),
 199                        isDel = reader.GetBoolean(7),
 1100                    };
 1101                    tagMechanismReactionListVersion.Add(familyMechVersion);
 1102                }
 1103            }
 1104            return tagMechanismReactionListVersion;
 1105        }
 106    }
 107}
+
+
+
+ + \ No newline at end of file diff --git a/coveragereport/chemistry_cafe_api.dll_TagMechanismService.html b/coveragereport/chemistry_cafe_api.dll_TagMechanismService.html new file mode 100644 index 0000000..3c6b555 --- /dev/null +++ b/coveragereport/chemistry_cafe_api.dll_TagMechanismService.html @@ -0,0 +1,290 @@ + + + + + + + +Chemistry_Cafe_API.Services.TagMechanismService - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:Chemistry_Cafe_API.Services.TagMechanismService
Assembly:chemistry cafe api.dll
File(s):C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\Services\TagMechanismService.cs
+
+
+
+
+
+
+
Line coverage
+
+
100%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:65
Uncovered lines:0
Coverable lines:65
Total lines:104
Line coverage:100%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+ +

File(s)

+

C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\Services\TagMechanismService.cs

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
#LineLine coverage
 1using Chemistry_Cafe_API.Models;
 2using System.Data.Common;
 3using MySqlConnector;
 4using Microsoft.AspNetCore.Mvc;
 5using System;
 6
 7namespace Chemistry_Cafe_API.Services
 8{
 19    public class TagMechanismService(MySqlDataSource database)
 10    {
 11        public async Task<IReadOnlyList<TagMechanism>> GetTagMechanismsAsync()
 112        {
 113            using var connection = await database.OpenConnectionAsync();
 114            using var command = connection.CreateCommand();
 15
 116            command.CommandText = "SELECT * FROM TagMechanism WHERE isDel = FALSE";
 117            return await ReadAllAsync(await command.ExecuteReaderAsync());
 118        }
 19
 20        public async Task<TagMechanism?> GetTagMechanismAsync(Guid uuid)
 121        {
 122            using var connection = await database.OpenConnectionAsync();
 123            using var command = connection.CreateCommand();
 24
 125            command.CommandText = @"SELECT * FROM TagMechanism WHERE uuid = @id";
 126            command.Parameters.AddWithValue("@id", uuid);
 27
 128            var result = await ReadAllAsync(await command.ExecuteReaderAsync());
 129            return result.FirstOrDefault();
 130        }
 31
 32        public async Task<IReadOnlyList<TagMechanism>> GetTagsAsync(Guid family_uuid)
 133        {
 134            using var connection = await database.OpenConnectionAsync();
 135            using var command = connection.CreateCommand();
 36
 137            command.CommandText = @"SELECT TagMechanism.uuid, TagMechanism.tag, TagMechanism.isDel FROM Family_TagMechan
 138            command.Parameters.AddWithValue("@family_uuid", family_uuid);
 39
 140            return await ReadAllAsync(await command.ExecuteReaderAsync());
 141        }
 42
 43        public async Task<Guid> CreateTagMechanismAsync(string tag)
 144        {
 145            using var connection = await database.OpenConnectionAsync();
 146            using var command = connection.CreateCommand();
 47
 148            Guid tagMechanismID = Guid.NewGuid();
 49
 150            command.CommandText = @"INSERT INTO TagMechanism (uuid, tag) VALUES (@uuid, @tag);";
 51
 152            command.Parameters.AddWithValue("@uuid", tagMechanismID);
 153            command.Parameters.AddWithValue("@tag", tag);
 54
 155            await command.ExecuteNonQueryAsync();
 56
 157            return tagMechanismID;
 158        }
 59        public async Task UpdateTagMechanismAsync(TagMechanism tagMechanism)
 160        {
 161            using var connection = await database.OpenConnectionAsync();
 162            using var command = connection.CreateCommand();
 63
 164            command.CommandText = @"UPDATE TagMechanism SET tag = @tag, isDel = @isDel WHERE uuid = @uuid;";
 65
 166            command.Parameters.AddWithValue("@uuid", tagMechanism.uuid);
 167            command.Parameters.AddWithValue("@tag", tagMechanism.tag);
 168            command.Parameters.AddWithValue("@isDel", tagMechanism.isDel);
 69
 170            await command.ExecuteNonQueryAsync();
 171        }
 72
 73        public async Task DeleteTagMechanismAsync(Guid uuid)
 174        {
 175            using var connection = await database.OpenConnectionAsync();
 176            using var command = connection.CreateCommand();
 77
 178            command.CommandText = @"UPDATE TagMechanism SET isDel = 1 WHERE uuid = @uuid;";
 79
 180            command.Parameters.AddWithValue("@uuid", uuid);
 81
 182            await command.ExecuteNonQueryAsync();
 183        }
 84
 85        private async Task<IReadOnlyList<TagMechanism>> ReadAllAsync(DbDataReader reader)
 186        {
 187            var tagMechanisms = new List<TagMechanism>();
 188            using (reader)
 189            {
 190                while (await reader.ReadAsync())
 191                {
 192                    var tagMechanism = new TagMechanism
 193                    {
 194                        uuid = reader.GetGuid(0),
 195                        tag = reader.GetString(1),
 196                        isDel = reader.GetBoolean(2),
 197                    };
 198                    tagMechanisms.Add(tagMechanism);
 199                }
 1100            }
 1101            return tagMechanisms;
 1102        }
 103    }
 104}
+
+
+
+ + \ No newline at end of file diff --git a/coveragereport/chemistry_cafe_api.dll_TagMechanismSpeciesList.html b/coveragereport/chemistry_cafe_api.dll_TagMechanismSpeciesList.html new file mode 100644 index 0000000..1afdd17 --- /dev/null +++ b/coveragereport/chemistry_cafe_api.dll_TagMechanismSpeciesList.html @@ -0,0 +1,178 @@ + + + + + + + +Chemistry_Cafe_API.Models.TagMechanismSpeciesList - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:Chemistry_Cafe_API.Models.TagMechanismSpeciesList
Assembly:chemistry cafe api.dll
File(s):C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\Models\TagMechanismSpeciesList.cs
+
+
+
+
+
+
+
Line coverage
+
+
100%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:5
Uncovered lines:0
Coverable lines:5
Total lines:11
Line coverage:100%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

File(s)

+

C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\Models\TagMechanismSpeciesList.cs

+
+ + + + + + + + + + + + + + + +
#LineLine coverage
 1namespace Chemistry_Cafe_API.Models
 2{
 3    public class TagMechanismSpeciesList
 4    {
 15        public Guid uuid { get; set; }
 16        public Guid species_uuid { get; set; }
 17        public Guid tag_mechanism_uuid { get; set; }
 18        public string? version { get; set; }
 19        public bool isDel { get; set; }
 10    }
 11}
+
+
+
+ + \ No newline at end of file diff --git a/coveragereport/chemistry_cafe_api.dll_TagMechanismSpeciesListController.html b/coveragereport/chemistry_cafe_api.dll_TagMechanismSpeciesListController.html new file mode 100644 index 0000000..c6649bd --- /dev/null +++ b/coveragereport/chemistry_cafe_api.dll_TagMechanismSpeciesListController.html @@ -0,0 +1,239 @@ + + + + + + + +Chemistry_Cafe_API.Controllers.TagMechanismSpeciesListController - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:Chemistry_Cafe_API.Controllers.TagMechanismSpeciesListController
Assembly:chemistry cafe api.dll
File(s):C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\Controllers\TagMechanismSpeciesListController.cs
+
+
+
+
+
+
+
Line coverage
+
+
100%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:19
Uncovered lines:0
Coverable lines:19
Total lines:57
Line coverage:100%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+
+ +++++ + + + + + + + + + +
MethodBlocks covered Blocks not covered
TagMechanismSpeciesListController(...)30
Get()162
Get()162
Create()162
Put()162
Delete()162
+
+

File(s)

+

C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\Controllers\TagMechanismSpeciesListController.cs

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
#LineLine coverage
 1using Chemistry_Cafe_API.Models;
 2using Chemistry_Cafe_API.Services;
 3using Microsoft.AspNetCore.Mvc;
 4using MySqlConnector;
 5
 6// For more information on enabling Web API for empty projects, visit https://go.microsoft.com/fwlink/?LinkID=397860
 7
 8namespace Chemistry_Cafe_API.Controllers
 9{
 10    [Route("api/[controller]")]
 11    [ApiController]
 12    public class TagMechanismSpeciesListController : ControllerBase
 13    {
 14        private TagMechanismSpeciesListService tagMechSpeciesList;
 15
 16        //Injects sql data source setup in Program.cs
 117        public TagMechanismSpeciesListController([FromServices] MySqlDataSource db)
 118        {
 119            this.tagMechSpeciesList = new TagMechanismSpeciesListService(db);
 120        }
 21
 22        // GET: api/TagMechanismSpecies/all
 23        [HttpGet("all")]
 24        public async Task<IReadOnlyList<TagMechanismSpeciesList>> Get()
 125        {
 126            return await tagMechSpeciesList.GetTagMechanismSpeciessAsync();
 127        }
 28
 29        // GET api/TagMechanismSpecies/5
 30        [HttpGet("{uuid}")]
 31        public async Task<TagMechanismSpeciesList?> Get(Guid uuid)
 132        {
 133            return await tagMechSpeciesList.GetTagMechanismSpeciesAsync(uuid);
 134        }
 35
 36        // POST api/TagMechanismSpecies/create
 37        [HttpPost("create")]
 38        public async Task<Guid> Create([FromBody] TagMechanismSpeciesList newTagMechanismSpecies)
 139        {
 140            return await tagMechSpeciesList.CreateTagMechanismSpeciesAsync(newTagMechanismSpecies);
 141        }
 42
 43        // PUT api/TagMechanismSpecies/5
 44        [HttpPut("update")]
 45        public async Task Put([FromBody] TagMechanismSpeciesList newTagMechanismSpecies)
 146        {
 147            await tagMechSpeciesList.UpdateTagMechanismSpeciesAsync(newTagMechanismSpecies);
 148        }
 49
 50        // DELETE api/TagMechanismSpecies/delete/5
 51        [HttpDelete("delete/{uuid}")]
 52        public async Task Delete(Guid uuid)
 153        {
 154            await tagMechSpeciesList.DeleteTagMechanismSpeciesAsync(uuid);
 155        }
 56    }
 57}
+
+
+
+ + \ No newline at end of file diff --git a/coveragereport/chemistry_cafe_api.dll_TagMechanismSpeciesListControllerTests.html b/coveragereport/chemistry_cafe_api.dll_TagMechanismSpeciesListControllerTests.html new file mode 100644 index 0000000..f48090e --- /dev/null +++ b/coveragereport/chemistry_cafe_api.dll_TagMechanismSpeciesListControllerTests.html @@ -0,0 +1,249 @@ + + + + + + + +Chemistry_Cafe_API.Tests.TagMechanismSpeciesListControllerTests - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:Chemistry_Cafe_API.Tests.TagMechanismSpeciesListControllerTests
Assembly:chemistry cafe api.dll
File(s):C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\Tests\TagMechanismSpeciesListControllerTests.cs
+
+
+
+
+
+
+
Line coverage
+
+
100%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:36
Uncovered lines:0
Coverable lines:36
Total lines:71
Line coverage:100%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+ +

File(s)

+

C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\Tests\TagMechanismSpeciesListControllerTests.cs

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
#LineLine coverage
 1using Chemistry_Cafe_API.Controllers;
 2using Chemistry_Cafe_API.Models;
 3using Microsoft.VisualStudio.TestTools.UnitTesting;
 4using MySqlConnector;
 5
 6namespace Chemistry_Cafe_API.Tests
 7{
 8    [TestClass]
 9    public class TagMechanismSpeciesListControllerTests
 10    {
 111        readonly MySqlDataSource db = DBConnection.DataSource;
 12
 13        [TestMethod]
 14        public async Task Get_retrieves_tagmechanismspecieslist()
 115        {
 116            var controller = new TagMechanismSpeciesListController(db);
 17
 118            var result = await controller.Get() as List<TagMechanismSpeciesList>;
 19
 120            Assert.IsNotNull(result);
 121        }
 22
 23        [TestMethod]
 24        public async Task Creates_tagmechanismspecieslist()
 125        {
 126            var controller = new TagMechanismSpeciesListController(db);
 27
 128            var tagMechanismSpeciesList = new TagMechanismSpeciesList
 129            {
 130                tag_mechanism_uuid = new Guid("02114e61-a4a6-48c0-9f99-3de4d20ab750"),
 131                species_uuid = new Guid("739289cd-1396-41f8-a3e5-415f6b1ccd07"),
 132                version = "1.0",
 133                isDel = false
 134            };
 35
 136            var result = await controller.Create(tagMechanismSpeciesList) ;
 37
 138            var getResult = await controller.Get(result);
 39
 140            Assert.AreEqual(result, getResult.uuid);
 141        }
 42
 43        [TestMethod]
 44        public async Task Updates_tagmechanismspecieslist()
 145        {
 146            var controller = new TagMechanismSpeciesListController(db);
 47
 148            var tagMechanismSpeciesList = new TagMechanismSpeciesList
 149            {
 150                tag_mechanism_uuid = new Guid("02114e61-a4a6-48c0-9f99-3de4d20ab750"),
 151                species_uuid = new Guid("739289cd-1396-41f8-a3e5-415f6b1ccd07"),
 152                version = "1.0",
 153                isDel = false
 154            };
 55
 156            var result = await controller.Create(tagMechanismSpeciesList);
 57
 158            var getResult = await controller.Get(result);
 59
 160            getResult.version = "Edited";
 61
 162            await controller.Put(getResult);
 63
 164            var getEditedResult = await controller.Get(result);
 65
 166            await controller.Delete(result);
 67
 168            Assert.AreEqual(getEditedResult.version, "Edited");
 169        }
 70    }
 71}
+
+
+
+ + \ No newline at end of file diff --git a/coveragereport/chemistry_cafe_api.dll_TagMechanismSpeciesListService.html b/coveragereport/chemistry_cafe_api.dll_TagMechanismSpeciesListService.html new file mode 100644 index 0000000..96f5bae --- /dev/null +++ b/coveragereport/chemistry_cafe_api.dll_TagMechanismSpeciesListService.html @@ -0,0 +1,282 @@ + + + + + + + +Chemistry_Cafe_API.Services.TagMechanismSpeciesListService - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:Chemistry_Cafe_API.Services.TagMechanismSpeciesListService
Assembly:chemistry cafe api.dll
File(s):C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\Services\TagMechanismSpeciesListService.cs
+
+
+
+
+
+
+
Line coverage
+
+
100%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:64
Uncovered lines:0
Coverable lines:64
Total lines:98
Line coverage:100%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+ +

File(s)

+

C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\Services\TagMechanismSpeciesListService.cs

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
#LineLine coverage
 1using Chemistry_Cafe_API.Models;
 2using System.Data.Common;
 3using MySqlConnector;
 4using Microsoft.AspNetCore.Mvc;
 5
 6namespace Chemistry_Cafe_API.Services
 7{
 18    public class TagMechanismSpeciesListService (MySqlDataSource database)
 9    {
 10        public async Task<IReadOnlyList<TagMechanismSpeciesList>> GetTagMechanismSpeciessAsync()
 111        {
 112            using var connection = await database.OpenConnectionAsync();
 113            using var command = connection.CreateCommand();
 14
 115            command.CommandText = "SELECT * FROM TagMechanism_Species_List WHERE isDel = 0";
 116            return await ReadAllAsync(await command.ExecuteReaderAsync());
 117        }
 18
 19        public async Task<TagMechanismSpeciesList?> GetTagMechanismSpeciesAsync(Guid uuid)
 120        {
 121            using var connection = await database.OpenConnectionAsync();
 122            using var command = connection.CreateCommand();
 23
 124            command.CommandText = @"SELECT * FROM TagMechanism_Species_List WHERE uuid = @id";
 125            command.Parameters.AddWithValue("@id", uuid);
 26
 127            var result = await ReadAllAsync(await command.ExecuteReaderAsync());
 128            return result.FirstOrDefault();
 129        }
 30
 31        public async Task<Guid> CreateTagMechanismSpeciesAsync(TagMechanismSpeciesList newTagMechanismSpecies)
 132        {
 133            using var connection = await database.OpenConnectionAsync();
 134            using var command = connection.CreateCommand();
 35
 136            Guid tagMechanismSpeciesID = Guid.NewGuid();
 37
 138            command.CommandText = @"INSERT INTO TagMechanism_Species_List (uuid, species_uuid, tag_mechanism_uuid, versi
 39
 140            command.Parameters.AddWithValue("@uuid", tagMechanismSpeciesID);
 141            command.Parameters.AddWithValue("@species_uuid", newTagMechanismSpecies.species_uuid);
 142            command.Parameters.AddWithValue("@tag_mechanism_uuid", newTagMechanismSpecies.tag_mechanism_uuid);
 143            command.Parameters.AddWithValue("@version", newTagMechanismSpecies.version);
 44
 145            await command.ExecuteNonQueryAsync();
 46
 147            return tagMechanismSpeciesID;
 148        }
 49        public async Task UpdateTagMechanismSpeciesAsync(TagMechanismSpeciesList tagMechanismSpecies)
 150        {
 151            using var connection = await database.OpenConnectionAsync();
 152            using var command = connection.CreateCommand();
 53
 154            command.CommandText = @"UPDATE TagMechanism_Species_List SET species_uuid = @species_uuid, tag_mechanism_uui
 55
 156            command.Parameters.AddWithValue("@uuid", tagMechanismSpecies.uuid);
 157            command.Parameters.AddWithValue("@species_uuid", tagMechanismSpecies.species_uuid);
 158            command.Parameters.AddWithValue("@tag_mechanism_uuid", tagMechanismSpecies.tag_mechanism_uuid);
 159            command.Parameters.AddWithValue("@version", tagMechanismSpecies.version);
 160            command.Parameters.AddWithValue("@isDel", tagMechanismSpecies.isDel);
 61
 162            await command.ExecuteNonQueryAsync();
 163        }
 64
 65        public async Task DeleteTagMechanismSpeciesAsync(Guid uuid)
 166        {
 167            using var connection = await database.OpenConnectionAsync();
 168            using var command = connection.CreateCommand();
 69
 170            command.CommandText = @"UPDATE TagMechanism_Species_List SET isDel = 1 WHERE uuid = @uuid;";
 71
 172            command.Parameters.AddWithValue("@uuid", uuid);
 73
 174            await command.ExecuteNonQueryAsync();
 175        }
 76
 77        private async Task<IReadOnlyList<TagMechanismSpeciesList>> ReadAllAsync(DbDataReader reader)
 178        {
 179            var tagMechanismSpecies = new List<TagMechanismSpeciesList>();
 180            using (reader)
 181            {
 182                while (await reader.ReadAsync())
 183                {
 184                    var mechTag = new TagMechanismSpeciesList
 185                    {
 186                        uuid = reader.GetGuid(0),
 187                        tag_mechanism_uuid = reader.GetGuid(1),
 188                        species_uuid = reader.GetGuid(2),
 189                        version = reader.GetString(3),
 190                        isDel = reader.GetBoolean(4),
 191                    };
 192                    tagMechanismSpecies.Add(mechTag);
 193                }
 194            }
 195            return tagMechanismSpecies;
 196        }
 97    }
 98}
+
+
+
+ + \ No newline at end of file diff --git a/coveragereport/chemistry_cafe_api.dll_TagMechanismSpeciesListVersion.html b/coveragereport/chemistry_cafe_api.dll_TagMechanismSpeciesListVersion.html new file mode 100644 index 0000000..1320d7b --- /dev/null +++ b/coveragereport/chemistry_cafe_api.dll_TagMechanismSpeciesListVersion.html @@ -0,0 +1,187 @@ + + + + + + + +Chemistry_Cafe_API.Models.TagMechanismSpeciesListVersion - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:Chemistry_Cafe_API.Models.TagMechanismSpeciesListVersion
Assembly:chemistry cafe api.dll
File(s):C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\Models\TagMechanismSpeciesListVersion.cs
+
+
+
+
+
+
+
Line coverage
+
+
100%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:8
Uncovered lines:0
Coverable lines:8
Total lines:14
Line coverage:100%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

File(s)

+

C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\Models\TagMechanismSpeciesListVersion.cs

+
+ + + + + + + + + + + + + + + + + + +
#LineLine coverage
 1namespace Chemistry_Cafe_API.Models
 2{
 3    public class TagMechanismSpeciesListVersion
 4    {
 15        public Guid uuid { get; set; }
 16        public Guid tag_mechanism_uuid { get; set; }
 17        public Guid species_uuid { get; set; }
 18        public Guid? frozen_uuid { get; set; }
 19        public string? action { get; set; }
 110        public Guid user_uuid { get; set; }
 111        public DateTime datetime { get; set; }
 112        public bool isDel {  get; set; }
 13    }
 14}
+
+
+
+ + \ No newline at end of file diff --git a/coveragereport/chemistry_cafe_api.dll_TagMechanismSpeciesListVersionController.html b/coveragereport/chemistry_cafe_api.dll_TagMechanismSpeciesListVersionController.html new file mode 100644 index 0000000..5ab07a8 --- /dev/null +++ b/coveragereport/chemistry_cafe_api.dll_TagMechanismSpeciesListVersionController.html @@ -0,0 +1,239 @@ + + + + + + + +Chemistry_Cafe_API.Controllers.TagMechanismSpeciesListVersionController - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:Chemistry_Cafe_API.Controllers.TagMechanismSpeciesListVersionController
Assembly:chemistry cafe api.dll
File(s):C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\Controllers\TagMechanismSpeciesListVersionController.cs
+
+
+
+
+
+
+
Line coverage
+
+
100%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:19
Uncovered lines:0
Coverable lines:19
Total lines:57
Line coverage:100%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+
+ +++++ + + + + + + + + + +
MethodBlocks covered Blocks not covered
TagMechanismSpeciesListVersionController(...)30
Get()162
Get()162
Create()162
Put()162
Delete()162
+
+

File(s)

+

C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\Controllers\TagMechanismSpeciesListVersionController.cs

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
#LineLine coverage
 1using Chemistry_Cafe_API.Models;
 2using Chemistry_Cafe_API.Services;
 3using Microsoft.AspNetCore.Mvc;
 4using MySqlConnector;
 5
 6// For more information on enabling Web API for empty projects, visit https://go.microsoft.com/fwlink/?LinkID=397860
 7
 8namespace Chemistry_Cafe_API.Controllers
 9{
 10    [Route("api/[controller]")]
 11    [ApiController]
 12    public class TagMechanismSpeciesListVersionController : ControllerBase
 13    {
 14        private TagMechanismSpeciesListVersionService tagMechanismSpeciesListVersionService;
 15
 16        //Injects sql data source setup in Program.cs
 117        public TagMechanismSpeciesListVersionController([FromServices] MySqlDataSource db)
 118        {
 119            this.tagMechanismSpeciesListVersionService = new TagMechanismSpeciesListVersionService(db);
 120        }
 21
 22        // GET: api/TagMechanismSpeciesListVersion/all
 23        [HttpGet("all")]
 24        public async Task<IReadOnlyList<TagMechanismSpeciesListVersion>> Get()
 125        {
 126            return await tagMechanismSpeciesListVersionService.GetTagMechanismSpeciesListVersionsAsync();
 127        }
 28
 29        // GET api/TagMechanismSpeciesListVersion/5
 30        [HttpGet("{uuid}")]
 31        public async Task<TagMechanismSpeciesListVersion?> Get(Guid uuid)
 132        {
 133            return await tagMechanismSpeciesListVersionService.GetTagMechanismSpeciesListVersionAsync(uuid);
 134        }
 35
 36        // POST api/TagMechanismSpeciesListVersion/create
 37        [HttpPost("create")]
 38        public async Task<Guid> Create([FromBody] TagMechanismSpeciesListVersion newTagMechanismSpeciesListVersion)
 139        {
 140            return await tagMechanismSpeciesListVersionService.CreateTagMechanismSpeciesListVersionAsync(newTagMechanism
 141        }
 42
 43        // PUT api/TagMechanismSpeciesListVersion/5
 44        [HttpPut("update")]
 45        public async Task Put([FromBody] TagMechanismSpeciesListVersion newTagMechanismSpeciesListVersion)
 146        {
 147            await tagMechanismSpeciesListVersionService.UpdateTagMechanismSpeciesListVersionAsync(newTagMechanismSpecies
 148        }
 49
 50        // DELETE api/TagMechanismSpeciesListVersion/delete/5
 51        [HttpDelete("delete/{uuid}")]
 52        public async Task Delete(Guid uuid)
 153        {
 154            await tagMechanismSpeciesListVersionService.DeleteTagMechanismSpeciesListVersionAsync(uuid);
 155        }
 56    }
 57}
+
+
+
+ + \ No newline at end of file diff --git a/coveragereport/chemistry_cafe_api.dll_TagMechanismSpeciesListVersionControllerTests.html b/coveragereport/chemistry_cafe_api.dll_TagMechanismSpeciesListVersionControllerTests.html new file mode 100644 index 0000000..52c45b2 --- /dev/null +++ b/coveragereport/chemistry_cafe_api.dll_TagMechanismSpeciesListVersionControllerTests.html @@ -0,0 +1,255 @@ + + + + + + + +Chemistry_Cafe_API.Tests.TagMechanismSpeciesListVersionControllerTests - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:Chemistry_Cafe_API.Tests.TagMechanismSpeciesListVersionControllerTests
Assembly:chemistry cafe api.dll
File(s):C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\Tests\TagMechanismSpeciesListVersionControllerTests.cs
+
+
+
+
+
+
+
Line coverage
+
+
100%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:39
Uncovered lines:0
Coverable lines:39
Total lines:77
Line coverage:100%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+ +

File(s)

+

C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\Tests\TagMechanismSpeciesListVersionControllerTests.cs

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
#LineLine coverage
 1using Chemistry_Cafe_API.Controllers;
 2using Chemistry_Cafe_API.Models;
 3using Microsoft.VisualStudio.TestTools.UnitTesting;
 4using MySqlConnector;
 5
 6namespace Chemistry_Cafe_API.Tests
 7{
 8    [TestClass]
 9    public class TagMechanismSpeciesListVersionControllerTests
 10    {
 111        TagMechanismSpeciesListVersionController controller = new TagMechanismSpeciesListVersionController(DBConnection.
 12
 13        [TestMethod]
 14        public async Task Get_retrieves_TagMechanismSpeciesListVersion()
 115        {
 16
 17
 118            var result = await controller.Get() as List<TagMechanismSpeciesListVersion>;
 19
 120            Assert.IsNotNull(result);
 121        }
 22
 23        [TestMethod]
 24        public async Task Creates_TagMechanismSpeciesListVersion()
 125        {
 26
 27
 128            var familyTagMecList = new TagMechanismSpeciesListVersion
 129            {
 130                tag_mechanism_uuid = new Guid("02114e61-a4a6-48c0-9f99-3de4d20ab750"),
 131                species_uuid = new Guid("739289cd-1396-41f8-a3e5-415f6b1ccd07"),
 132                frozen_uuid = Guid.NewGuid(),
 133                user_uuid = new Guid("04c5db32-65e1-44ba-8b29-1cbfd5383789"),
 134                action = "test",
 135                datetime = DateTime.Now,
 136                isDel = false
 137            };
 38
 139            var result = await controller.Create(familyTagMecList);
 40
 141            var getResult = await controller.Get(result);
 42
 143            Assert.AreEqual(result, getResult.uuid);
 144        }
 45
 46        [TestMethod]
 47        public async Task Updates_TagMechanismSpeciesListVersion()
 148        {
 49
 50
 151            var familyTagMecList = new TagMechanismSpeciesListVersion
 152            {
 153                tag_mechanism_uuid = new Guid("02114e61-a4a6-48c0-9f99-3de4d20ab750"),
 154                species_uuid = new Guid("739289cd-1396-41f8-a3e5-415f6b1ccd07"),
 155                frozen_uuid = Guid.NewGuid(),
 156                user_uuid = new Guid("04c5db32-65e1-44ba-8b29-1cbfd5383789"),
 157                action = "test",
 158                datetime = DateTime.Now,
 159                isDel = false
 160            };
 61
 162            var result = await controller.Create(familyTagMecList);
 63
 164            var getResult = await controller.Get(result);
 65
 166            getResult.action = "Edited";
 67
 168            await controller.Put(getResult);
 69
 170            var getEdited = await controller.Get(result);
 71
 172            await controller.Delete(result);
 73
 174            Assert.AreEqual(getEdited.action, "Edited");
 175        }
 76    }
 77}
+
+
+
+ + \ No newline at end of file diff --git a/coveragereport/chemistry_cafe_api.dll_TagMechanismSpeciesListVersionService.html b/coveragereport/chemistry_cafe_api.dll_TagMechanismSpeciesListVersionService.html new file mode 100644 index 0000000..16c56ac --- /dev/null +++ b/coveragereport/chemistry_cafe_api.dll_TagMechanismSpeciesListVersionService.html @@ -0,0 +1,291 @@ + + + + + + + +Chemistry_Cafe_API.Services.TagMechanismSpeciesListVersionService - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:Chemistry_Cafe_API.Services.TagMechanismSpeciesListVersionService
Assembly:chemistry cafe api.dll
File(s):C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\Services\TagMechanismSpeciesListVersionService.cs
+
+
+
+
+
+
+
Line coverage
+
+
100%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:73
Uncovered lines:0
Coverable lines:73
Total lines:107
Line coverage:100%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+ +

File(s)

+

C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\Services\TagMechanismSpeciesListVersionService.cs

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
#LineLine coverage
 1using Chemistry_Cafe_API.Models;
 2using System.Data.Common;
 3using MySqlConnector;
 4using Microsoft.AspNetCore.Mvc;
 5
 6namespace Chemistry_Cafe_API.Services
 7{
 18    public class TagMechanismSpeciesListVersionService(MySqlDataSource database)
 9    {
 10        public async Task<IReadOnlyList<TagMechanismSpeciesListVersion>> GetTagMechanismSpeciesListVersionsAsync()
 111        {
 112            using var connection = await database.OpenConnectionAsync();
 113            using var command = connection.CreateCommand();
 14
 115            command.CommandText = "SELECT * FROM TagMechanism_Species_List_Version WHERE isDel = 0";
 116            return await ReadAllAsync(await command.ExecuteReaderAsync());
 117        }
 18
 19        public async Task<TagMechanismSpeciesListVersion?> GetTagMechanismSpeciesListVersionAsync(Guid uuid)
 120        {
 121            using var connection = await database.OpenConnectionAsync();
 122            using var command = connection.CreateCommand();
 23
 124            command.CommandText = @"SELECT * FROM TagMechanism_Species_List_Version WHERE uuid = @id";
 125            command.Parameters.AddWithValue("@id", uuid);
 26
 127            var result = await ReadAllAsync(await command.ExecuteReaderAsync());
 128            return result.FirstOrDefault();
 129        }
 30
 31        public async Task<Guid> CreateTagMechanismSpeciesListVersionAsync(TagMechanismSpeciesListVersion newTagMechanism
 132        {
 133            using var connection = await database.OpenConnectionAsync();
 134            using var command = connection.CreateCommand();
 35
 136            Guid tagMechanismSpeciesListVersionID = Guid.NewGuid();
 37
 138            command.CommandText = @"INSERT INTO TagMechanism_Species_List_Version (uuid, tag_mechanism_uuid, species_uui
 39
 140            command.Parameters.AddWithValue("@uuid", tagMechanismSpeciesListVersionID);
 141            command.Parameters.AddWithValue("@tag_mechanism_uuid", newTagMechanismSpeciesListVersion.tag_mechanism_uuid)
 142            command.Parameters.AddWithValue("@species_uuid", newTagMechanismSpeciesListVersion.species_uuid);
 143            command.Parameters.AddWithValue("@frozen_uuid", newTagMechanismSpeciesListVersion.frozen_uuid);
 144            command.Parameters.AddWithValue("@action", newTagMechanismSpeciesListVersion.action);
 145            command.Parameters.AddWithValue("@user_uuid", newTagMechanismSpeciesListVersion.user_uuid);
 146            command.Parameters.AddWithValue("@datetime", newTagMechanismSpeciesListVersion.datetime);
 47
 148            await command.ExecuteNonQueryAsync();
 49
 150            return tagMechanismSpeciesListVersionID;
 151        }
 52        public async Task UpdateTagMechanismSpeciesListVersionAsync(TagMechanismSpeciesListVersion tagMechanismSpeciesLi
 153        {
 154            using var connection = await database.OpenConnectionAsync();
 155            using var command = connection.CreateCommand();
 56
 157            command.CommandText = @"UPDATE TagMechanism_Species_List_Version SET tag_mechanism_uuid = @tag_mechanism_uui
 58
 159            command.Parameters.AddWithValue("@uuid", tagMechanismSpeciesListVersion.uuid);
 160            command.Parameters.AddWithValue("@tag_mechanism_uuid", tagMechanismSpeciesListVersion.tag_mechanism_uuid);
 161            command.Parameters.AddWithValue("@species_uuid", tagMechanismSpeciesListVersion.species_uuid);
 162            command.Parameters.AddWithValue("@frozen_uuid", tagMechanismSpeciesListVersion.frozen_uuid);
 163            command.Parameters.AddWithValue("@action", tagMechanismSpeciesListVersion.action);
 164            command.Parameters.AddWithValue("@user_uuid", tagMechanismSpeciesListVersion.user_uuid);
 165            command.Parameters.AddWithValue("@datetime", tagMechanismSpeciesListVersion.datetime);
 166            command.Parameters.AddWithValue("@isDel", tagMechanismSpeciesListVersion.isDel);
 67
 168            await command.ExecuteNonQueryAsync();
 169        }
 70
 71        public async Task DeleteTagMechanismSpeciesListVersionAsync(Guid uuid)
 172        {
 173            using var connection = await database.OpenConnectionAsync();
 174            using var command = connection.CreateCommand();
 75
 176            command.CommandText = @"UPDATE TagMechanism_Species_List_Version SET isDel = 1 WHERE uuid = @uuid;";
 77
 178            command.Parameters.AddWithValue("@uuid", uuid);
 79
 180            await command.ExecuteNonQueryAsync();
 181        }
 82
 83        private async Task<IReadOnlyList<TagMechanismSpeciesListVersion>> ReadAllAsync(DbDataReader reader)
 184        {
 185            var tagMechanismSpeciesListVersion = new List<TagMechanismSpeciesListVersion>();
 186            using (reader)
 187            {
 188                while (await reader.ReadAsync())
 189                {
 190                    var familyMechVersion = new TagMechanismSpeciesListVersion
 191                    {
 192                        uuid = reader.GetGuid(0),
 193                        tag_mechanism_uuid = reader.GetGuid(1),
 194                        species_uuid = reader.GetGuid(2),
 195                        frozen_uuid = reader.GetGuid(3),
 196                        action = reader.GetString(4),
 197                        user_uuid = reader.GetGuid(5),
 198                        datetime = reader.GetDateTime(6),
 199                        isDel = reader.GetBoolean(7),
 1100                    };
 1101                    tagMechanismSpeciesListVersion.Add(familyMechVersion);
 1102                }
 1103            }
 1104            return tagMechanismSpeciesListVersion;
 1105        }
 106    }
 107}
+
+
+
+ + \ No newline at end of file diff --git a/coveragereport/chemistry_cafe_api.dll_User.html b/coveragereport/chemistry_cafe_api.dll_User.html new file mode 100644 index 0000000..0408aa8 --- /dev/null +++ b/coveragereport/chemistry_cafe_api.dll_User.html @@ -0,0 +1,172 @@ + + + + + + + +Chemistry_Cafe_API.Models.User - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:Chemistry_Cafe_API.Models.User
Assembly:chemistry cafe api.dll
File(s):C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\Models\User.cs
+
+
+
+
+
+
+
Line coverage
+
+
100%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:3
Uncovered lines:0
Coverable lines:3
Total lines:9
Line coverage:100%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

File(s)

+

C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\Models\User.cs

+
+ + + + + + + + + + + + + +
#LineLine coverage
 1namespace Chemistry_Cafe_API.Models
 2{
 3    public class User
 4    {
 15        public Guid uuid { get; set; }
 16        public string? log_in_info { get; set; }
 17        public bool isDel {  get; set; }
 8    }
 9}
+
+
+
+ + \ No newline at end of file diff --git a/coveragereport/chemistry_cafe_api.dll_UserController.html b/coveragereport/chemistry_cafe_api.dll_UserController.html new file mode 100644 index 0000000..29b2838 --- /dev/null +++ b/coveragereport/chemistry_cafe_api.dll_UserController.html @@ -0,0 +1,239 @@ + + + + + + + +Chemistry_Cafe_API.Controllers.UserController - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:Chemistry_Cafe_API.Controllers.UserController
Assembly:chemistry cafe api.dll
File(s):C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\Controllers\UserController.cs
+
+
+
+
+
+
+
Line coverage
+
+
100%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:19
Uncovered lines:0
Coverable lines:19
Total lines:57
Line coverage:100%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+
+ +++++ + + + + + + + + + +
MethodBlocks covered Blocks not covered
UserController(...)30
Get()162
Get()162
Create()162
Put()162
Delete()162
+
+

File(s)

+

C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\Controllers\UserController.cs

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
#LineLine coverage
 1using Chemistry_Cafe_API.Models;
 2using Chemistry_Cafe_API.Services;
 3using Microsoft.AspNetCore.Mvc;
 4using MySqlConnector;
 5
 6// For more information on enabling Web API for empty projects, visit https://go.microsoft.com/fwlink/?LinkID=397860
 7
 8namespace Chemistry_Cafe_API.Controllers
 9{
 10    [Route("api/[controller]")]
 11    [ApiController]
 12    public class UserController : ControllerBase
 13    {
 14        private UserService userService;
 15
 16        //Injects sql data source setup in Program.cs
 117        public UserController([FromServices] MySqlDataSource db)
 118        {
 119            this.userService = new UserService(db);
 120        }
 21
 22        // GET: api/User/all
 23        [HttpGet("all")]
 24        public async Task<IReadOnlyList<User>> Get()
 125        {
 126            return await userService.GetUsersAsync();
 127        }
 28
 29        // GET api/User/5
 30        [HttpGet("{uuid}")]
 31        public async Task<User?> Get(Guid uuid)
 132        {
 133            return await userService.GetUserAsync(uuid);
 134        }
 35
 36        // POST api/User/create
 37        [HttpPost("create")]
 38        public async Task<Guid> Create([FromBody] string log_in_info)
 139        {
 140            return await userService.CreateUserAsync(log_in_info);
 141        }
 42
 43        // PUT api/User/5
 44        [HttpPut("update")]
 45        public async Task Put([FromBody] User user)
 146        {
 147            await userService.UpdateUserAsync(user);
 148        }
 49
 50        // DELETE api/User/delete/5
 51        [HttpDelete("delete/{uuid}")]
 52        public async Task Delete(Guid uuid)
 153        {
 154            await userService.DeleteUserAsync(uuid);
 155        }
 56    }
 57}
+
+
+
+ + \ No newline at end of file diff --git a/coveragereport/chemistry_cafe_api.dll_UserControllerTests.html b/coveragereport/chemistry_cafe_api.dll_UserControllerTests.html new file mode 100644 index 0000000..933479b --- /dev/null +++ b/coveragereport/chemistry_cafe_api.dll_UserControllerTests.html @@ -0,0 +1,233 @@ + + + + + + + +Chemistry_Cafe_API.Tests.UserControllerTests - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:Chemistry_Cafe_API.Tests.UserControllerTests
Assembly:chemistry cafe api.dll
File(s):C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\Tests\UserControllerTests.cs
+
+
+
+
+
+
+
Line coverage
+
+
100%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:22
Uncovered lines:0
Coverable lines:22
Total lines:55
Line coverage:100%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+
+ +++++ + + + + + + + +
MethodBlocks covered Blocks not covered
UserControllerTests()20
Get_retrieves_user()182
Creates_user()302
Updates_user()562
+
+

File(s)

+

C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\Tests\UserControllerTests.cs

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
#LineLine coverage
 1using Chemistry_Cafe_API.Controllers;
 2using Chemistry_Cafe_API.Models;
 3using Microsoft.VisualStudio.TestTools.UnitTesting;
 4using MySqlConnector;
 5
 6namespace Chemistry_Cafe_API.Tests
 7{
 8    [TestClass]
 9    public class UserControllerTests
 10    {
 111        readonly MySqlDataSource db = DBConnection.DataSource;
 12
 13        [TestMethod]
 14        public async Task Get_retrieves_user()
 115        {
 116            var controller = new UserController(db);
 17
 118            var result = await controller.Get() as List<User>;
 19
 120            Assert.IsNotNull(result);
 121        }
 22
 23        [TestMethod]
 24        public async Task Creates_user()
 125        {
 126            var controller = new UserController(db);
 27
 128            var result = await controller.Create("Test") ;
 29
 130            var getResult = await controller.Get(result);
 31
 132            Assert.AreEqual(result, getResult.uuid);
 133        }
 34
 35        [TestMethod]
 36        public async Task Updates_user()
 137        {
 138            var controller = new UserController(db);
 39
 140            var result = await controller.Create("Test");
 41
 142            var getResult = await controller.Get(result);
 43
 144            getResult.log_in_info = "Edited";
 45
 146            await controller.Put(getResult);
 47
 148            var getEditedResult = await controller.Get(result);
 49
 150            await controller.Delete(result);
 51
 152            Assert.AreEqual(getEditedResult.log_in_info, "Edited");
 153        }
 54    }
 55}
+
+
+
+ + \ No newline at end of file diff --git a/coveragereport/chemistry_cafe_api.dll_UserPreferences.html b/coveragereport/chemistry_cafe_api.dll_UserPreferences.html new file mode 100644 index 0000000..e3cbd98 --- /dev/null +++ b/coveragereport/chemistry_cafe_api.dll_UserPreferences.html @@ -0,0 +1,175 @@ + + + + + + + +Chemistry_Cafe_API.Models.UserPreferences - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:Chemistry_Cafe_API.Models.UserPreferences
Assembly:chemistry cafe api.dll
File(s):C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\Models\UserPreferences.cs
+
+
+
+
+
+
+
Line coverage
+
+
100%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:4
Uncovered lines:0
Coverable lines:4
Total lines:10
Line coverage:100%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

File(s)

+

C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\Models\UserPreferences.cs

+
+ + + + + + + + + + + + + + +
#LineLine coverage
 1namespace Chemistry_Cafe_API.Models
 2{
 3    public class UserPreferences
 4    {
 15        public Guid uuid { get; set; }
 16        public Guid user_uuid { get; set; }
 17        public string? preferences { get; set; }
 18        public bool isDel {  get; set; }
 9    }
 10}
+
+
+
+ + \ No newline at end of file diff --git a/coveragereport/chemistry_cafe_api.dll_UserPreferencesController.html b/coveragereport/chemistry_cafe_api.dll_UserPreferencesController.html new file mode 100644 index 0000000..90bf96f --- /dev/null +++ b/coveragereport/chemistry_cafe_api.dll_UserPreferencesController.html @@ -0,0 +1,239 @@ + + + + + + + +Chemistry_Cafe_API.Controllers.UserPreferencesController - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:Chemistry_Cafe_API.Controllers.UserPreferencesController
Assembly:chemistry cafe api.dll
File(s):C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\Controllers\UserPreferencesController.cs
+
+
+
+
+
+
+
Line coverage
+
+
100%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:19
Uncovered lines:0
Coverable lines:19
Total lines:57
Line coverage:100%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+
+ +++++ + + + + + + + + + +
MethodBlocks covered Blocks not covered
UserPreferencesController(...)30
Get()162
Get()162
Create()162
Put()162
Delete()162
+
+

File(s)

+

C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\Controllers\UserPreferencesController.cs

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
#LineLine coverage
 1using Chemistry_Cafe_API.Models;
 2using Chemistry_Cafe_API.Services;
 3using Microsoft.AspNetCore.Mvc;
 4using MySqlConnector;
 5
 6// For more information on enabling Web API for empty projects, visit https://go.microsoft.com/fwlink/?LinkID=397860
 7
 8namespace Chemistry_Cafe_API.Controllers
 9{
 10    [Route("api/[controller]")]
 11    [ApiController]
 12    public class UserPreferencesController : ControllerBase
 13    {
 14        private UserPreferencesService userpreferencesService;
 15
 16        //Injects sql data source setup in Program.cs
 117        public UserPreferencesController([FromServices] MySqlDataSource db)
 118        {
 119            this.userpreferencesService = new UserPreferencesService(db);
 120        }
 21
 22        // GET: api/UserPreferences/all
 23        [HttpGet("all")]
 24        public async Task<IReadOnlyList<UserPreferences>> Get()
 125        {
 126            return await userpreferencesService.GetUserPreferencesAsync();
 127        }
 28
 29        // GET api/UserPreferences/5
 30        [HttpGet("{uuid}")]
 31        public async Task<UserPreferences?> Get(Guid uuid)
 132        {
 133            return await userpreferencesService.GetUserPreferencesAsync(uuid);
 134        }
 35
 36        // POST api/UserPreferences/create
 37        [HttpPost("create")]
 38        public async Task<Guid> Create([FromBody] UserPreferences userPreferneces)
 139        {
 140            return await userpreferencesService.CreateUserPreferencesAsync(userPreferneces);
 141        }
 42
 43        // PUT api/UserPreferences/5
 44        [HttpPut("update")]
 45        public async Task Put([FromBody] UserPreferences userpreferences)
 146        {
 147            await userpreferencesService.UpdateUserPreferencesAsync(userpreferences);
 148        }
 49
 50        // DELETE api/UserPreferences/delete/5
 51        [HttpDelete("delete/{uuid}")]
 52        public async Task Delete(Guid uuid)
 153        {
 154            await userpreferencesService.DeleteUserPreferencesAsync(uuid);
 155        }
 56    }
 57}
+
+
+
+ + \ No newline at end of file diff --git a/coveragereport/chemistry_cafe_api.dll_UserPreferencesControllerTests.html b/coveragereport/chemistry_cafe_api.dll_UserPreferencesControllerTests.html new file mode 100644 index 0000000..2d54e2a --- /dev/null +++ b/coveragereport/chemistry_cafe_api.dll_UserPreferencesControllerTests.html @@ -0,0 +1,240 @@ + + + + + + + +Chemistry_Cafe_API.Tests.UserPreferencesControllerTests - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:Chemistry_Cafe_API.Tests.UserPreferencesControllerTests
Assembly:chemistry cafe api.dll
File(s):C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\Tests\UserPreferencesControllerTests.cs
+
+
+
+
+
+
+
Line coverage
+
+
100%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:30
Uncovered lines:0
Coverable lines:30
Total lines:62
Line coverage:100%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+
+ +++++ + + + + + + + +
MethodBlocks covered Blocks not covered
UserPreferencesControllerTests()30
Get_retrieves_userpreferences()172
Creates_userpreferences()342
Updates_userpreferences()592
+
+

File(s)

+

C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\Tests\UserPreferencesControllerTests.cs

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
#LineLine coverage
 1using Chemistry_Cafe_API.Controllers;
 2using Chemistry_Cafe_API.Models;
 3using Microsoft.VisualStudio.TestTools.UnitTesting;
 4using MySqlConnector;
 5
 6namespace Chemistry_Cafe_API.Tests
 7{
 8    [TestClass]
 9    public class UserPreferencesControllerTests
 10    {
 111        UserPreferencesController controller = new UserPreferencesController(DBConnection.DataSource);
 12
 13        [TestMethod]
 14        public async Task Get_retrieves_userpreferences()
 115        {
 116            var result = await controller.Get() as List<UserPreferences>;
 17
 118            Assert.IsNotNull(result);
 119        }
 20
 21        [TestMethod]
 22        public async Task Creates_userpreferences()
 123        {
 124            var userPreferences = new UserPreferences
 125            {
 126                user_uuid = new Guid("070465a1-5f3e-42eb-9373-fed864a75cf5"),
 127                preferences = "New Preference",
 128                isDel = false
 129            };
 30
 131            var result = await controller.Create(userPreferences);
 32
 133            var getResult = await controller.Get(result);
 34
 135            Assert.AreEqual(result, getResult.uuid);
 136        }
 37
 38        [TestMethod]
 39        public async Task Updates_userpreferences()
 140        {
 141            var userPreferences = new UserPreferences
 142            {
 143                user_uuid = new Guid("070465a1-5f3e-42eb-9373-fed864a75cf5"),
 144                preferences = "New Preference"
 145            };
 46
 147            var result = await controller.Create(userPreferences);
 48
 149            var getResult = await controller.Get(result);
 50
 151            getResult.preferences = "Edited";
 52
 153            await controller.Put(getResult);
 54
 155            var getEditedResult = await controller.Get(result);
 56
 157            await controller.Delete(result);
 58
 159            Assert.AreEqual(getEditedResult.preferences, "Edited");
 160        }
 61    }
 62}
+
+
+
+ + \ No newline at end of file diff --git a/coveragereport/chemistry_cafe_api.dll_UserPreferencesService.html b/coveragereport/chemistry_cafe_api.dll_UserPreferencesService.html new file mode 100644 index 0000000..308aaef --- /dev/null +++ b/coveragereport/chemistry_cafe_api.dll_UserPreferencesService.html @@ -0,0 +1,280 @@ + + + + + + + +Chemistry_Cafe_API.Services.UserPreferencesService - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:Chemistry_Cafe_API.Services.UserPreferencesService
Assembly:chemistry cafe api.dll
File(s):C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\Services\UserPreferencesService.cs
+
+
+
+
+
+
+
Line coverage
+
+
100%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:61
Uncovered lines:0
Coverable lines:61
Total lines:96
Line coverage:100%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+ +

File(s)

+

C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\Services\UserPreferencesService.cs

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
#LineLine coverage
 1using Chemistry_Cafe_API.Models;
 2using System.Data.Common;
 3using MySqlConnector;
 4using Microsoft.AspNetCore.Mvc;
 5
 6
 7namespace Chemistry_Cafe_API.Services
 8{
 19    public class UserPreferencesService(MySqlDataSource database)
 10    {
 11        public async Task<IReadOnlyList<UserPreferences>> GetUserPreferencesAsync()
 112        {
 113            using var connection = await database.OpenConnectionAsync();
 114            using var command = connection.CreateCommand();
 15
 116            command.CommandText = "SELECT * FROM User_Preferences WHERE isDel = 0";
 117            return await ReadAllAsync(await command.ExecuteReaderAsync());
 118        }
 19
 20        public async Task<UserPreferences?> GetUserPreferencesAsync(Guid uuid)
 121        {
 122            using var connection = await database.OpenConnectionAsync();
 123            using var command = connection.CreateCommand();
 24
 125            command.CommandText = @"SELECT * FROM User_Preferences WHERE uuid = @id";
 126            command.Parameters.AddWithValue("@id", uuid);
 27
 128            var result = await ReadAllAsync(await command.ExecuteReaderAsync());
 129            return result.FirstOrDefault();
 130        }
 31
 32        public async Task<Guid> CreateUserPreferencesAsync(UserPreferences userPreferences)
 133        {
 134            using var connection = await database.OpenConnectionAsync();
 135            using var command = connection.CreateCommand();
 36
 137            Guid userPreferencesID = Guid.NewGuid();
 38
 139            command.CommandText = @"INSERT INTO User_Preferences (uuid, user_uuid, preferences) VALUES (@uuid, @user_uui
 40
 141            command.Parameters.AddWithValue("@uuid", userPreferencesID);
 142            command.Parameters.AddWithValue("@user_uuid", userPreferences.user_uuid);
 143            command.Parameters.AddWithValue("@preferences", userPreferences.preferences);
 44
 145            await command.ExecuteNonQueryAsync();
 46
 147            return userPreferencesID;
 148        }
 49        public async Task UpdateUserPreferencesAsync(UserPreferences userPreferences)
 150        {
 151            using var connection = await database.OpenConnectionAsync();
 152            using var command = connection.CreateCommand();
 53
 154            command.CommandText = @"UPDATE User_Preferences SET user_uuid = @user_uuid, preferences = @preferences, isDe
 55
 156            command.Parameters.AddWithValue("@uuid", userPreferences.uuid);
 157            command.Parameters.AddWithValue("@user_uuid", userPreferences.user_uuid);
 158            command.Parameters.AddWithValue("@preferences", userPreferences.preferences);
 159            command.Parameters.AddWithValue("@isDel", userPreferences.isDel);
 60
 161            await command.ExecuteNonQueryAsync();
 162        }
 63
 64        public async Task DeleteUserPreferencesAsync(Guid uuid)
 165        {
 166            using var connection = await database.OpenConnectionAsync();
 167            using var command = connection.CreateCommand();
 68
 169            command.CommandText = @"UPDATE User_Preferences SET isDel = 1 WHERE uuid = @uuid;";
 70
 171            command.Parameters.AddWithValue("@uuid", uuid);
 72
 173            await command.ExecuteNonQueryAsync();
 174        }
 75
 76        private async Task<IReadOnlyList<UserPreferences>> ReadAllAsync(DbDataReader reader)
 177        {
 178            var userPreferences = new List<UserPreferences>();
 179            using (reader)
 180            {
 181                while (await reader.ReadAsync())
 182                {
 183                    var userPreference = new UserPreferences
 184                    {
 185                        uuid = reader.GetGuid(0),
 186                        user_uuid = reader.GetGuid(1),
 187                        preferences = reader.GetString(2),
 188                        isDel = reader.GetBoolean(3),
 189                    };
 190                    userPreferences.Add(userPreference);
 191                }
 192            }
 193            return userPreferences;
 194        }
 95    }
 96}
+
+
+
+ + \ No newline at end of file diff --git a/coveragereport/chemistry_cafe_api.dll_UserService.html b/coveragereport/chemistry_cafe_api.dll_UserService.html new file mode 100644 index 0000000..e4921b7 --- /dev/null +++ b/coveragereport/chemistry_cafe_api.dll_UserService.html @@ -0,0 +1,277 @@ + + + + + + + +Chemistry_Cafe_API.Services.UserService - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:Chemistry_Cafe_API.Services.UserService
Assembly:chemistry cafe api.dll
File(s):C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\Services\UserService.cs
+
+
+
+
+
+
+
Line coverage
+
+
100%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:58
Uncovered lines:0
Coverable lines:58
Total lines:93
Line coverage:100%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+
+ +++++ + + + + + + + + + + +
MethodBlocks covered Blocks not covered
UserService(...)20
GetUsersAsync()566
GetUserAsync()596
CreateUserAsync()542
UpdateUserAsync()582
DeleteUserAsync()512
ReadAllAsync()347
+
+

File(s)

+

C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\Services\UserService.cs

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
#LineLine coverage
 1using Chemistry_Cafe_API.Models;
 2using System.Data.Common;
 3using MySqlConnector;
 4using Microsoft.AspNetCore.Mvc;
 5
 6
 7namespace Chemistry_Cafe_API.Services
 8{
 19    public class UserService(MySqlDataSource database)
 10    {
 11        public async Task<IReadOnlyList<User>> GetUsersAsync()
 112        {
 113            using var connection = await database.OpenConnectionAsync();
 114            using var command = connection.CreateCommand();
 15
 116            command.CommandText = "SELECT * FROM User WHERE isDel = 0";
 117            return await ReadAllAsync(await command.ExecuteReaderAsync());
 118        }
 19
 20        public async Task<User?> GetUserAsync(Guid uuid)
 121        {
 122            using var connection = await database.OpenConnectionAsync();
 123            using var command = connection.CreateCommand();
 24
 125            command.CommandText = @"SELECT * FROM User WHERE uuid = @id";
 126            command.Parameters.AddWithValue("@id", uuid);
 27
 128            var result = await ReadAllAsync(await command.ExecuteReaderAsync());
 129            return result.FirstOrDefault();
 130        }
 31
 32        public async Task<Guid> CreateUserAsync(string log_in_info)
 133        {
 134            using var connection = await database.OpenConnectionAsync();
 135            using var command = connection.CreateCommand();
 36
 137            Guid userID = Guid.NewGuid();
 38
 139            command.CommandText = @"INSERT INTO User (uuid, log_in_info) VALUES (@uuid, @log_in_info);";
 40
 141            command.Parameters.AddWithValue("@uuid", userID);
 142            command.Parameters.AddWithValue("@log_in_info", log_in_info);
 43
 144            await command.ExecuteNonQueryAsync();
 45
 146            return userID;
 147        }
 48        public async Task UpdateUserAsync(User user)
 149        {
 150            using var connection = await database.OpenConnectionAsync();
 151            using var command = connection.CreateCommand();
 52
 153            command.CommandText = @"UPDATE User SET log_in_info = @log_in_info, isDel = @isDel WHERE uuid = @uuid;";
 54
 155            command.Parameters.AddWithValue("@uuid", user.uuid);
 156            command.Parameters.AddWithValue("@log_in_info", user.log_in_info);
 157            command.Parameters.AddWithValue("@isDel", user.isDel);
 58
 159            await command.ExecuteNonQueryAsync();
 160        }
 61
 62        public async Task DeleteUserAsync(Guid uuid)
 163        {
 164            using var connection = await database.OpenConnectionAsync();
 165            using var command = connection.CreateCommand();
 66
 167            command.CommandText = @"UPDATE User SET isDel = 1 WHERE uuid = @uuid;";
 68
 169            command.Parameters.AddWithValue("@uuid", uuid);
 70
 171            await command.ExecuteNonQueryAsync();
 172        }
 73
 74        private async Task<IReadOnlyList<User>> ReadAllAsync(DbDataReader reader)
 175        {
 176            var users = new List<User>();
 177            using (reader)
 178            {
 179                while (await reader.ReadAsync())
 180                {
 181                    var user = new User
 182                    {
 183                        uuid = reader.GetGuid(0),
 184                        log_in_info = reader.GetString(1),
 185                        isDel = reader.GetBoolean(2),
 186                    };
 187                    users.Add(user);
 188                }
 189            }
 190            return users;
 191        }
 92    }
 93}
+
+
+
+ + \ No newline at end of file diff --git a/coveragereport/class.js b/coveragereport/class.js new file mode 100644 index 0000000..b7a43b2 --- /dev/null +++ b/coveragereport/class.js @@ -0,0 +1,218 @@ +/* Chartist.js 0.11.4 + * Copyright © 2019 Gion Kunz + * Free to use under either the WTFPL license or the MIT license. + * https://raw.githubusercontent.com/gionkunz/chartist-js/master/LICENSE-WTFPL + * https://raw.githubusercontent.com/gionkunz/chartist-js/master/LICENSE-MIT + */ + +!function (a, b) { "function" == typeof define && define.amd ? define("Chartist", [], function () { return a.Chartist = b() }) : "object" == typeof module && module.exports ? module.exports = b() : a.Chartist = b() }(this, function () { + var a = { version: "0.11.4" }; return function (a, b) { "use strict"; var c = a.window, d = a.document; b.namespaces = { svg: "http://www.w3.org/2000/svg", xmlns: "http://www.w3.org/2000/xmlns/", xhtml: "http://www.w3.org/1999/xhtml", xlink: "http://www.w3.org/1999/xlink", ct: "http://gionkunz.github.com/chartist-js/ct" }, b.noop = function (a) { return a }, b.alphaNumerate = function (a) { return String.fromCharCode(97 + a % 26) }, b.extend = function (a) { var c, d, e; for (a = a || {}, c = 1; c < arguments.length; c++) { d = arguments[c]; for (var f in d) e = d[f], "object" != typeof e || null === e || e instanceof Array ? a[f] = e : a[f] = b.extend(a[f], e) } return a }, b.replaceAll = function (a, b, c) { return a.replace(new RegExp(b, "g"), c) }, b.ensureUnit = function (a, b) { return "number" == typeof a && (a += b), a }, b.quantity = function (a) { if ("string" == typeof a) { var b = /^(\d+)\s*(.*)$/g.exec(a); return { value: +b[1], unit: b[2] || void 0 } } return { value: a } }, b.querySelector = function (a) { return a instanceof Node ? a : d.querySelector(a) }, b.times = function (a) { return Array.apply(null, new Array(a)) }, b.sum = function (a, b) { return a + (b ? b : 0) }, b.mapMultiply = function (a) { return function (b) { return b * a } }, b.mapAdd = function (a) { return function (b) { return b + a } }, b.serialMap = function (a, c) { var d = [], e = Math.max.apply(null, a.map(function (a) { return a.length })); return b.times(e).forEach(function (b, e) { var f = a.map(function (a) { return a[e] }); d[e] = c.apply(null, f) }), d }, b.roundWithPrecision = function (a, c) { var d = Math.pow(10, c || b.precision); return Math.round(a * d) / d }, b.precision = 8, b.escapingMap = { "&": "&", "<": "<", ">": ">", '"': """, "'": "'" }, b.serialize = function (a) { return null === a || void 0 === a ? a : ("number" == typeof a ? a = "" + a : "object" == typeof a && (a = JSON.stringify({ data: a })), Object.keys(b.escapingMap).reduce(function (a, c) { return b.replaceAll(a, c, b.escapingMap[c]) }, a)) }, b.deserialize = function (a) { if ("string" != typeof a) return a; a = Object.keys(b.escapingMap).reduce(function (a, c) { return b.replaceAll(a, b.escapingMap[c], c) }, a); try { a = JSON.parse(a), a = void 0 !== a.data ? a.data : a } catch (c) { } return a }, b.createSvg = function (a, c, d, e) { var f; return c = c || "100%", d = d || "100%", Array.prototype.slice.call(a.querySelectorAll("svg")).filter(function (a) { return a.getAttributeNS(b.namespaces.xmlns, "ct") }).forEach(function (b) { a.removeChild(b) }), f = new b.Svg("svg").attr({ width: c, height: d }).addClass(e), f._node.style.width = c, f._node.style.height = d, a.appendChild(f._node), f }, b.normalizeData = function (a, c, d) { var e, f = { raw: a, normalized: {} }; return f.normalized.series = b.getDataArray({ series: a.series || [] }, c, d), e = f.normalized.series.every(function (a) { return a instanceof Array }) ? Math.max.apply(null, f.normalized.series.map(function (a) { return a.length })) : f.normalized.series.length, f.normalized.labels = (a.labels || []).slice(), Array.prototype.push.apply(f.normalized.labels, b.times(Math.max(0, e - f.normalized.labels.length)).map(function () { return "" })), c && b.reverseData(f.normalized), f }, b.safeHasProperty = function (a, b) { return null !== a && "object" == typeof a && a.hasOwnProperty(b) }, b.isDataHoleValue = function (a) { return null === a || void 0 === a || "number" == typeof a && isNaN(a) }, b.reverseData = function (a) { a.labels.reverse(), a.series.reverse(); for (var b = 0; b < a.series.length; b++)"object" == typeof a.series[b] && void 0 !== a.series[b].data ? a.series[b].data.reverse() : a.series[b] instanceof Array && a.series[b].reverse() }, b.getDataArray = function (a, c, d) { function e(a) { if (b.safeHasProperty(a, "value")) return e(a.value); if (b.safeHasProperty(a, "data")) return e(a.data); if (a instanceof Array) return a.map(e); if (!b.isDataHoleValue(a)) { if (d) { var c = {}; return "string" == typeof d ? c[d] = b.getNumberOrUndefined(a) : c.y = b.getNumberOrUndefined(a), c.x = a.hasOwnProperty("x") ? b.getNumberOrUndefined(a.x) : c.x, c.y = a.hasOwnProperty("y") ? b.getNumberOrUndefined(a.y) : c.y, c } return b.getNumberOrUndefined(a) } } return a.series.map(e) }, b.normalizePadding = function (a, b) { return b = b || 0, "number" == typeof a ? { top: a, right: a, bottom: a, left: a } : { top: "number" == typeof a.top ? a.top : b, right: "number" == typeof a.right ? a.right : b, bottom: "number" == typeof a.bottom ? a.bottom : b, left: "number" == typeof a.left ? a.left : b } }, b.getMetaData = function (a, b) { var c = a.data ? a.data[b] : a[b]; return c ? c.meta : void 0 }, b.orderOfMagnitude = function (a) { return Math.floor(Math.log(Math.abs(a)) / Math.LN10) }, b.projectLength = function (a, b, c) { return b / c.range * a }, b.getAvailableHeight = function (a, c) { return Math.max((b.quantity(c.height).value || a.height()) - (c.chartPadding.top + c.chartPadding.bottom) - c.axisX.offset, 0) }, b.getHighLow = function (a, c, d) { function e(a) { if (void 0 !== a) if (a instanceof Array) for (var b = 0; b < a.length; b++)e(a[b]); else { var c = d ? +a[d] : +a; g && c > f.high && (f.high = c), h && c < f.low && (f.low = c) } } c = b.extend({}, c, d ? c["axis" + d.toUpperCase()] : {}); var f = { high: void 0 === c.high ? -Number.MAX_VALUE : +c.high, low: void 0 === c.low ? Number.MAX_VALUE : +c.low }, g = void 0 === c.high, h = void 0 === c.low; return (g || h) && e(a), (c.referenceValue || 0 === c.referenceValue) && (f.high = Math.max(c.referenceValue, f.high), f.low = Math.min(c.referenceValue, f.low)), f.high <= f.low && (0 === f.low ? f.high = 1 : f.low < 0 ? f.high = 0 : f.high > 0 ? f.low = 0 : (f.high = 1, f.low = 0)), f }, b.isNumeric = function (a) { return null !== a && isFinite(a) }, b.isFalseyButZero = function (a) { return !a && 0 !== a }, b.getNumberOrUndefined = function (a) { return b.isNumeric(a) ? +a : void 0 }, b.isMultiValue = function (a) { return "object" == typeof a && ("x" in a || "y" in a) }, b.getMultiValue = function (a, c) { return b.isMultiValue(a) ? b.getNumberOrUndefined(a[c || "y"]) : b.getNumberOrUndefined(a) }, b.rho = function (a) { function b(a, c) { return a % c === 0 ? c : b(c, a % c) } function c(a) { return a * a + 1 } if (1 === a) return a; var d, e = 2, f = 2; if (a % 2 === 0) return 2; do e = c(e) % a, f = c(c(f)) % a, d = b(Math.abs(e - f), a); while (1 === d); return d }, b.getBounds = function (a, c, d, e) { function f(a, b) { return a === (a += b) && (a *= 1 + (b > 0 ? o : -o)), a } var g, h, i, j = 0, k = { high: c.high, low: c.low }; k.valueRange = k.high - k.low, k.oom = b.orderOfMagnitude(k.valueRange), k.step = Math.pow(10, k.oom), k.min = Math.floor(k.low / k.step) * k.step, k.max = Math.ceil(k.high / k.step) * k.step, k.range = k.max - k.min, k.numberOfSteps = Math.round(k.range / k.step); var l = b.projectLength(a, k.step, k), m = l < d, n = e ? b.rho(k.range) : 0; if (e && b.projectLength(a, 1, k) >= d) k.step = 1; else if (e && n < k.step && b.projectLength(a, n, k) >= d) k.step = n; else for (; ;) { if (m && b.projectLength(a, k.step, k) <= d) k.step *= 2; else { if (m || !(b.projectLength(a, k.step / 2, k) >= d)) break; if (k.step /= 2, e && k.step % 1 !== 0) { k.step *= 2; break } } if (j++ > 1e3) throw new Error("Exceeded maximum number of iterations while optimizing scale step!") } var o = 2.221e-16; for (k.step = Math.max(k.step, o), h = k.min, i = k.max; h + k.step <= k.low;)h = f(h, k.step); for (; i - k.step >= k.high;)i = f(i, -k.step); k.min = h, k.max = i, k.range = k.max - k.min; var p = []; for (g = k.min; g <= k.max; g = f(g, k.step)) { var q = b.roundWithPrecision(g); q !== p[p.length - 1] && p.push(q) } return k.values = p, k }, b.polarToCartesian = function (a, b, c, d) { var e = (d - 90) * Math.PI / 180; return { x: a + c * Math.cos(e), y: b + c * Math.sin(e) } }, b.createChartRect = function (a, c, d) { var e = !(!c.axisX && !c.axisY), f = e ? c.axisY.offset : 0, g = e ? c.axisX.offset : 0, h = a.width() || b.quantity(c.width).value || 0, i = a.height() || b.quantity(c.height).value || 0, j = b.normalizePadding(c.chartPadding, d); h = Math.max(h, f + j.left + j.right), i = Math.max(i, g + j.top + j.bottom); var k = { padding: j, width: function () { return this.x2 - this.x1 }, height: function () { return this.y1 - this.y2 } }; return e ? ("start" === c.axisX.position ? (k.y2 = j.top + g, k.y1 = Math.max(i - j.bottom, k.y2 + 1)) : (k.y2 = j.top, k.y1 = Math.max(i - j.bottom - g, k.y2 + 1)), "start" === c.axisY.position ? (k.x1 = j.left + f, k.x2 = Math.max(h - j.right, k.x1 + 1)) : (k.x1 = j.left, k.x2 = Math.max(h - j.right - f, k.x1 + 1))) : (k.x1 = j.left, k.x2 = Math.max(h - j.right, k.x1 + 1), k.y2 = j.top, k.y1 = Math.max(i - j.bottom, k.y2 + 1)), k }, b.createGrid = function (a, c, d, e, f, g, h, i) { var j = {}; j[d.units.pos + "1"] = a, j[d.units.pos + "2"] = a, j[d.counterUnits.pos + "1"] = e, j[d.counterUnits.pos + "2"] = e + f; var k = g.elem("line", j, h.join(" ")); i.emit("draw", b.extend({ type: "grid", axis: d, index: c, group: g, element: k }, j)) }, b.createGridBackground = function (a, b, c, d) { var e = a.elem("rect", { x: b.x1, y: b.y2, width: b.width(), height: b.height() }, c, !0); d.emit("draw", { type: "gridBackground", group: a, element: e }) }, b.createLabel = function (a, c, e, f, g, h, i, j, k, l, m) { var n, o = {}; if (o[g.units.pos] = a + i[g.units.pos], o[g.counterUnits.pos] = i[g.counterUnits.pos], o[g.units.len] = c, o[g.counterUnits.len] = Math.max(0, h - 10), l) { var p = d.createElement("span"); p.className = k.join(" "), p.setAttribute("xmlns", b.namespaces.xhtml), p.innerText = f[e], p.style[g.units.len] = Math.round(o[g.units.len]) + "px", p.style[g.counterUnits.len] = Math.round(o[g.counterUnits.len]) + "px", n = j.foreignObject(p, b.extend({ style: "overflow: visible;" }, o)) } else n = j.elem("text", o, k.join(" ")).text(f[e]); m.emit("draw", b.extend({ type: "label", axis: g, index: e, group: j, element: n, text: f[e] }, o)) }, b.getSeriesOption = function (a, b, c) { if (a.name && b.series && b.series[a.name]) { var d = b.series[a.name]; return d.hasOwnProperty(c) ? d[c] : b[c] } return b[c] }, b.optionsProvider = function (a, d, e) { function f(a) { var f = h; if (h = b.extend({}, j), d) for (i = 0; i < d.length; i++) { var g = c.matchMedia(d[i][0]); g.matches && (h = b.extend(h, d[i][1])) } e && a && e.emit("optionsChanged", { previousOptions: f, currentOptions: h }) } function g() { k.forEach(function (a) { a.removeListener(f) }) } var h, i, j = b.extend({}, a), k = []; if (!c.matchMedia) throw "window.matchMedia not found! Make sure you're using a polyfill."; if (d) for (i = 0; i < d.length; i++) { var l = c.matchMedia(d[i][0]); l.addListener(f), k.push(l) } return f(), { removeMediaQueryListeners: g, getCurrentOptions: function () { return b.extend({}, h) } } }, b.splitIntoSegments = function (a, c, d) { var e = { increasingX: !1, fillHoles: !1 }; d = b.extend({}, e, d); for (var f = [], g = !0, h = 0; h < a.length; h += 2)void 0 === b.getMultiValue(c[h / 2].value) ? d.fillHoles || (g = !0) : (d.increasingX && h >= 2 && a[h] <= a[h - 2] && (g = !0), g && (f.push({ pathCoordinates: [], valueData: [] }), g = !1), f[f.length - 1].pathCoordinates.push(a[h], a[h + 1]), f[f.length - 1].valueData.push(c[h / 2])); return f } }(this || global, a), function (a, b) { "use strict"; b.Interpolation = {}, b.Interpolation.none = function (a) { var c = { fillHoles: !1 }; return a = b.extend({}, c, a), function (c, d) { for (var e = new b.Svg.Path, f = !0, g = 0; g < c.length; g += 2) { var h = c[g], i = c[g + 1], j = d[g / 2]; void 0 !== b.getMultiValue(j.value) ? (f ? e.move(h, i, !1, j) : e.line(h, i, !1, j), f = !1) : a.fillHoles || (f = !0) } return e } }, b.Interpolation.simple = function (a) { var c = { divisor: 2, fillHoles: !1 }; a = b.extend({}, c, a); var d = 1 / Math.max(1, a.divisor); return function (c, e) { for (var f, g, h, i = new b.Svg.Path, j = 0; j < c.length; j += 2) { var k = c[j], l = c[j + 1], m = (k - f) * d, n = e[j / 2]; void 0 !== n.value ? (void 0 === h ? i.move(k, l, !1, n) : i.curve(f + m, g, k - m, l, k, l, !1, n), f = k, g = l, h = n) : a.fillHoles || (f = k = h = void 0) } return i } }, b.Interpolation.cardinal = function (a) { var c = { tension: 1, fillHoles: !1 }; a = b.extend({}, c, a); var d = Math.min(1, Math.max(0, a.tension)), e = 1 - d; return function f(c, g) { var h = b.splitIntoSegments(c, g, { fillHoles: a.fillHoles }); if (h.length) { if (h.length > 1) { var i = []; return h.forEach(function (a) { i.push(f(a.pathCoordinates, a.valueData)) }), b.Svg.Path.join(i) } if (c = h[0].pathCoordinates, g = h[0].valueData, c.length <= 4) return b.Interpolation.none()(c, g); for (var j, k = (new b.Svg.Path).move(c[0], c[1], !1, g[0]), l = 0, m = c.length; m - 2 * !j > l; l += 2) { var n = [{ x: +c[l - 2], y: +c[l - 1] }, { x: +c[l], y: +c[l + 1] }, { x: +c[l + 2], y: +c[l + 3] }, { x: +c[l + 4], y: +c[l + 5] }]; j ? l ? m - 4 === l ? n[3] = { x: +c[0], y: +c[1] } : m - 2 === l && (n[2] = { x: +c[0], y: +c[1] }, n[3] = { x: +c[2], y: +c[3] }) : n[0] = { x: +c[m - 2], y: +c[m - 1] } : m - 4 === l ? n[3] = n[2] : l || (n[0] = { x: +c[l], y: +c[l + 1] }), k.curve(d * (-n[0].x + 6 * n[1].x + n[2].x) / 6 + e * n[2].x, d * (-n[0].y + 6 * n[1].y + n[2].y) / 6 + e * n[2].y, d * (n[1].x + 6 * n[2].x - n[3].x) / 6 + e * n[2].x, d * (n[1].y + 6 * n[2].y - n[3].y) / 6 + e * n[2].y, n[2].x, n[2].y, !1, g[(l + 2) / 2]) } return k } return b.Interpolation.none()([]) } }, b.Interpolation.monotoneCubic = function (a) { var c = { fillHoles: !1 }; return a = b.extend({}, c, a), function d(c, e) { var f = b.splitIntoSegments(c, e, { fillHoles: a.fillHoles, increasingX: !0 }); if (f.length) { if (f.length > 1) { var g = []; return f.forEach(function (a) { g.push(d(a.pathCoordinates, a.valueData)) }), b.Svg.Path.join(g) } if (c = f[0].pathCoordinates, e = f[0].valueData, c.length <= 4) return b.Interpolation.none()(c, e); var h, i, j = [], k = [], l = c.length / 2, m = [], n = [], o = [], p = []; for (h = 0; h < l; h++)j[h] = c[2 * h], k[h] = c[2 * h + 1]; for (h = 0; h < l - 1; h++)o[h] = k[h + 1] - k[h], p[h] = j[h + 1] - j[h], n[h] = o[h] / p[h]; for (m[0] = n[0], m[l - 1] = n[l - 2], h = 1; h < l - 1; h++)0 === n[h] || 0 === n[h - 1] || n[h - 1] > 0 != n[h] > 0 ? m[h] = 0 : (m[h] = 3 * (p[h - 1] + p[h]) / ((2 * p[h] + p[h - 1]) / n[h - 1] + (p[h] + 2 * p[h - 1]) / n[h]), isFinite(m[h]) || (m[h] = 0)); for (i = (new b.Svg.Path).move(j[0], k[0], !1, e[0]), h = 0; h < l - 1; h++)i.curve(j[h] + p[h] / 3, k[h] + m[h] * p[h] / 3, j[h + 1] - p[h] / 3, k[h + 1] - m[h + 1] * p[h] / 3, j[h + 1], k[h + 1], !1, e[h + 1]); return i } return b.Interpolation.none()([]) } }, b.Interpolation.step = function (a) { var c = { postpone: !0, fillHoles: !1 }; return a = b.extend({}, c, a), function (c, d) { for (var e, f, g, h = new b.Svg.Path, i = 0; i < c.length; i += 2) { var j = c[i], k = c[i + 1], l = d[i / 2]; void 0 !== l.value ? (void 0 === g ? h.move(j, k, !1, l) : (a.postpone ? h.line(j, f, !1, g) : h.line(e, k, !1, l), h.line(j, k, !1, l)), e = j, f = k, g = l) : a.fillHoles || (e = f = g = void 0) } return h } } }(this || global, a), function (a, b) { "use strict"; b.EventEmitter = function () { function a(a, b) { d[a] = d[a] || [], d[a].push(b) } function b(a, b) { d[a] && (b ? (d[a].splice(d[a].indexOf(b), 1), 0 === d[a].length && delete d[a]) : delete d[a]) } function c(a, b) { d[a] && d[a].forEach(function (a) { a(b) }), d["*"] && d["*"].forEach(function (c) { c(a, b) }) } var d = []; return { addEventHandler: a, removeEventHandler: b, emit: c } } }(this || global, a), function (a, b) { "use strict"; function c(a) { var b = []; if (a.length) for (var c = 0; c < a.length; c++)b.push(a[c]); return b } function d(a, c) { var d = c || this.prototype || b.Class, e = Object.create(d); b.Class.cloneDefinitions(e, a); var f = function () { var a, c = e.constructor || function () { }; return a = this === b ? Object.create(e) : this, c.apply(a, Array.prototype.slice.call(arguments, 0)), a }; return f.prototype = e, f["super"] = d, f.extend = this.extend, f } function e() { var a = c(arguments), b = a[0]; return a.splice(1, a.length - 1).forEach(function (a) { Object.getOwnPropertyNames(a).forEach(function (c) { delete b[c], Object.defineProperty(b, c, Object.getOwnPropertyDescriptor(a, c)) }) }), b } b.Class = { extend: d, cloneDefinitions: e } }(this || global, a), function (a, b) { "use strict"; function c(a, c, d) { return a && (this.data = a || {}, this.data.labels = this.data.labels || [], this.data.series = this.data.series || [], this.eventEmitter.emit("data", { type: "update", data: this.data })), c && (this.options = b.extend({}, d ? this.options : this.defaultOptions, c), this.initializeTimeoutId || (this.optionsProvider.removeMediaQueryListeners(), this.optionsProvider = b.optionsProvider(this.options, this.responsiveOptions, this.eventEmitter))), this.initializeTimeoutId || this.createChart(this.optionsProvider.getCurrentOptions()), this } function d() { return this.initializeTimeoutId ? i.clearTimeout(this.initializeTimeoutId) : (i.removeEventListener("resize", this.resizeListener), this.optionsProvider.removeMediaQueryListeners()), this } function e(a, b) { return this.eventEmitter.addEventHandler(a, b), this } function f(a, b) { return this.eventEmitter.removeEventHandler(a, b), this } function g() { i.addEventListener("resize", this.resizeListener), this.optionsProvider = b.optionsProvider(this.options, this.responsiveOptions, this.eventEmitter), this.eventEmitter.addEventHandler("optionsChanged", function () { this.update() }.bind(this)), this.options.plugins && this.options.plugins.forEach(function (a) { a instanceof Array ? a[0](this, a[1]) : a(this) }.bind(this)), this.eventEmitter.emit("data", { type: "initial", data: this.data }), this.createChart(this.optionsProvider.getCurrentOptions()), this.initializeTimeoutId = void 0 } function h(a, c, d, e, f) { this.container = b.querySelector(a), this.data = c || {}, this.data.labels = this.data.labels || [], this.data.series = this.data.series || [], this.defaultOptions = d, this.options = e, this.responsiveOptions = f, this.eventEmitter = b.EventEmitter(), this.supportsForeignObject = b.Svg.isSupported("Extensibility"), this.supportsAnimations = b.Svg.isSupported("AnimationEventsAttribute"), this.resizeListener = function () { this.update() }.bind(this), this.container && (this.container.__chartist__ && this.container.__chartist__.detach(), this.container.__chartist__ = this), this.initializeTimeoutId = setTimeout(g.bind(this), 0) } var i = a.window; b.Base = b.Class.extend({ constructor: h, optionsProvider: void 0, container: void 0, svg: void 0, eventEmitter: void 0, createChart: function () { throw new Error("Base chart type can't be instantiated!") }, update: c, detach: d, on: e, off: f, version: b.version, supportsForeignObject: !1 }) }(this || global, a), function (a, b) { "use strict"; function c(a, c, d, e, f) { a instanceof Element ? this._node = a : (this._node = y.createElementNS(b.namespaces.svg, a), "svg" === a && this.attr({ "xmlns:ct": b.namespaces.ct })), c && this.attr(c), d && this.addClass(d), e && (f && e._node.firstChild ? e._node.insertBefore(this._node, e._node.firstChild) : e._node.appendChild(this._node)) } function d(a, c) { return "string" == typeof a ? c ? this._node.getAttributeNS(c, a) : this._node.getAttribute(a) : (Object.keys(a).forEach(function (c) { if (void 0 !== a[c]) if (c.indexOf(":") !== -1) { var d = c.split(":"); this._node.setAttributeNS(b.namespaces[d[0]], c, a[c]) } else this._node.setAttribute(c, a[c]) }.bind(this)), this) } function e(a, c, d, e) { return new b.Svg(a, c, d, this, e) } function f() { return this._node.parentNode instanceof SVGElement ? new b.Svg(this._node.parentNode) : null } function g() { for (var a = this._node; "svg" !== a.nodeName;)a = a.parentNode; return new b.Svg(a) } function h(a) { var c = this._node.querySelector(a); return c ? new b.Svg(c) : null } function i(a) { var c = this._node.querySelectorAll(a); return c.length ? new b.Svg.List(c) : null } function j() { return this._node } function k(a, c, d, e) { if ("string" == typeof a) { var f = y.createElement("div"); f.innerHTML = a, a = f.firstChild } a.setAttribute("xmlns", b.namespaces.xmlns); var g = this.elem("foreignObject", c, d, e); return g._node.appendChild(a), g } function l(a) { return this._node.appendChild(y.createTextNode(a)), this } function m() { for (; this._node.firstChild;)this._node.removeChild(this._node.firstChild); return this } function n() { return this._node.parentNode.removeChild(this._node), this.parent() } function o(a) { return this._node.parentNode.replaceChild(a._node, this._node), a } function p(a, b) { return b && this._node.firstChild ? this._node.insertBefore(a._node, this._node.firstChild) : this._node.appendChild(a._node), this } function q() { return this._node.getAttribute("class") ? this._node.getAttribute("class").trim().split(/\s+/) : [] } function r(a) { return this._node.setAttribute("class", this.classes(this._node).concat(a.trim().split(/\s+/)).filter(function (a, b, c) { return c.indexOf(a) === b }).join(" ")), this } function s(a) { var b = a.trim().split(/\s+/); return this._node.setAttribute("class", this.classes(this._node).filter(function (a) { return b.indexOf(a) === -1 }).join(" ")), this } function t() { return this._node.setAttribute("class", ""), this } function u() { return this._node.getBoundingClientRect().height } function v() { return this._node.getBoundingClientRect().width } function w(a, c, d) { return void 0 === c && (c = !0), Object.keys(a).forEach(function (e) { function f(a, c) { var f, g, h, i = {}; a.easing && (h = a.easing instanceof Array ? a.easing : b.Svg.Easing[a.easing], delete a.easing), a.begin = b.ensureUnit(a.begin, "ms"), a.dur = b.ensureUnit(a.dur, "ms"), h && (a.calcMode = "spline", a.keySplines = h.join(" "), a.keyTimes = "0;1"), c && (a.fill = "freeze", i[e] = a.from, this.attr(i), g = b.quantity(a.begin || 0).value, a.begin = "indefinite"), f = this.elem("animate", b.extend({ attributeName: e }, a)), c && setTimeout(function () { try { f._node.beginElement() } catch (b) { i[e] = a.to, this.attr(i), f.remove() } }.bind(this), g), d && f._node.addEventListener("beginEvent", function () { d.emit("animationBegin", { element: this, animate: f._node, params: a }) }.bind(this)), f._node.addEventListener("endEvent", function () { d && d.emit("animationEnd", { element: this, animate: f._node, params: a }), c && (i[e] = a.to, this.attr(i), f.remove()) }.bind(this)) } a[e] instanceof Array ? a[e].forEach(function (a) { f.bind(this)(a, !1) }.bind(this)) : f.bind(this)(a[e], c) }.bind(this)), this } function x(a) { var c = this; this.svgElements = []; for (var d = 0; d < a.length; d++)this.svgElements.push(new b.Svg(a[d])); Object.keys(b.Svg.prototype).filter(function (a) { return ["constructor", "parent", "querySelector", "querySelectorAll", "replace", "append", "classes", "height", "width"].indexOf(a) === -1 }).forEach(function (a) { c[a] = function () { var d = Array.prototype.slice.call(arguments, 0); return c.svgElements.forEach(function (c) { b.Svg.prototype[a].apply(c, d) }), c } }) } var y = a.document; b.Svg = b.Class.extend({ constructor: c, attr: d, elem: e, parent: f, root: g, querySelector: h, querySelectorAll: i, getNode: j, foreignObject: k, text: l, empty: m, remove: n, replace: o, append: p, classes: q, addClass: r, removeClass: s, removeAllClasses: t, height: u, width: v, animate: w }), b.Svg.isSupported = function (a) { return y.implementation.hasFeature("http://www.w3.org/TR/SVG11/feature#" + a, "1.1") }; var z = { easeInSine: [.47, 0, .745, .715], easeOutSine: [.39, .575, .565, 1], easeInOutSine: [.445, .05, .55, .95], easeInQuad: [.55, .085, .68, .53], easeOutQuad: [.25, .46, .45, .94], easeInOutQuad: [.455, .03, .515, .955], easeInCubic: [.55, .055, .675, .19], easeOutCubic: [.215, .61, .355, 1], easeInOutCubic: [.645, .045, .355, 1], easeInQuart: [.895, .03, .685, .22], easeOutQuart: [.165, .84, .44, 1], easeInOutQuart: [.77, 0, .175, 1], easeInQuint: [.755, .05, .855, .06], easeOutQuint: [.23, 1, .32, 1], easeInOutQuint: [.86, 0, .07, 1], easeInExpo: [.95, .05, .795, .035], easeOutExpo: [.19, 1, .22, 1], easeInOutExpo: [1, 0, 0, 1], easeInCirc: [.6, .04, .98, .335], easeOutCirc: [.075, .82, .165, 1], easeInOutCirc: [.785, .135, .15, .86], easeInBack: [.6, -.28, .735, .045], easeOutBack: [.175, .885, .32, 1.275], easeInOutBack: [.68, -.55, .265, 1.55] }; b.Svg.Easing = z, b.Svg.List = b.Class.extend({ constructor: x }) }(this || global, a), function (a, b) { "use strict"; function c(a, c, d, e, f, g) { var h = b.extend({ command: f ? a.toLowerCase() : a.toUpperCase() }, c, g ? { data: g } : {}); d.splice(e, 0, h) } function d(a, b) { a.forEach(function (c, d) { t[c.command.toLowerCase()].forEach(function (e, f) { b(c, e, d, f, a) }) }) } function e(a, c) { this.pathElements = [], this.pos = 0, this.close = a, this.options = b.extend({}, u, c) } function f(a) { return void 0 !== a ? (this.pos = Math.max(0, Math.min(this.pathElements.length, a)), this) : this.pos } function g(a) { return this.pathElements.splice(this.pos, a), this } function h(a, b, d, e) { return c("M", { x: +a, y: +b }, this.pathElements, this.pos++, d, e), this } function i(a, b, d, e) { return c("L", { x: +a, y: +b }, this.pathElements, this.pos++, d, e), this } function j(a, b, d, e, f, g, h, i) { return c("C", { x1: +a, y1: +b, x2: +d, y2: +e, x: +f, y: +g }, this.pathElements, this.pos++, h, i), this } function k(a, b, d, e, f, g, h, i, j) { return c("A", { rx: +a, ry: +b, xAr: +d, lAf: +e, sf: +f, x: +g, y: +h }, this.pathElements, this.pos++, i, j), this } function l(a) { var c = a.replace(/([A-Za-z])([0-9])/g, "$1 $2").replace(/([0-9])([A-Za-z])/g, "$1 $2").split(/[\s,]+/).reduce(function (a, b) { return b.match(/[A-Za-z]/) && a.push([]), a[a.length - 1].push(b), a }, []); "Z" === c[c.length - 1][0].toUpperCase() && c.pop(); var d = c.map(function (a) { var c = a.shift(), d = t[c.toLowerCase()]; return b.extend({ command: c }, d.reduce(function (b, c, d) { return b[c] = +a[d], b }, {})) }), e = [this.pos, 0]; return Array.prototype.push.apply(e, d), Array.prototype.splice.apply(this.pathElements, e), this.pos += d.length, this } function m() { var a = Math.pow(10, this.options.accuracy); return this.pathElements.reduce(function (b, c) { var d = t[c.command.toLowerCase()].map(function (b) { return this.options.accuracy ? Math.round(c[b] * a) / a : c[b] }.bind(this)); return b + c.command + d.join(",") }.bind(this), "") + (this.close ? "Z" : "") } function n(a, b) { return d(this.pathElements, function (c, d) { c[d] *= "x" === d[0] ? a : b }), this } function o(a, b) { return d(this.pathElements, function (c, d) { c[d] += "x" === d[0] ? a : b }), this } function p(a) { return d(this.pathElements, function (b, c, d, e, f) { var g = a(b, c, d, e, f); (g || 0 === g) && (b[c] = g) }), this } function q(a) { var c = new b.Svg.Path(a || this.close); return c.pos = this.pos, c.pathElements = this.pathElements.slice().map(function (a) { return b.extend({}, a) }), c.options = b.extend({}, this.options), c } function r(a) { var c = [new b.Svg.Path]; return this.pathElements.forEach(function (d) { d.command === a.toUpperCase() && 0 !== c[c.length - 1].pathElements.length && c.push(new b.Svg.Path), c[c.length - 1].pathElements.push(d) }), c } function s(a, c, d) { for (var e = new b.Svg.Path(c, d), f = 0; f < a.length; f++)for (var g = a[f], h = 0; h < g.pathElements.length; h++)e.pathElements.push(g.pathElements[h]); return e } var t = { m: ["x", "y"], l: ["x", "y"], c: ["x1", "y1", "x2", "y2", "x", "y"], a: ["rx", "ry", "xAr", "lAf", "sf", "x", "y"] }, u = { accuracy: 3 }; b.Svg.Path = b.Class.extend({ constructor: e, position: f, remove: g, move: h, line: i, curve: j, arc: k, scale: n, translate: o, transform: p, parse: l, stringify: m, clone: q, splitByCommand: r }), b.Svg.Path.elementDescriptions = t, b.Svg.Path.join = s }(this || global, a), function (a, b) { "use strict"; function c(a, b, c, d) { this.units = a, this.counterUnits = a === e.x ? e.y : e.x, this.chartRect = b, this.axisLength = b[a.rectEnd] - b[a.rectStart], this.gridOffset = b[a.rectOffset], this.ticks = c, this.options = d } function d(a, c, d, e, f) { var g = e["axis" + this.units.pos.toUpperCase()], h = this.ticks.map(this.projectValue.bind(this)), i = this.ticks.map(g.labelInterpolationFnc); h.forEach(function (j, k) { var l, m = { x: 0, y: 0 }; l = h[k + 1] ? h[k + 1] - j : Math.max(this.axisLength - j, 30), b.isFalseyButZero(i[k]) && "" !== i[k] || ("x" === this.units.pos ? (j = this.chartRect.x1 + j, m.x = e.axisX.labelOffset.x, "start" === e.axisX.position ? m.y = this.chartRect.padding.top + e.axisX.labelOffset.y + (d ? 5 : 20) : m.y = this.chartRect.y1 + e.axisX.labelOffset.y + (d ? 5 : 20)) : (j = this.chartRect.y1 - j, m.y = e.axisY.labelOffset.y - (d ? l : 0), "start" === e.axisY.position ? m.x = d ? this.chartRect.padding.left + e.axisY.labelOffset.x : this.chartRect.x1 - 10 : m.x = this.chartRect.x2 + e.axisY.labelOffset.x + 10), g.showGrid && b.createGrid(j, k, this, this.gridOffset, this.chartRect[this.counterUnits.len](), a, [e.classNames.grid, e.classNames[this.units.dir]], f), g.showLabel && b.createLabel(j, l, k, i, this, g.offset, m, c, [e.classNames.label, e.classNames[this.units.dir], "start" === g.position ? e.classNames[g.position] : e.classNames.end], d, f)) }.bind(this)) } var e = (a.window, a.document, { x: { pos: "x", len: "width", dir: "horizontal", rectStart: "x1", rectEnd: "x2", rectOffset: "y2" }, y: { pos: "y", len: "height", dir: "vertical", rectStart: "y2", rectEnd: "y1", rectOffset: "x1" } }); b.Axis = b.Class.extend({ constructor: c, createGridAndLabels: d, projectValue: function (a, b, c) { throw new Error("Base axis can't be instantiated!") } }), b.Axis.units = e }(this || global, a), function (a, b) { "use strict"; function c(a, c, d, e) { var f = e.highLow || b.getHighLow(c, e, a.pos); this.bounds = b.getBounds(d[a.rectEnd] - d[a.rectStart], f, e.scaleMinSpace || 20, e.onlyInteger), this.range = { min: this.bounds.min, max: this.bounds.max }, b.AutoScaleAxis["super"].constructor.call(this, a, d, this.bounds.values, e) } function d(a) { return this.axisLength * (+b.getMultiValue(a, this.units.pos) - this.bounds.min) / this.bounds.range } a.window, a.document; b.AutoScaleAxis = b.Axis.extend({ constructor: c, projectValue: d }) }(this || global, a), function (a, b) { "use strict"; function c(a, c, d, e) { var f = e.highLow || b.getHighLow(c, e, a.pos); this.divisor = e.divisor || 1, this.ticks = e.ticks || b.times(this.divisor).map(function (a, b) { return f.low + (f.high - f.low) / this.divisor * b }.bind(this)), this.ticks.sort(function (a, b) { return a - b }), this.range = { min: f.low, max: f.high }, b.FixedScaleAxis["super"].constructor.call(this, a, d, this.ticks, e), this.stepLength = this.axisLength / this.divisor } function d(a) { return this.axisLength * (+b.getMultiValue(a, this.units.pos) - this.range.min) / (this.range.max - this.range.min) } a.window, a.document; b.FixedScaleAxis = b.Axis.extend({ constructor: c, projectValue: d }) }(this || global, a), function (a, b) { "use strict"; function c(a, c, d, e) { b.StepAxis["super"].constructor.call(this, a, d, e.ticks, e); var f = Math.max(1, e.ticks.length - (e.stretch ? 1 : 0)); this.stepLength = this.axisLength / f } function d(a, b) { return this.stepLength * b } a.window, a.document; b.StepAxis = b.Axis.extend({ constructor: c, projectValue: d }) }(this || global, a), function (a, b) { "use strict"; function c(a) { var c = b.normalizeData(this.data, a.reverseData, !0); this.svg = b.createSvg(this.container, a.width, a.height, a.classNames.chart); var d, f, g = this.svg.elem("g").addClass(a.classNames.gridGroup), h = this.svg.elem("g"), i = this.svg.elem("g").addClass(a.classNames.labelGroup), j = b.createChartRect(this.svg, a, e.padding); d = void 0 === a.axisX.type ? new b.StepAxis(b.Axis.units.x, c.normalized.series, j, b.extend({}, a.axisX, { ticks: c.normalized.labels, stretch: a.fullWidth })) : a.axisX.type.call(b, b.Axis.units.x, c.normalized.series, j, a.axisX), f = void 0 === a.axisY.type ? new b.AutoScaleAxis(b.Axis.units.y, c.normalized.series, j, b.extend({}, a.axisY, { high: b.isNumeric(a.high) ? a.high : a.axisY.high, low: b.isNumeric(a.low) ? a.low : a.axisY.low })) : a.axisY.type.call(b, b.Axis.units.y, c.normalized.series, j, a.axisY), d.createGridAndLabels(g, i, this.supportsForeignObject, a, this.eventEmitter), f.createGridAndLabels(g, i, this.supportsForeignObject, a, this.eventEmitter), a.showGridBackground && b.createGridBackground(g, j, a.classNames.gridBackground, this.eventEmitter), c.raw.series.forEach(function (e, g) { var i = h.elem("g"); i.attr({ "ct:series-name": e.name, "ct:meta": b.serialize(e.meta) }), i.addClass([a.classNames.series, e.className || a.classNames.series + "-" + b.alphaNumerate(g)].join(" ")); var k = [], l = []; c.normalized.series[g].forEach(function (a, h) { var i = { x: j.x1 + d.projectValue(a, h, c.normalized.series[g]), y: j.y1 - f.projectValue(a, h, c.normalized.series[g]) }; k.push(i.x, i.y), l.push({ value: a, valueIndex: h, meta: b.getMetaData(e, h) }) }.bind(this)); var m = { lineSmooth: b.getSeriesOption(e, a, "lineSmooth"), showPoint: b.getSeriesOption(e, a, "showPoint"), showLine: b.getSeriesOption(e, a, "showLine"), showArea: b.getSeriesOption(e, a, "showArea"), areaBase: b.getSeriesOption(e, a, "areaBase") }, n = "function" == typeof m.lineSmooth ? m.lineSmooth : m.lineSmooth ? b.Interpolation.monotoneCubic() : b.Interpolation.none(), o = n(k, l); if (m.showPoint && o.pathElements.forEach(function (c) { var h = i.elem("line", { x1: c.x, y1: c.y, x2: c.x + .01, y2: c.y }, a.classNames.point).attr({ "ct:value": [c.data.value.x, c.data.value.y].filter(b.isNumeric).join(","), "ct:meta": b.serialize(c.data.meta) }); this.eventEmitter.emit("draw", { type: "point", value: c.data.value, index: c.data.valueIndex, meta: c.data.meta, series: e, seriesIndex: g, axisX: d, axisY: f, group: i, element: h, x: c.x, y: c.y }) }.bind(this)), m.showLine) { var p = i.elem("path", { d: o.stringify() }, a.classNames.line, !0); this.eventEmitter.emit("draw", { type: "line", values: c.normalized.series[g], path: o.clone(), chartRect: j, index: g, series: e, seriesIndex: g, seriesMeta: e.meta, axisX: d, axisY: f, group: i, element: p }) } if (m.showArea && f.range) { var q = Math.max(Math.min(m.areaBase, f.range.max), f.range.min), r = j.y1 - f.projectValue(q); o.splitByCommand("M").filter(function (a) { return a.pathElements.length > 1 }).map(function (a) { var b = a.pathElements[0], c = a.pathElements[a.pathElements.length - 1]; return a.clone(!0).position(0).remove(1).move(b.x, r).line(b.x, b.y).position(a.pathElements.length + 1).line(c.x, r) }).forEach(function (b) { var h = i.elem("path", { d: b.stringify() }, a.classNames.area, !0); this.eventEmitter.emit("draw", { type: "area", values: c.normalized.series[g], path: b.clone(), series: e, seriesIndex: g, axisX: d, axisY: f, chartRect: j, index: g, group: i, element: h }) }.bind(this)) } }.bind(this)), this.eventEmitter.emit("created", { bounds: f.bounds, chartRect: j, axisX: d, axisY: f, svg: this.svg, options: a }) } function d(a, c, d, f) { b.Line["super"].constructor.call(this, a, c, e, b.extend({}, e, d), f) } var e = (a.window, a.document, { axisX: { offset: 30, position: "end", labelOffset: { x: 0, y: 0 }, showLabel: !0, showGrid: !0, labelInterpolationFnc: b.noop, type: void 0 }, axisY: { offset: 40, position: "start", labelOffset: { x: 0, y: 0 }, showLabel: !0, showGrid: !0, labelInterpolationFnc: b.noop, type: void 0, scaleMinSpace: 20, onlyInteger: !1 }, width: void 0, height: void 0, showLine: !0, showPoint: !0, showArea: !1, areaBase: 0, lineSmooth: !0, showGridBackground: !1, low: void 0, high: void 0, chartPadding: { top: 15, right: 15, bottom: 5, left: 10 }, fullWidth: !1, reverseData: !1, classNames: { chart: "ct-chart-line", label: "ct-label", labelGroup: "ct-labels", series: "ct-series", line: "ct-line", point: "ct-point", area: "ct-area", grid: "ct-grid", gridGroup: "ct-grids", gridBackground: "ct-grid-background", vertical: "ct-vertical", horizontal: "ct-horizontal", start: "ct-start", end: "ct-end" } }); b.Line = b.Base.extend({ constructor: d, createChart: c }) }(this || global, a), function (a, b) { + "use strict"; function c(a) { + var c, d; a.distributeSeries ? (c = b.normalizeData(this.data, a.reverseData, a.horizontalBars ? "x" : "y"), c.normalized.series = c.normalized.series.map(function (a) { return [a] })) : c = b.normalizeData(this.data, a.reverseData, a.horizontalBars ? "x" : "y"), this.svg = b.createSvg(this.container, a.width, a.height, a.classNames.chart + (a.horizontalBars ? " " + a.classNames.horizontalBars : "")); var f = this.svg.elem("g").addClass(a.classNames.gridGroup), g = this.svg.elem("g"), h = this.svg.elem("g").addClass(a.classNames.labelGroup); + if (a.stackBars && 0 !== c.normalized.series.length) { var i = b.serialMap(c.normalized.series, function () { return Array.prototype.slice.call(arguments).map(function (a) { return a }).reduce(function (a, b) { return { x: a.x + (b && b.x) || 0, y: a.y + (b && b.y) || 0 } }, { x: 0, y: 0 }) }); d = b.getHighLow([i], a, a.horizontalBars ? "x" : "y") } else d = b.getHighLow(c.normalized.series, a, a.horizontalBars ? "x" : "y"); d.high = +a.high || (0 === a.high ? 0 : d.high), d.low = +a.low || (0 === a.low ? 0 : d.low); var j, k, l, m, n, o = b.createChartRect(this.svg, a, e.padding); k = a.distributeSeries && a.stackBars ? c.normalized.labels.slice(0, 1) : c.normalized.labels, a.horizontalBars ? (j = m = void 0 === a.axisX.type ? new b.AutoScaleAxis(b.Axis.units.x, c.normalized.series, o, b.extend({}, a.axisX, { highLow: d, referenceValue: 0 })) : a.axisX.type.call(b, b.Axis.units.x, c.normalized.series, o, b.extend({}, a.axisX, { highLow: d, referenceValue: 0 })), l = n = void 0 === a.axisY.type ? new b.StepAxis(b.Axis.units.y, c.normalized.series, o, { ticks: k }) : a.axisY.type.call(b, b.Axis.units.y, c.normalized.series, o, a.axisY)) : (l = m = void 0 === a.axisX.type ? new b.StepAxis(b.Axis.units.x, c.normalized.series, o, { ticks: k }) : a.axisX.type.call(b, b.Axis.units.x, c.normalized.series, o, a.axisX), j = n = void 0 === a.axisY.type ? new b.AutoScaleAxis(b.Axis.units.y, c.normalized.series, o, b.extend({}, a.axisY, { highLow: d, referenceValue: 0 })) : a.axisY.type.call(b, b.Axis.units.y, c.normalized.series, o, b.extend({}, a.axisY, { highLow: d, referenceValue: 0 }))); var p = a.horizontalBars ? o.x1 + j.projectValue(0) : o.y1 - j.projectValue(0), q = []; l.createGridAndLabels(f, h, this.supportsForeignObject, a, this.eventEmitter), j.createGridAndLabels(f, h, this.supportsForeignObject, a, this.eventEmitter), a.showGridBackground && b.createGridBackground(f, o, a.classNames.gridBackground, this.eventEmitter), c.raw.series.forEach(function (d, e) { var f, h, i = e - (c.raw.series.length - 1) / 2; f = a.distributeSeries && !a.stackBars ? l.axisLength / c.normalized.series.length / 2 : a.distributeSeries && a.stackBars ? l.axisLength / 2 : l.axisLength / c.normalized.series[e].length / 2, h = g.elem("g"), h.attr({ "ct:series-name": d.name, "ct:meta": b.serialize(d.meta) }), h.addClass([a.classNames.series, d.className || a.classNames.series + "-" + b.alphaNumerate(e)].join(" ")), c.normalized.series[e].forEach(function (g, k) { var r, s, t, u; if (u = a.distributeSeries && !a.stackBars ? e : a.distributeSeries && a.stackBars ? 0 : k, r = a.horizontalBars ? { x: o.x1 + j.projectValue(g && g.x ? g.x : 0, k, c.normalized.series[e]), y: o.y1 - l.projectValue(g && g.y ? g.y : 0, u, c.normalized.series[e]) } : { x: o.x1 + l.projectValue(g && g.x ? g.x : 0, u, c.normalized.series[e]), y: o.y1 - j.projectValue(g && g.y ? g.y : 0, k, c.normalized.series[e]) }, l instanceof b.StepAxis && (l.options.stretch || (r[l.units.pos] += f * (a.horizontalBars ? -1 : 1)), r[l.units.pos] += a.stackBars || a.distributeSeries ? 0 : i * a.seriesBarDistance * (a.horizontalBars ? -1 : 1)), t = q[k] || p, q[k] = t - (p - r[l.counterUnits.pos]), void 0 !== g) { var v = {}; v[l.units.pos + "1"] = r[l.units.pos], v[l.units.pos + "2"] = r[l.units.pos], !a.stackBars || "accumulate" !== a.stackMode && a.stackMode ? (v[l.counterUnits.pos + "1"] = p, v[l.counterUnits.pos + "2"] = r[l.counterUnits.pos]) : (v[l.counterUnits.pos + "1"] = t, v[l.counterUnits.pos + "2"] = q[k]), v.x1 = Math.min(Math.max(v.x1, o.x1), o.x2), v.x2 = Math.min(Math.max(v.x2, o.x1), o.x2), v.y1 = Math.min(Math.max(v.y1, o.y2), o.y1), v.y2 = Math.min(Math.max(v.y2, o.y2), o.y1); var w = b.getMetaData(d, k); s = h.elem("line", v, a.classNames.bar).attr({ "ct:value": [g.x, g.y].filter(b.isNumeric).join(","), "ct:meta": b.serialize(w) }), this.eventEmitter.emit("draw", b.extend({ type: "bar", value: g, index: k, meta: w, series: d, seriesIndex: e, axisX: m, axisY: n, chartRect: o, group: h, element: s }, v)) } }.bind(this)) }.bind(this)), this.eventEmitter.emit("created", { bounds: j.bounds, chartRect: o, axisX: m, axisY: n, svg: this.svg, options: a }) + } function d(a, c, d, f) { b.Bar["super"].constructor.call(this, a, c, e, b.extend({}, e, d), f) } var e = (a.window, a.document, { axisX: { offset: 30, position: "end", labelOffset: { x: 0, y: 0 }, showLabel: !0, showGrid: !0, labelInterpolationFnc: b.noop, scaleMinSpace: 30, onlyInteger: !1 }, axisY: { offset: 40, position: "start", labelOffset: { x: 0, y: 0 }, showLabel: !0, showGrid: !0, labelInterpolationFnc: b.noop, scaleMinSpace: 20, onlyInteger: !1 }, width: void 0, height: void 0, high: void 0, low: void 0, referenceValue: 0, chartPadding: { top: 15, right: 15, bottom: 5, left: 10 }, seriesBarDistance: 15, stackBars: !1, stackMode: "accumulate", horizontalBars: !1, distributeSeries: !1, reverseData: !1, showGridBackground: !1, classNames: { chart: "ct-chart-bar", horizontalBars: "ct-horizontal-bars", label: "ct-label", labelGroup: "ct-labels", series: "ct-series", bar: "ct-bar", grid: "ct-grid", gridGroup: "ct-grids", gridBackground: "ct-grid-background", vertical: "ct-vertical", horizontal: "ct-horizontal", start: "ct-start", end: "ct-end" } }); b.Bar = b.Base.extend({ constructor: d, createChart: c }) + }(this || global, a), function (a, b) { "use strict"; function c(a, b, c) { var d = b.x > a.x; return d && "explode" === c || !d && "implode" === c ? "start" : d && "implode" === c || !d && "explode" === c ? "end" : "middle" } function d(a) { var d, e, g, h, i, j = b.normalizeData(this.data), k = [], l = a.startAngle; this.svg = b.createSvg(this.container, a.width, a.height, a.donut ? a.classNames.chartDonut : a.classNames.chartPie), e = b.createChartRect(this.svg, a, f.padding), g = Math.min(e.width() / 2, e.height() / 2), i = a.total || j.normalized.series.reduce(function (a, b) { return a + b }, 0); var m = b.quantity(a.donutWidth); "%" === m.unit && (m.value *= g / 100), g -= a.donut && !a.donutSolid ? m.value / 2 : 0, h = "outside" === a.labelPosition || a.donut && !a.donutSolid ? g : "center" === a.labelPosition ? 0 : a.donutSolid ? g - m.value / 2 : g / 2, h += a.labelOffset; var n = { x: e.x1 + e.width() / 2, y: e.y2 + e.height() / 2 }, o = 1 === j.raw.series.filter(function (a) { return a.hasOwnProperty("value") ? 0 !== a.value : 0 !== a }).length; j.raw.series.forEach(function (a, b) { k[b] = this.svg.elem("g", null, null) }.bind(this)), a.showLabel && (d = this.svg.elem("g", null, null)), j.raw.series.forEach(function (e, f) { if (0 !== j.normalized.series[f] || !a.ignoreEmptyValues) { k[f].attr({ "ct:series-name": e.name }), k[f].addClass([a.classNames.series, e.className || a.classNames.series + "-" + b.alphaNumerate(f)].join(" ")); var p = i > 0 ? l + j.normalized.series[f] / i * 360 : 0, q = Math.max(0, l - (0 === f || o ? 0 : .2)); p - q >= 359.99 && (p = q + 359.99); var r, s, t, u = b.polarToCartesian(n.x, n.y, g, q), v = b.polarToCartesian(n.x, n.y, g, p), w = new b.Svg.Path(!a.donut || a.donutSolid).move(v.x, v.y).arc(g, g, 0, p - l > 180, 0, u.x, u.y); a.donut ? a.donutSolid && (t = g - m.value, r = b.polarToCartesian(n.x, n.y, t, l - (0 === f || o ? 0 : .2)), s = b.polarToCartesian(n.x, n.y, t, p), w.line(r.x, r.y), w.arc(t, t, 0, p - l > 180, 1, s.x, s.y)) : w.line(n.x, n.y); var x = a.classNames.slicePie; a.donut && (x = a.classNames.sliceDonut, a.donutSolid && (x = a.classNames.sliceDonutSolid)); var y = k[f].elem("path", { d: w.stringify() }, x); if (y.attr({ "ct:value": j.normalized.series[f], "ct:meta": b.serialize(e.meta) }), a.donut && !a.donutSolid && (y._node.style.strokeWidth = m.value + "px"), this.eventEmitter.emit("draw", { type: "slice", value: j.normalized.series[f], totalDataSum: i, index: f, meta: e.meta, series: e, group: k[f], element: y, path: w.clone(), center: n, radius: g, startAngle: l, endAngle: p }), a.showLabel) { var z; z = 1 === j.raw.series.length ? { x: n.x, y: n.y } : b.polarToCartesian(n.x, n.y, h, l + (p - l) / 2); var A; A = j.normalized.labels && !b.isFalseyButZero(j.normalized.labels[f]) ? j.normalized.labels[f] : j.normalized.series[f]; var B = a.labelInterpolationFnc(A, f); if (B || 0 === B) { var C = d.elem("text", { dx: z.x, dy: z.y, "text-anchor": c(n, z, a.labelDirection) }, a.classNames.label).text("" + B); this.eventEmitter.emit("draw", { type: "label", index: f, group: d, element: C, text: "" + B, x: z.x, y: z.y }) } } l = p } }.bind(this)), this.eventEmitter.emit("created", { chartRect: e, svg: this.svg, options: a }) } function e(a, c, d, e) { b.Pie["super"].constructor.call(this, a, c, f, b.extend({}, f, d), e) } var f = (a.window, a.document, { width: void 0, height: void 0, chartPadding: 5, classNames: { chartPie: "ct-chart-pie", chartDonut: "ct-chart-donut", series: "ct-series", slicePie: "ct-slice-pie", sliceDonut: "ct-slice-donut", sliceDonutSolid: "ct-slice-donut-solid", label: "ct-label" }, startAngle: 0, total: void 0, donut: !1, donutSolid: !1, donutWidth: 60, showLabel: !0, labelOffset: 0, labelPosition: "inside", labelInterpolationFnc: b.noop, labelDirection: "neutral", reverseData: !1, ignoreEmptyValues: !1 }); b.Pie = b.Base.extend({ constructor: e, createChart: d, determineAnchorPosition: c }) }(this || global, a), a +}); +//# sourceMappingURL=chartist.min.js.map + +var i, l, selectedLine = null; + +/* Navigate to hash without browser history entry */ +var navigateToHash = function () { + if (window.history !== undefined && window.history.replaceState !== undefined) { + window.history.replaceState(undefined, undefined, this.getAttribute("href")); + } +}; + +var hashLinks = document.getElementsByClassName('navigatetohash'); +for (i = 0, l = hashLinks.length; i < l; i++) { + hashLinks[i].addEventListener('click', navigateToHash); +} + +/* Switch test method */ +var switchTestMethod = function () { + var method = this.getAttribute("value"); + console.log("Selected test method: " + method); + + var lines, i, l, coverageData, lineAnalysis, cells; + + lines = document.querySelectorAll('.lineAnalysis tr'); + + for (i = 1, l = lines.length; i < l; i++) { + coverageData = JSON.parse(lines[i].getAttribute('data-coverage').replace(/'/g, '"')); + lineAnalysis = coverageData[method]; + cells = lines[i].querySelectorAll('td'); + if (lineAnalysis === undefined) { + lineAnalysis = coverageData.AllTestMethods; + if (lineAnalysis.LVS !== 'gray') { + cells[0].setAttribute('class', 'red'); + cells[1].innerText = cells[1].textContent = '0'; + cells[4].setAttribute('class', 'lightred'); + } + } else { + cells[0].setAttribute('class', lineAnalysis.LVS); + cells[1].innerText = cells[1].textContent = lineAnalysis.VC; + cells[4].setAttribute('class', 'light' + lineAnalysis.LVS); + } + } +}; + +var testMethods = document.getElementsByClassName('switchtestmethod'); +for (i = 0, l = testMethods.length; i < l; i++) { + testMethods[i].addEventListener('change', switchTestMethod); +} + +/* Highlight test method by line */ +var toggleLine = function () { + if (selectedLine === this) { + selectedLine = null; + } else { + selectedLine = null; + unhighlightTestMethods(); + highlightTestMethods.call(this); + selectedLine = this; + } + +}; +var highlightTestMethods = function () { + if (selectedLine !== null) { + return; + } + + var lineAnalysis; + var coverageData = JSON.parse(this.getAttribute('data-coverage').replace(/'/g, '"')); + var testMethods = document.getElementsByClassName('testmethod'); + + for (i = 0, l = testMethods.length; i < l; i++) { + lineAnalysis = coverageData[testMethods[i].id]; + if (lineAnalysis === undefined) { + testMethods[i].className = testMethods[i].className.replace(/\s*light.+/g, ""); + } else { + testMethods[i].className += ' light' + lineAnalysis.LVS; + } + } +}; +var unhighlightTestMethods = function () { + if (selectedLine !== null) { + return; + } + + var testMethods = document.getElementsByClassName('testmethod'); + for (i = 0, l = testMethods.length; i < l; i++) { + testMethods[i].className = testMethods[i].className.replace(/\s*light.+/g, ""); + } +}; +var coverableLines = document.getElementsByClassName('coverableline'); +for (i = 0, l = coverableLines.length; i < l; i++) { + coverableLines[i].addEventListener('click', toggleLine); + coverableLines[i].addEventListener('mouseenter', highlightTestMethods); + coverableLines[i].addEventListener('mouseleave', unhighlightTestMethods); +} + +/* History charts */ +var renderChart = function (chart) { + // Remove current children (e.g. PNG placeholder) + while (chart.firstChild) { + chart.firstChild.remove(); + } + + var chartData = window[chart.getAttribute('data-data')]; + var options = { + axisY: { + type: undefined, + onlyInteger: true + }, + lineSmooth: false, + low: 0, + high: 100, + scaleMinSpace: 20, + onlyInteger: true, + fullWidth: true + }; + var lineChart = new Chartist.Line(chart, { + labels: [], + series: chartData.series + }, options); + + /* Zoom */ + var zoomButtonDiv = document.createElement("div"); + zoomButtonDiv.className = "toggleZoom"; + var zoomButtonLink = document.createElement("a"); + zoomButtonLink.setAttribute("href", ""); + var zoomButtonText = document.createElement("i"); + zoomButtonText.className = "icon-search-plus"; + + zoomButtonLink.appendChild(zoomButtonText); + zoomButtonDiv.appendChild(zoomButtonLink); + + chart.appendChild(zoomButtonDiv); + + zoomButtonDiv.addEventListener('click', function (event) { + event.preventDefault(); + + if (options.axisY.type === undefined) { + options.axisY.type = Chartist.AutoScaleAxis; + zoomButtonText.className = "icon-search-minus"; + } else { + options.axisY.type = undefined; + zoomButtonText.className = "icon-search-plus"; + } + + lineChart.update(null, options); + }); + + var tooltip = document.createElement("div"); + tooltip.className = "tooltip"; + + chart.appendChild(tooltip); + + /* Tooltips */ + var showToolTip = function () { + var index = this.getAttribute('ct:meta'); + + tooltip.innerHTML = chartData.tooltips[index]; + tooltip.style.display = 'block'; + }; + + var moveToolTip = function (event) { + var box = chart.getBoundingClientRect(); + var left = event.pageX - box.left - window.pageXOffset; + var top = event.pageY - box.top - window.pageYOffset; + + left = left + 20; + top = top - tooltip.offsetHeight / 2; + + if (left + tooltip.offsetWidth > box.width) { + left -= tooltip.offsetWidth + 40; + } + + if (top < 0) { + top = 0; + } + + if (top + tooltip.offsetHeight > box.height) { + top = box.height - tooltip.offsetHeight; + } + + tooltip.style.left = left + 'px'; + tooltip.style.top = top + 'px'; + }; + + var hideToolTip = function () { + tooltip.style.display = 'none'; + }; + chart.addEventListener('mousemove', moveToolTip); + + lineChart.on('created', function () { + var chartPoints = chart.getElementsByClassName('ct-point'); + for (i = 0, l = chartPoints.length; i < l; i++) { + chartPoints[i].addEventListener('mousemove', showToolTip); + chartPoints[i].addEventListener('mouseout', hideToolTip); + } + }); +}; + +var charts = document.getElementsByClassName('historychart'); +for (i = 0, l = charts.length; i < l; i++) { + renderChart(charts[i]); +} \ No newline at end of file diff --git a/coveragereport/icon_cog.svg b/coveragereport/icon_cog.svg new file mode 100644 index 0000000..d730bf1 --- /dev/null +++ b/coveragereport/icon_cog.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/coveragereport/icon_cog_dark.svg b/coveragereport/icon_cog_dark.svg new file mode 100644 index 0000000..ccbcd9b --- /dev/null +++ b/coveragereport/icon_cog_dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/coveragereport/icon_cube.svg b/coveragereport/icon_cube.svg new file mode 100644 index 0000000..3302443 --- /dev/null +++ b/coveragereport/icon_cube.svg @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/coveragereport/icon_cube_dark.svg b/coveragereport/icon_cube_dark.svg new file mode 100644 index 0000000..3e7f0fa --- /dev/null +++ b/coveragereport/icon_cube_dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/coveragereport/icon_down-dir_active.svg b/coveragereport/icon_down-dir_active.svg new file mode 100644 index 0000000..d11cf04 --- /dev/null +++ b/coveragereport/icon_down-dir_active.svg @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/coveragereport/icon_down-dir_active_dark.svg b/coveragereport/icon_down-dir_active_dark.svg new file mode 100644 index 0000000..fa34aeb --- /dev/null +++ b/coveragereport/icon_down-dir_active_dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/coveragereport/icon_fork.svg b/coveragereport/icon_fork.svg new file mode 100644 index 0000000..f0148b3 --- /dev/null +++ b/coveragereport/icon_fork.svg @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/coveragereport/icon_fork_dark.svg b/coveragereport/icon_fork_dark.svg new file mode 100644 index 0000000..11930c9 --- /dev/null +++ b/coveragereport/icon_fork_dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/coveragereport/icon_info-circled.svg b/coveragereport/icon_info-circled.svg new file mode 100644 index 0000000..252166b --- /dev/null +++ b/coveragereport/icon_info-circled.svg @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/coveragereport/icon_info-circled_dark.svg b/coveragereport/icon_info-circled_dark.svg new file mode 100644 index 0000000..252166b --- /dev/null +++ b/coveragereport/icon_info-circled_dark.svg @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/coveragereport/icon_minus.svg b/coveragereport/icon_minus.svg new file mode 100644 index 0000000..3c30c36 --- /dev/null +++ b/coveragereport/icon_minus.svg @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/coveragereport/icon_minus_dark.svg b/coveragereport/icon_minus_dark.svg new file mode 100644 index 0000000..2516b6f --- /dev/null +++ b/coveragereport/icon_minus_dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/coveragereport/icon_plus.svg b/coveragereport/icon_plus.svg new file mode 100644 index 0000000..7932723 --- /dev/null +++ b/coveragereport/icon_plus.svg @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/coveragereport/icon_plus_dark.svg b/coveragereport/icon_plus_dark.svg new file mode 100644 index 0000000..6ed4edd --- /dev/null +++ b/coveragereport/icon_plus_dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/coveragereport/icon_search-minus.svg b/coveragereport/icon_search-minus.svg new file mode 100644 index 0000000..c174eb5 --- /dev/null +++ b/coveragereport/icon_search-minus.svg @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/coveragereport/icon_search-minus_dark.svg b/coveragereport/icon_search-minus_dark.svg new file mode 100644 index 0000000..9caaffb --- /dev/null +++ b/coveragereport/icon_search-minus_dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/coveragereport/icon_search-plus.svg b/coveragereport/icon_search-plus.svg new file mode 100644 index 0000000..04b24ec --- /dev/null +++ b/coveragereport/icon_search-plus.svg @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/coveragereport/icon_search-plus_dark.svg b/coveragereport/icon_search-plus_dark.svg new file mode 100644 index 0000000..5324194 --- /dev/null +++ b/coveragereport/icon_search-plus_dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/coveragereport/icon_sponsor.svg b/coveragereport/icon_sponsor.svg new file mode 100644 index 0000000..bf6d959 --- /dev/null +++ b/coveragereport/icon_sponsor.svg @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/coveragereport/icon_star.svg b/coveragereport/icon_star.svg new file mode 100644 index 0000000..b23c54e --- /dev/null +++ b/coveragereport/icon_star.svg @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/coveragereport/icon_star_dark.svg b/coveragereport/icon_star_dark.svg new file mode 100644 index 0000000..49c0d03 --- /dev/null +++ b/coveragereport/icon_star_dark.svg @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/coveragereport/icon_up-dir.svg b/coveragereport/icon_up-dir.svg new file mode 100644 index 0000000..567c11f --- /dev/null +++ b/coveragereport/icon_up-dir.svg @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/coveragereport/icon_up-dir_active.svg b/coveragereport/icon_up-dir_active.svg new file mode 100644 index 0000000..bb22554 --- /dev/null +++ b/coveragereport/icon_up-dir_active.svg @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/coveragereport/icon_wrench.svg b/coveragereport/icon_wrench.svg new file mode 100644 index 0000000..b6aa318 --- /dev/null +++ b/coveragereport/icon_wrench.svg @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/coveragereport/icon_wrench_dark.svg b/coveragereport/icon_wrench_dark.svg new file mode 100644 index 0000000..5c77a9c --- /dev/null +++ b/coveragereport/icon_wrench_dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/coveragereport/index.htm b/coveragereport/index.htm new file mode 100644 index 0000000..5cdafcd --- /dev/null +++ b/coveragereport/index.htm @@ -0,0 +1,420 @@ + + + + + + + +Summary - Coverage Report + +
+

SummaryStarSponsor

+
+
+
Information
+
+
+ + + + + + + + + + + + + + + + + +
Parser:DynamicCodeCoverage
Assemblies:2
Classes:236
Files:224
+
+
+
+
+
Line coverage
+
+
36%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:4812
Uncovered lines:8354
Coverable lines:13166
Total lines:26871
Line coverage:36.5%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+
+ +++++ + + + + +
MethodBlocks covered Blocks not covered
Total1352818316
+
+ + +

Coverage

+ +
+ +++++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Line coverage
NameCoveredUncoveredCoverableTotalPercentage
chemistry cafe api.dll22772172494449991.2%
  
Chemistry_Cafe_API.Controllers.FamilyController1901957100%
 
Chemistry_Cafe_API.Controllers.FamilyTagMechListController1901957100%
 
Chemistry_Cafe_API.Controllers.FamilyTagMechListVersionController1901957100%
 
Chemistry_Cafe_API.Controllers.OpenAtmosController1001037100%
 
Chemistry_Cafe_API.Controllers.PropertyListController193226486.3%
  
Chemistry_Cafe_API.Controllers.PropertyTypeController193226486.3%
  
Chemistry_Cafe_API.Controllers.PropertyVersionController1901957100%
 
Chemistry_Cafe_API.Controllers.ReactantProductListController02525720%
 
Chemistry_Cafe_API.Controllers.ReactionController196257276%
  
Chemistry_Cafe_API.Controllers.SpeciesController193226486.3%
  
Chemistry_Cafe_API.Controllers.TagMechanismController2202263100%
 
Chemistry_Cafe_API.Controllers.TagMechanismReactionListController1901957100%
 
Chemistry_Cafe_API.Controllers.TagMechanismReactionListVersionController1901957100%
 
Chemistry_Cafe_API.Controllers.TagMechanismSpeciesListController1901957100%
 
Chemistry_Cafe_API.Controllers.TagMechanismSpeciesListVersionController1901957100%
 
Chemistry_Cafe_API.Controllers.UserController1901957100%
 
Chemistry_Cafe_API.Controllers.UserPreferencesController1901957100%
 
Chemistry_Cafe_API.Models.DeleteReactantProductList02280%
 
Chemistry_Cafe_API.Models.Family40410100%
 
Chemistry_Cafe_API.Models.FamilyTagMechList50511100%
 
Chemistry_Cafe_API.Models.FamilyTagMechListVersion80814100%
 
Chemistry_Cafe_API.Models.Property211222895.4%
  
Chemistry_Cafe_API.Models.PropertyList40410100%
 
Chemistry_Cafe_API.Models.PropertyType50511100%
 
Chemistry_Cafe_API.Models.PropertyVersion1301319100%
 
Chemistry_Cafe_API.Models.ReactantProductList044100%
 
Chemistry_Cafe_API.Models.ReactantsProducts50511100%
 
Chemistry_Cafe_API.Models.Reaction60612100%
 
Chemistry_Cafe_API.Models.Species3039100%
 
Chemistry_Cafe_API.Models.TagMechanism3039100%
 
Chemistry_Cafe_API.Models.TagMechanismReactionList50511100%
 
Chemistry_Cafe_API.Models.TagMechanismReactionListVersion80814100%
 
Chemistry_Cafe_API.Models.TagMechanismSpeciesList50511100%
 
Chemistry_Cafe_API.Models.TagMechanismSpeciesListVersion80814100%
 
Chemistry_Cafe_API.Models.User3039100%
 
Chemistry_Cafe_API.Models.UserPreferences40410100%
 
Chemistry_Cafe_API.Services.FamilyService70070109100%
 
Chemistry_Cafe_API.Services.FamilyTagMechListService6406498100%
 
Chemistry_Cafe_API.Services.FamilyTagMechListVersionService73073107100%
 
Chemistry_Cafe_API.Services.OpenAtmosService1946425831175.1%
  
Chemistry_Cafe_API.Services.PropertyListService121913017193%
  
Chemistry_Cafe_API.Services.PropertyTypeService7177812091%
  
Chemistry_Cafe_API.Services.PropertyVersionService98910714291.5%
  
Chemistry_Cafe_API.Services.ReactantProductListService36609614137.5%
  
Chemistry_Cafe_API.Services.ReactionService1420142203100%
 
Chemistry_Cafe_API.Services.SpeciesService65065104100%
 
Chemistry_Cafe_API.Services.TagMechanismReactionListService6406498100%
 
Chemistry_Cafe_API.Services.TagMechanismReactionListVersionService73073107100%
 
Chemistry_Cafe_API.Services.TagMechanismService65065104100%
 
Chemistry_Cafe_API.Services.TagMechanismSpeciesListService6406498100%
 
Chemistry_Cafe_API.Services.TagMechanismSpeciesListVersionService73073107100%
 
Chemistry_Cafe_API.Services.UserPreferencesService6106196100%
 
Chemistry_Cafe_API.Services.UserService5805893100%
 
Chemistry_Cafe_API.Tests.DBConnection1019100%
 
Chemistry_Cafe_API.Tests.FamilyControllerTests1801850100%
 
Chemistry_Cafe_API.Tests.FamilyTagMechListControllerTests3203266100%
 
Chemistry_Cafe_API.Tests.FamilyTagMechListVersionControllerTests3903972100%
 
Chemistry_Cafe_API.Tests.OpenAtmosControllerTests1101134100%
 
Chemistry_Cafe_API.Tests.PropertyListControllerTests3103163100%
 
Chemistry_Cafe_API.Tests.PropertyTypeControllerTests3303365100%
 
Chemistry_Cafe_API.Tests.PropertyVersionControllerTests3803870100%
 
Chemistry_Cafe_API.Tests.ReactionControllerTests1901949100%
 
Chemistry_Cafe_API.Tests.SpeciesControllerTests2202255100%
 
Chemistry_Cafe_API.Tests.TagMechanismControllerTests2802867100%
 
Chemistry_Cafe_API.Tests.TagMechanismReactionListControllerTests3603671100%
 
Chemistry_Cafe_API.Tests.TagMechanismReactionListVersionControllerTests4204277100%
 
Chemistry_Cafe_API.Tests.TagMechanismSpeciesListControllerTests3603671100%
 
Chemistry_Cafe_API.Tests.TagMechanismSpeciesListVersionControllerTests3903977100%
 
Chemistry_Cafe_API.Tests.UserControllerTests2202255100%
 
Chemistry_Cafe_API.Tests.UserPreferencesControllerTests3003062100%
 
Program02121400%
 
mysqlconnector.dll25358137106723336323.7%
  
MySqlConnector.Authentication.AuthenticationPlugins01010400%
 
MySqlConnector.ColumnReaders.BinaryBooleanColumnReader044190%
 
MySqlConnector.ColumnReaders.BinaryDateTimeColumnReader02828620%
 
MySqlConnector.ColumnReaders.BinaryDoubleColumnReader022120%
 
MySqlConnector.ColumnReaders.BinaryFloatColumnReader022120%
 
MySqlConnector.ColumnReaders.BinarySignedInt16ColumnReader044200%
 
MySqlConnector.ColumnReaders.BinarySignedInt32ColumnReader044200%
 
MySqlConnector.ColumnReaders.BinarySignedInt64ColumnReader044200%
 
MySqlConnector.ColumnReaders.BinarySignedInt8ColumnReader044190%
 
MySqlConnector.ColumnReaders.BinaryTimeColumnReader01616330%
 
MySqlConnector.ColumnReaders.BinaryUnsignedInt16ColumnReader044200%
 
MySqlConnector.ColumnReaders.BinaryUnsignedInt32ColumnReader044200%
 
MySqlConnector.ColumnReaders.BinaryUnsignedInt64ColumnReader044200%
 
MySqlConnector.ColumnReaders.BinaryUnsignedInt8ColumnReader044190%
 
MySqlConnector.ColumnReaders.BinaryYearColumnReader044200%
 
MySqlConnector.ColumnReaders.BitColumnReader01111370%
 
MySqlConnector.ColumnReaders.BytesColumnReader022110%
 
MySqlConnector.ColumnReaders.ColumnReader24355912540.6%
  
MySqlConnector.ColumnReaders.DecimalColumnReader044200%
 
MySqlConnector.ColumnReaders.GuidBinary16ColumnReader033200%
 
MySqlConnector.ColumnReaders.GuidChar32ColumnReader033150%
 
MySqlConnector.ColumnReaders.GuidChar36ColumnReader033150%
 
MySqlConnector.ColumnReaders.GuidLittleEndianBinary16ColumnReader033170%
 
MySqlConnector.ColumnReaders.GuidTimeSwapBinary16ColumnReader033200%
 
MySqlConnector.ColumnReaders.NullColumnReader022110%
 
MySqlConnector.ColumnReaders.StringColumnReader20213100%
 
MySqlConnector.ColumnReaders.TextBooleanColumnReader044190%
 
MySqlConnector.ColumnReaders.TextDateTimeColumnReader2517429559.5%
  
MySqlConnector.ColumnReaders.TextDoubleColumnReader19102310%
  
MySqlConnector.ColumnReaders.TextFloatColumnReader37102330%
  
MySqlConnector.ColumnReaders.TextSignedInt16ColumnReader044200%
 
MySqlConnector.ColumnReaders.TextSignedInt32ColumnReader3142075%
  
MySqlConnector.ColumnReaders.TextSignedInt64ColumnReader044200%
 
MySqlConnector.ColumnReaders.TextSignedInt8ColumnReader3142075%
  
MySqlConnector.ColumnReaders.TextTimeColumnReader022120%
 
MySqlConnector.ColumnReaders.TextUnsignedInt16ColumnReader044200%
 
MySqlConnector.ColumnReaders.TextUnsignedInt32ColumnReader044180%
 
MySqlConnector.ColumnReaders.TextUnsignedInt64ColumnReader044200%
 
MySqlConnector.ColumnReaders.TextUnsignedInt8ColumnReader044200%
 
MySqlConnector.Core.CachedParameter01919260%
 
MySqlConnector.Core.CachedProcedure01551552680%
 
MySqlConnector.Core.ColumnTypeMetadata1201218100%
 
MySqlConnector.Core.CommandExecutor1916357954.2%
  
MySqlConnector.Core.CommandListPosition1701729100%
 
MySqlConnector.Core.ConcatenatedCommandPayloadCreator01616430%
 
MySqlConnector.Core.ConnectionPool14423237682238.2%
  
MySqlConnector.Core.ConnectionSettings11111322433049.5%
  
MySqlConnector.Core.DataReaderValuesEnumerator066370%
 
MySqlConnector.Core.DataRowsValuesEnumerator01313630%
 
MySqlConnector.Core.DbDataReaderValuesEnumerator055240%
 
MySqlConnector.Core.DbTypeMapping3361550%
  
MySqlConnector.Core.EnlistedTransactionBase02828590%
 
MySqlConnector.Core.FailOverLoadBalancer40421100%
 
MySqlConnector.Core.ICancellableCommandExtensions166229272.7%
  
MySqlConnector.Core.IMySqlCommandExtensions175225477.2%
  
MySqlConnector.Core.MetricsReporter353386092.1%
  
MySqlConnector.Core.NormalizedSchema027271080%
 
MySqlConnector.Core.ParsedStatement044310%
 
MySqlConnector.Core.ParsedStatements066190%
 
MySqlConnector.Core.PreparedStatement055140%
 
MySqlConnector.Core.PreparedStatements055120%
 
MySqlConnector.Core.RandomLoadBalancer01111480%
 
MySqlConnector.Core.ResultSet979719437450%
  
MySqlConnector.Core.RoundRobinLoadBalancer099680%
 
MySqlConnector.Core.Row7222729949924%
  
MySqlConnector.Core.SchemaProvider01193119314630%
 
MySqlConnector.Core.ServerSession3316881019377032.4%
  
MySqlConnector.Core.ServerVersion263296089.6%
  
MySqlConnector.Core.ServerVersions60622100%
 
MySqlConnector.Core.SingleCommandPayloadCreator2511814327217.4%
  
MySqlConnector.Core.SqlParser748315734647.1%
  
MySqlConnector.Core.StandardEnlistedTransaction02727480%
 
MySqlConnector.Core.StatementPreparer31437415241.8%
  
MySqlConnector.Core.TypeMapper1009919935050.2%
  
MySqlConnector.Core.XaEnlistedTransaction02121520%
 
MySqlConnector.Logging.ConsoleLoggerProvider05353830%
 
MySqlConnector.Logging.Log3882486221244.4%
  
MySqlConnector.Logging.MySqlConnectorLoggingConfiguration80816100%
 
MySqlConnector.Logging.MySqlConnectorLogManager02020620%
 
MySqlConnector.Logging.NoOpLogger033250%
 
MySqlConnector.Logging.NoOpLoggerProvider011120%
 
MySqlConnector.MySqlAttribute01010410%
 
MySqlConnector.MySqlAttributeCollection02121960%
 
MySqlConnector.MySqlBatch01381384130%
 
MySqlConnector.MySqlBatchCommand02626930%
 
MySqlConnector.MySqlBatchCommandCollection01818540%
 
MySqlConnector.MySqlBulkCopy02942947050%
 
MySqlConnector.MySqlBulkCopyColumnMapping066610%
 
MySqlConnector.MySqlBulkCopyResult066240%
 
MySqlConnector.MySqlBulkLoader01201203240%
 
MySqlConnector.MySqlCommand8111019146442.4%
  
MySqlConnector.MySqlCommandBuilder051511030%
 
MySqlConnector.MySqlConnection110379489112622.4%
  
MySqlConnector.MySqlConnectionStringBuilder737614988648.9%
  
MySqlConnector.MySqlConnectionStringOption2281229136399.5%
 
MySqlConnector.MySqlConnectionStringReferenceOption<T>819138088.8%
  
MySqlConnector.MySqlConnectionStringValueOption<T>111223135347.8%
  
MySqlConnector.MySqlConnectorFactory016161030%
 
MySqlConnector.MySqlConversionException044270%
 
MySqlConnector.MySqlDataAdapter01101102370%
 
MySqlConnector.MySqlDataReader9229338569423.8%
  
MySqlConnector.MySqlDataSource35498421241.6%
  
MySqlConnector.MySqlDataSourceBuilder026261130%
 
MySqlConnector.MySqlDateTime074742030%
 
MySqlConnector.MySqlDbColumn03737540%
 
MySqlConnector.MySqlDecimal01313500%
 
MySqlConnector.MySqlEndOfStreamException066150%
 
MySqlConnector.MySqlError01010380%
 
MySqlConnector.MySqlException041411290%
 
MySqlConnector.MySqlGeometry01010520%
 
MySqlConnector.MySqlHelper01313380%
 
MySqlConnector.MySqlInfoMessageEventArgs022140%
 
MySqlConnector.MySqlParameter9437246695020.1%
  
MySqlConnector.MySqlParameterCollection227810020522%
  
MySqlConnector.MySqlProtocolException055320%
 
MySqlConnector.MySqlProvidePasswordContext01010350%
 
MySqlConnector.MySqlRowsCopiedEventArgs044180%
 
MySqlConnector.MySqlRowUpdatedEventArgs0332680%
 
MySqlConnector.MySqlRowUpdatingEventArgs0332580%
 
MySqlConnector.MySqlTransaction079792950%
 
MySqlConnector.Protocol.PayloadData1001025100%
 
MySqlConnector.Protocol.Payloads.AuthenticationMethodSwitchRequestPayload01313400%
 
MySqlConnector.Protocol.Payloads.AuthenticationMoreDataPayload055190%
 
MySqlConnector.Protocol.Payloads.CachingSha2ServerResponsePayload01111320%
 
MySqlConnector.Protocol.Payloads.ChangeUserPayload01212230%
 
MySqlConnector.Protocol.Payloads.ColumnCountPayload90927100%
 
MySqlConnector.Protocol.Payloads.ColumnDefinitionPayload31346513747.6%
  
MySqlConnector.Protocol.Payloads.EmptyPayload01160%
 
MySqlConnector.Protocol.Payloads.EofPayload01515420%
 
MySqlConnector.Protocol.Payloads.ErrorPayload01818450%
 
MySqlConnector.Protocol.Payloads.HandshakeResponse41Payload431447797.7%
  
MySqlConnector.Protocol.Payloads.InitDatabasePayload044150%
 
MySqlConnector.Protocol.Payloads.InitialHandshakePayload402427095.2%
  
MySqlConnector.Protocol.Payloads.LocalInfilePayload077260%
 
MySqlConnector.Protocol.Payloads.OkPayload5055514090.9%
  
MySqlConnector.Protocol.Payloads.PingPayload01160%
 
MySqlConnector.Protocol.Payloads.QueryPayload60613100%
 
MySqlConnector.Protocol.Payloads.QuitPayload01160%
 
MySqlConnector.Protocol.Payloads.ResetConnectionPayload01160%
 
MySqlConnector.Protocol.Payloads.StatementPrepareResponsePayload01515300%
 
MySqlConnector.Protocol.Serialization.ArraySegmentHolder<T>4372157.1%
  
MySqlConnector.Protocol.Serialization.AuthenticationUtility14183210843.7%
  
MySqlConnector.Protocol.Serialization.AuthGSSAPI014142350%
 
MySqlConnector.Protocol.Serialization.BufferedByteReader177245470.8%
  
MySqlConnector.Protocol.Serialization.ByteArrayReader69198818078.4%
  
MySqlConnector.Protocol.Serialization.ByteBufferWriter458012524236%
  
MySqlConnector.Protocol.Serialization.ByteBufferWriterExtensions10112129447.6%
  
MySqlConnector.Protocol.Serialization.CompressedPayloadHandler099992690%
 
MySqlConnector.Protocol.Serialization.NegotiateToMySqlConverterStream083832000%
 
MySqlConnector.Protocol.Serialization.Packet30311100%
 
MySqlConnector.Protocol.Serialization.ProtocolUtility29204950159.1%
  
MySqlConnector.Protocol.Serialization.SerializationUtility80821100%
 
MySqlConnector.Protocol.Serialization.SocketByteHandler26234913653%
  
MySqlConnector.Protocol.Serialization.StandardPayloadHandler163195784.2%
  
MySqlConnector.Protocol.Serialization.StreamByteHandler23275010746%
  
MySqlConnector.Utilities.ActivitySourceHelper812206540%
  
MySqlConnector.Utilities.ResizableArray<T>60622100%
 
MySqlConnector.Utilities.ResizableArraySegment<T>40414100%
 
MySqlConnector.Utilities.SocketExtensions3477242.8%
  
MySqlConnector.Utilities.TimerQueue46115713280.7%
  
MySqlConnector.Utilities.Utility141381526849.2%
  
MySqlConnector.Utilities.ValueTaskExtensions022190%
 
System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__NameRegex_002882888900%
 
System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__TlsVersionsRegex_1014214212770%
 
System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Utilities0414113810%
 
+
+
+
+ + \ No newline at end of file diff --git a/coveragereport/index.html b/coveragereport/index.html new file mode 100644 index 0000000..5cdafcd --- /dev/null +++ b/coveragereport/index.html @@ -0,0 +1,420 @@ + + + + + + + +Summary - Coverage Report + +
+

SummaryStarSponsor

+
+
+
Information
+
+
+ + + + + + + + + + + + + + + + + +
Parser:DynamicCodeCoverage
Assemblies:2
Classes:236
Files:224
+
+
+
+
+
Line coverage
+
+
36%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:4812
Uncovered lines:8354
Coverable lines:13166
Total lines:26871
Line coverage:36.5%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+
+ +++++ + + + + +
MethodBlocks covered Blocks not covered
Total1352818316
+
+ + +

Coverage

+ +
+ +++++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Line coverage
NameCoveredUncoveredCoverableTotalPercentage
chemistry cafe api.dll22772172494449991.2%
  
Chemistry_Cafe_API.Controllers.FamilyController1901957100%
 
Chemistry_Cafe_API.Controllers.FamilyTagMechListController1901957100%
 
Chemistry_Cafe_API.Controllers.FamilyTagMechListVersionController1901957100%
 
Chemistry_Cafe_API.Controllers.OpenAtmosController1001037100%
 
Chemistry_Cafe_API.Controllers.PropertyListController193226486.3%
  
Chemistry_Cafe_API.Controllers.PropertyTypeController193226486.3%
  
Chemistry_Cafe_API.Controllers.PropertyVersionController1901957100%
 
Chemistry_Cafe_API.Controllers.ReactantProductListController02525720%
 
Chemistry_Cafe_API.Controllers.ReactionController196257276%
  
Chemistry_Cafe_API.Controllers.SpeciesController193226486.3%
  
Chemistry_Cafe_API.Controllers.TagMechanismController2202263100%
 
Chemistry_Cafe_API.Controllers.TagMechanismReactionListController1901957100%
 
Chemistry_Cafe_API.Controllers.TagMechanismReactionListVersionController1901957100%
 
Chemistry_Cafe_API.Controllers.TagMechanismSpeciesListController1901957100%
 
Chemistry_Cafe_API.Controllers.TagMechanismSpeciesListVersionController1901957100%
 
Chemistry_Cafe_API.Controllers.UserController1901957100%
 
Chemistry_Cafe_API.Controllers.UserPreferencesController1901957100%
 
Chemistry_Cafe_API.Models.DeleteReactantProductList02280%
 
Chemistry_Cafe_API.Models.Family40410100%
 
Chemistry_Cafe_API.Models.FamilyTagMechList50511100%
 
Chemistry_Cafe_API.Models.FamilyTagMechListVersion80814100%
 
Chemistry_Cafe_API.Models.Property211222895.4%
  
Chemistry_Cafe_API.Models.PropertyList40410100%
 
Chemistry_Cafe_API.Models.PropertyType50511100%
 
Chemistry_Cafe_API.Models.PropertyVersion1301319100%
 
Chemistry_Cafe_API.Models.ReactantProductList044100%
 
Chemistry_Cafe_API.Models.ReactantsProducts50511100%
 
Chemistry_Cafe_API.Models.Reaction60612100%
 
Chemistry_Cafe_API.Models.Species3039100%
 
Chemistry_Cafe_API.Models.TagMechanism3039100%
 
Chemistry_Cafe_API.Models.TagMechanismReactionList50511100%
 
Chemistry_Cafe_API.Models.TagMechanismReactionListVersion80814100%
 
Chemistry_Cafe_API.Models.TagMechanismSpeciesList50511100%
 
Chemistry_Cafe_API.Models.TagMechanismSpeciesListVersion80814100%
 
Chemistry_Cafe_API.Models.User3039100%
 
Chemistry_Cafe_API.Models.UserPreferences40410100%
 
Chemistry_Cafe_API.Services.FamilyService70070109100%
 
Chemistry_Cafe_API.Services.FamilyTagMechListService6406498100%
 
Chemistry_Cafe_API.Services.FamilyTagMechListVersionService73073107100%
 
Chemistry_Cafe_API.Services.OpenAtmosService1946425831175.1%
  
Chemistry_Cafe_API.Services.PropertyListService121913017193%
  
Chemistry_Cafe_API.Services.PropertyTypeService7177812091%
  
Chemistry_Cafe_API.Services.PropertyVersionService98910714291.5%
  
Chemistry_Cafe_API.Services.ReactantProductListService36609614137.5%
  
Chemistry_Cafe_API.Services.ReactionService1420142203100%
 
Chemistry_Cafe_API.Services.SpeciesService65065104100%
 
Chemistry_Cafe_API.Services.TagMechanismReactionListService6406498100%
 
Chemistry_Cafe_API.Services.TagMechanismReactionListVersionService73073107100%
 
Chemistry_Cafe_API.Services.TagMechanismService65065104100%
 
Chemistry_Cafe_API.Services.TagMechanismSpeciesListService6406498100%
 
Chemistry_Cafe_API.Services.TagMechanismSpeciesListVersionService73073107100%
 
Chemistry_Cafe_API.Services.UserPreferencesService6106196100%
 
Chemistry_Cafe_API.Services.UserService5805893100%
 
Chemistry_Cafe_API.Tests.DBConnection1019100%
 
Chemistry_Cafe_API.Tests.FamilyControllerTests1801850100%
 
Chemistry_Cafe_API.Tests.FamilyTagMechListControllerTests3203266100%
 
Chemistry_Cafe_API.Tests.FamilyTagMechListVersionControllerTests3903972100%
 
Chemistry_Cafe_API.Tests.OpenAtmosControllerTests1101134100%
 
Chemistry_Cafe_API.Tests.PropertyListControllerTests3103163100%
 
Chemistry_Cafe_API.Tests.PropertyTypeControllerTests3303365100%
 
Chemistry_Cafe_API.Tests.PropertyVersionControllerTests3803870100%
 
Chemistry_Cafe_API.Tests.ReactionControllerTests1901949100%
 
Chemistry_Cafe_API.Tests.SpeciesControllerTests2202255100%
 
Chemistry_Cafe_API.Tests.TagMechanismControllerTests2802867100%
 
Chemistry_Cafe_API.Tests.TagMechanismReactionListControllerTests3603671100%
 
Chemistry_Cafe_API.Tests.TagMechanismReactionListVersionControllerTests4204277100%
 
Chemistry_Cafe_API.Tests.TagMechanismSpeciesListControllerTests3603671100%
 
Chemistry_Cafe_API.Tests.TagMechanismSpeciesListVersionControllerTests3903977100%
 
Chemistry_Cafe_API.Tests.UserControllerTests2202255100%
 
Chemistry_Cafe_API.Tests.UserPreferencesControllerTests3003062100%
 
Program02121400%
 
mysqlconnector.dll25358137106723336323.7%
  
MySqlConnector.Authentication.AuthenticationPlugins01010400%
 
MySqlConnector.ColumnReaders.BinaryBooleanColumnReader044190%
 
MySqlConnector.ColumnReaders.BinaryDateTimeColumnReader02828620%
 
MySqlConnector.ColumnReaders.BinaryDoubleColumnReader022120%
 
MySqlConnector.ColumnReaders.BinaryFloatColumnReader022120%
 
MySqlConnector.ColumnReaders.BinarySignedInt16ColumnReader044200%
 
MySqlConnector.ColumnReaders.BinarySignedInt32ColumnReader044200%
 
MySqlConnector.ColumnReaders.BinarySignedInt64ColumnReader044200%
 
MySqlConnector.ColumnReaders.BinarySignedInt8ColumnReader044190%
 
MySqlConnector.ColumnReaders.BinaryTimeColumnReader01616330%
 
MySqlConnector.ColumnReaders.BinaryUnsignedInt16ColumnReader044200%
 
MySqlConnector.ColumnReaders.BinaryUnsignedInt32ColumnReader044200%
 
MySqlConnector.ColumnReaders.BinaryUnsignedInt64ColumnReader044200%
 
MySqlConnector.ColumnReaders.BinaryUnsignedInt8ColumnReader044190%
 
MySqlConnector.ColumnReaders.BinaryYearColumnReader044200%
 
MySqlConnector.ColumnReaders.BitColumnReader01111370%
 
MySqlConnector.ColumnReaders.BytesColumnReader022110%
 
MySqlConnector.ColumnReaders.ColumnReader24355912540.6%
  
MySqlConnector.ColumnReaders.DecimalColumnReader044200%
 
MySqlConnector.ColumnReaders.GuidBinary16ColumnReader033200%
 
MySqlConnector.ColumnReaders.GuidChar32ColumnReader033150%
 
MySqlConnector.ColumnReaders.GuidChar36ColumnReader033150%
 
MySqlConnector.ColumnReaders.GuidLittleEndianBinary16ColumnReader033170%
 
MySqlConnector.ColumnReaders.GuidTimeSwapBinary16ColumnReader033200%
 
MySqlConnector.ColumnReaders.NullColumnReader022110%
 
MySqlConnector.ColumnReaders.StringColumnReader20213100%
 
MySqlConnector.ColumnReaders.TextBooleanColumnReader044190%
 
MySqlConnector.ColumnReaders.TextDateTimeColumnReader2517429559.5%
  
MySqlConnector.ColumnReaders.TextDoubleColumnReader19102310%
  
MySqlConnector.ColumnReaders.TextFloatColumnReader37102330%
  
MySqlConnector.ColumnReaders.TextSignedInt16ColumnReader044200%
 
MySqlConnector.ColumnReaders.TextSignedInt32ColumnReader3142075%
  
MySqlConnector.ColumnReaders.TextSignedInt64ColumnReader044200%
 
MySqlConnector.ColumnReaders.TextSignedInt8ColumnReader3142075%
  
MySqlConnector.ColumnReaders.TextTimeColumnReader022120%
 
MySqlConnector.ColumnReaders.TextUnsignedInt16ColumnReader044200%
 
MySqlConnector.ColumnReaders.TextUnsignedInt32ColumnReader044180%
 
MySqlConnector.ColumnReaders.TextUnsignedInt64ColumnReader044200%
 
MySqlConnector.ColumnReaders.TextUnsignedInt8ColumnReader044200%
 
MySqlConnector.Core.CachedParameter01919260%
 
MySqlConnector.Core.CachedProcedure01551552680%
 
MySqlConnector.Core.ColumnTypeMetadata1201218100%
 
MySqlConnector.Core.CommandExecutor1916357954.2%
  
MySqlConnector.Core.CommandListPosition1701729100%
 
MySqlConnector.Core.ConcatenatedCommandPayloadCreator01616430%
 
MySqlConnector.Core.ConnectionPool14423237682238.2%
  
MySqlConnector.Core.ConnectionSettings11111322433049.5%
  
MySqlConnector.Core.DataReaderValuesEnumerator066370%
 
MySqlConnector.Core.DataRowsValuesEnumerator01313630%
 
MySqlConnector.Core.DbDataReaderValuesEnumerator055240%
 
MySqlConnector.Core.DbTypeMapping3361550%
  
MySqlConnector.Core.EnlistedTransactionBase02828590%
 
MySqlConnector.Core.FailOverLoadBalancer40421100%
 
MySqlConnector.Core.ICancellableCommandExtensions166229272.7%
  
MySqlConnector.Core.IMySqlCommandExtensions175225477.2%
  
MySqlConnector.Core.MetricsReporter353386092.1%
  
MySqlConnector.Core.NormalizedSchema027271080%
 
MySqlConnector.Core.ParsedStatement044310%
 
MySqlConnector.Core.ParsedStatements066190%
 
MySqlConnector.Core.PreparedStatement055140%
 
MySqlConnector.Core.PreparedStatements055120%
 
MySqlConnector.Core.RandomLoadBalancer01111480%
 
MySqlConnector.Core.ResultSet979719437450%
  
MySqlConnector.Core.RoundRobinLoadBalancer099680%
 
MySqlConnector.Core.Row7222729949924%
  
MySqlConnector.Core.SchemaProvider01193119314630%
 
MySqlConnector.Core.ServerSession3316881019377032.4%
  
MySqlConnector.Core.ServerVersion263296089.6%
  
MySqlConnector.Core.ServerVersions60622100%
 
MySqlConnector.Core.SingleCommandPayloadCreator2511814327217.4%
  
MySqlConnector.Core.SqlParser748315734647.1%
  
MySqlConnector.Core.StandardEnlistedTransaction02727480%
 
MySqlConnector.Core.StatementPreparer31437415241.8%
  
MySqlConnector.Core.TypeMapper1009919935050.2%
  
MySqlConnector.Core.XaEnlistedTransaction02121520%
 
MySqlConnector.Logging.ConsoleLoggerProvider05353830%
 
MySqlConnector.Logging.Log3882486221244.4%
  
MySqlConnector.Logging.MySqlConnectorLoggingConfiguration80816100%
 
MySqlConnector.Logging.MySqlConnectorLogManager02020620%
 
MySqlConnector.Logging.NoOpLogger033250%
 
MySqlConnector.Logging.NoOpLoggerProvider011120%
 
MySqlConnector.MySqlAttribute01010410%
 
MySqlConnector.MySqlAttributeCollection02121960%
 
MySqlConnector.MySqlBatch01381384130%
 
MySqlConnector.MySqlBatchCommand02626930%
 
MySqlConnector.MySqlBatchCommandCollection01818540%
 
MySqlConnector.MySqlBulkCopy02942947050%
 
MySqlConnector.MySqlBulkCopyColumnMapping066610%
 
MySqlConnector.MySqlBulkCopyResult066240%
 
MySqlConnector.MySqlBulkLoader01201203240%
 
MySqlConnector.MySqlCommand8111019146442.4%
  
MySqlConnector.MySqlCommandBuilder051511030%
 
MySqlConnector.MySqlConnection110379489112622.4%
  
MySqlConnector.MySqlConnectionStringBuilder737614988648.9%
  
MySqlConnector.MySqlConnectionStringOption2281229136399.5%
 
MySqlConnector.MySqlConnectionStringReferenceOption<T>819138088.8%
  
MySqlConnector.MySqlConnectionStringValueOption<T>111223135347.8%
  
MySqlConnector.MySqlConnectorFactory016161030%
 
MySqlConnector.MySqlConversionException044270%
 
MySqlConnector.MySqlDataAdapter01101102370%
 
MySqlConnector.MySqlDataReader9229338569423.8%
  
MySqlConnector.MySqlDataSource35498421241.6%
  
MySqlConnector.MySqlDataSourceBuilder026261130%
 
MySqlConnector.MySqlDateTime074742030%
 
MySqlConnector.MySqlDbColumn03737540%
 
MySqlConnector.MySqlDecimal01313500%
 
MySqlConnector.MySqlEndOfStreamException066150%
 
MySqlConnector.MySqlError01010380%
 
MySqlConnector.MySqlException041411290%
 
MySqlConnector.MySqlGeometry01010520%
 
MySqlConnector.MySqlHelper01313380%
 
MySqlConnector.MySqlInfoMessageEventArgs022140%
 
MySqlConnector.MySqlParameter9437246695020.1%
  
MySqlConnector.MySqlParameterCollection227810020522%
  
MySqlConnector.MySqlProtocolException055320%
 
MySqlConnector.MySqlProvidePasswordContext01010350%
 
MySqlConnector.MySqlRowsCopiedEventArgs044180%
 
MySqlConnector.MySqlRowUpdatedEventArgs0332680%
 
MySqlConnector.MySqlRowUpdatingEventArgs0332580%
 
MySqlConnector.MySqlTransaction079792950%
 
MySqlConnector.Protocol.PayloadData1001025100%
 
MySqlConnector.Protocol.Payloads.AuthenticationMethodSwitchRequestPayload01313400%
 
MySqlConnector.Protocol.Payloads.AuthenticationMoreDataPayload055190%
 
MySqlConnector.Protocol.Payloads.CachingSha2ServerResponsePayload01111320%
 
MySqlConnector.Protocol.Payloads.ChangeUserPayload01212230%
 
MySqlConnector.Protocol.Payloads.ColumnCountPayload90927100%
 
MySqlConnector.Protocol.Payloads.ColumnDefinitionPayload31346513747.6%
  
MySqlConnector.Protocol.Payloads.EmptyPayload01160%
 
MySqlConnector.Protocol.Payloads.EofPayload01515420%
 
MySqlConnector.Protocol.Payloads.ErrorPayload01818450%
 
MySqlConnector.Protocol.Payloads.HandshakeResponse41Payload431447797.7%
  
MySqlConnector.Protocol.Payloads.InitDatabasePayload044150%
 
MySqlConnector.Protocol.Payloads.InitialHandshakePayload402427095.2%
  
MySqlConnector.Protocol.Payloads.LocalInfilePayload077260%
 
MySqlConnector.Protocol.Payloads.OkPayload5055514090.9%
  
MySqlConnector.Protocol.Payloads.PingPayload01160%
 
MySqlConnector.Protocol.Payloads.QueryPayload60613100%
 
MySqlConnector.Protocol.Payloads.QuitPayload01160%
 
MySqlConnector.Protocol.Payloads.ResetConnectionPayload01160%
 
MySqlConnector.Protocol.Payloads.StatementPrepareResponsePayload01515300%
 
MySqlConnector.Protocol.Serialization.ArraySegmentHolder<T>4372157.1%
  
MySqlConnector.Protocol.Serialization.AuthenticationUtility14183210843.7%
  
MySqlConnector.Protocol.Serialization.AuthGSSAPI014142350%
 
MySqlConnector.Protocol.Serialization.BufferedByteReader177245470.8%
  
MySqlConnector.Protocol.Serialization.ByteArrayReader69198818078.4%
  
MySqlConnector.Protocol.Serialization.ByteBufferWriter458012524236%
  
MySqlConnector.Protocol.Serialization.ByteBufferWriterExtensions10112129447.6%
  
MySqlConnector.Protocol.Serialization.CompressedPayloadHandler099992690%
 
MySqlConnector.Protocol.Serialization.NegotiateToMySqlConverterStream083832000%
 
MySqlConnector.Protocol.Serialization.Packet30311100%
 
MySqlConnector.Protocol.Serialization.ProtocolUtility29204950159.1%
  
MySqlConnector.Protocol.Serialization.SerializationUtility80821100%
 
MySqlConnector.Protocol.Serialization.SocketByteHandler26234913653%
  
MySqlConnector.Protocol.Serialization.StandardPayloadHandler163195784.2%
  
MySqlConnector.Protocol.Serialization.StreamByteHandler23275010746%
  
MySqlConnector.Utilities.ActivitySourceHelper812206540%
  
MySqlConnector.Utilities.ResizableArray<T>60622100%
 
MySqlConnector.Utilities.ResizableArraySegment<T>40414100%
 
MySqlConnector.Utilities.SocketExtensions3477242.8%
  
MySqlConnector.Utilities.TimerQueue46115713280.7%
  
MySqlConnector.Utilities.Utility141381526849.2%
  
MySqlConnector.Utilities.ValueTaskExtensions022190%
 
System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__NameRegex_002882888900%
 
System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__TlsVersionsRegex_1014214212770%
 
System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Utilities0414113810%
 
+
+
+
+ + \ No newline at end of file diff --git a/coveragereport/main.js b/coveragereport/main.js new file mode 100644 index 0000000..b8c2665 --- /dev/null +++ b/coveragereport/main.js @@ -0,0 +1,527 @@ +/* Chartist.js 0.11.4 + * Copyright © 2019 Gion Kunz + * Free to use under either the WTFPL license or the MIT license. + * https://raw.githubusercontent.com/gionkunz/chartist-js/master/LICENSE-WTFPL + * https://raw.githubusercontent.com/gionkunz/chartist-js/master/LICENSE-MIT + */ + +!function (a, b) { "function" == typeof define && define.amd ? define("Chartist", [], function () { return a.Chartist = b() }) : "object" == typeof module && module.exports ? module.exports = b() : a.Chartist = b() }(this, function () { + var a = { version: "0.11.4" }; return function (a, b) { "use strict"; var c = a.window, d = a.document; b.namespaces = { svg: "http://www.w3.org/2000/svg", xmlns: "http://www.w3.org/2000/xmlns/", xhtml: "http://www.w3.org/1999/xhtml", xlink: "http://www.w3.org/1999/xlink", ct: "http://gionkunz.github.com/chartist-js/ct" }, b.noop = function (a) { return a }, b.alphaNumerate = function (a) { return String.fromCharCode(97 + a % 26) }, b.extend = function (a) { var c, d, e; for (a = a || {}, c = 1; c < arguments.length; c++) { d = arguments[c]; for (var f in d) e = d[f], "object" != typeof e || null === e || e instanceof Array ? a[f] = e : a[f] = b.extend(a[f], e) } return a }, b.replaceAll = function (a, b, c) { return a.replace(new RegExp(b, "g"), c) }, b.ensureUnit = function (a, b) { return "number" == typeof a && (a += b), a }, b.quantity = function (a) { if ("string" == typeof a) { var b = /^(\d+)\s*(.*)$/g.exec(a); return { value: +b[1], unit: b[2] || void 0 } } return { value: a } }, b.querySelector = function (a) { return a instanceof Node ? a : d.querySelector(a) }, b.times = function (a) { return Array.apply(null, new Array(a)) }, b.sum = function (a, b) { return a + (b ? b : 0) }, b.mapMultiply = function (a) { return function (b) { return b * a } }, b.mapAdd = function (a) { return function (b) { return b + a } }, b.serialMap = function (a, c) { var d = [], e = Math.max.apply(null, a.map(function (a) { return a.length })); return b.times(e).forEach(function (b, e) { var f = a.map(function (a) { return a[e] }); d[e] = c.apply(null, f) }), d }, b.roundWithPrecision = function (a, c) { var d = Math.pow(10, c || b.precision); return Math.round(a * d) / d }, b.precision = 8, b.escapingMap = { "&": "&", "<": "<", ">": ">", '"': """, "'": "'" }, b.serialize = function (a) { return null === a || void 0 === a ? a : ("number" == typeof a ? a = "" + a : "object" == typeof a && (a = JSON.stringify({ data: a })), Object.keys(b.escapingMap).reduce(function (a, c) { return b.replaceAll(a, c, b.escapingMap[c]) }, a)) }, b.deserialize = function (a) { if ("string" != typeof a) return a; a = Object.keys(b.escapingMap).reduce(function (a, c) { return b.replaceAll(a, b.escapingMap[c], c) }, a); try { a = JSON.parse(a), a = void 0 !== a.data ? a.data : a } catch (c) { } return a }, b.createSvg = function (a, c, d, e) { var f; return c = c || "100%", d = d || "100%", Array.prototype.slice.call(a.querySelectorAll("svg")).filter(function (a) { return a.getAttributeNS(b.namespaces.xmlns, "ct") }).forEach(function (b) { a.removeChild(b) }), f = new b.Svg("svg").attr({ width: c, height: d }).addClass(e), f._node.style.width = c, f._node.style.height = d, a.appendChild(f._node), f }, b.normalizeData = function (a, c, d) { var e, f = { raw: a, normalized: {} }; return f.normalized.series = b.getDataArray({ series: a.series || [] }, c, d), e = f.normalized.series.every(function (a) { return a instanceof Array }) ? Math.max.apply(null, f.normalized.series.map(function (a) { return a.length })) : f.normalized.series.length, f.normalized.labels = (a.labels || []).slice(), Array.prototype.push.apply(f.normalized.labels, b.times(Math.max(0, e - f.normalized.labels.length)).map(function () { return "" })), c && b.reverseData(f.normalized), f }, b.safeHasProperty = function (a, b) { return null !== a && "object" == typeof a && a.hasOwnProperty(b) }, b.isDataHoleValue = function (a) { return null === a || void 0 === a || "number" == typeof a && isNaN(a) }, b.reverseData = function (a) { a.labels.reverse(), a.series.reverse(); for (var b = 0; b < a.series.length; b++)"object" == typeof a.series[b] && void 0 !== a.series[b].data ? a.series[b].data.reverse() : a.series[b] instanceof Array && a.series[b].reverse() }, b.getDataArray = function (a, c, d) { function e(a) { if (b.safeHasProperty(a, "value")) return e(a.value); if (b.safeHasProperty(a, "data")) return e(a.data); if (a instanceof Array) return a.map(e); if (!b.isDataHoleValue(a)) { if (d) { var c = {}; return "string" == typeof d ? c[d] = b.getNumberOrUndefined(a) : c.y = b.getNumberOrUndefined(a), c.x = a.hasOwnProperty("x") ? b.getNumberOrUndefined(a.x) : c.x, c.y = a.hasOwnProperty("y") ? b.getNumberOrUndefined(a.y) : c.y, c } return b.getNumberOrUndefined(a) } } return a.series.map(e) }, b.normalizePadding = function (a, b) { return b = b || 0, "number" == typeof a ? { top: a, right: a, bottom: a, left: a } : { top: "number" == typeof a.top ? a.top : b, right: "number" == typeof a.right ? a.right : b, bottom: "number" == typeof a.bottom ? a.bottom : b, left: "number" == typeof a.left ? a.left : b } }, b.getMetaData = function (a, b) { var c = a.data ? a.data[b] : a[b]; return c ? c.meta : void 0 }, b.orderOfMagnitude = function (a) { return Math.floor(Math.log(Math.abs(a)) / Math.LN10) }, b.projectLength = function (a, b, c) { return b / c.range * a }, b.getAvailableHeight = function (a, c) { return Math.max((b.quantity(c.height).value || a.height()) - (c.chartPadding.top + c.chartPadding.bottom) - c.axisX.offset, 0) }, b.getHighLow = function (a, c, d) { function e(a) { if (void 0 !== a) if (a instanceof Array) for (var b = 0; b < a.length; b++)e(a[b]); else { var c = d ? +a[d] : +a; g && c > f.high && (f.high = c), h && c < f.low && (f.low = c) } } c = b.extend({}, c, d ? c["axis" + d.toUpperCase()] : {}); var f = { high: void 0 === c.high ? -Number.MAX_VALUE : +c.high, low: void 0 === c.low ? Number.MAX_VALUE : +c.low }, g = void 0 === c.high, h = void 0 === c.low; return (g || h) && e(a), (c.referenceValue || 0 === c.referenceValue) && (f.high = Math.max(c.referenceValue, f.high), f.low = Math.min(c.referenceValue, f.low)), f.high <= f.low && (0 === f.low ? f.high = 1 : f.low < 0 ? f.high = 0 : f.high > 0 ? f.low = 0 : (f.high = 1, f.low = 0)), f }, b.isNumeric = function (a) { return null !== a && isFinite(a) }, b.isFalseyButZero = function (a) { return !a && 0 !== a }, b.getNumberOrUndefined = function (a) { return b.isNumeric(a) ? +a : void 0 }, b.isMultiValue = function (a) { return "object" == typeof a && ("x" in a || "y" in a) }, b.getMultiValue = function (a, c) { return b.isMultiValue(a) ? b.getNumberOrUndefined(a[c || "y"]) : b.getNumberOrUndefined(a) }, b.rho = function (a) { function b(a, c) { return a % c === 0 ? c : b(c, a % c) } function c(a) { return a * a + 1 } if (1 === a) return a; var d, e = 2, f = 2; if (a % 2 === 0) return 2; do e = c(e) % a, f = c(c(f)) % a, d = b(Math.abs(e - f), a); while (1 === d); return d }, b.getBounds = function (a, c, d, e) { function f(a, b) { return a === (a += b) && (a *= 1 + (b > 0 ? o : -o)), a } var g, h, i, j = 0, k = { high: c.high, low: c.low }; k.valueRange = k.high - k.low, k.oom = b.orderOfMagnitude(k.valueRange), k.step = Math.pow(10, k.oom), k.min = Math.floor(k.low / k.step) * k.step, k.max = Math.ceil(k.high / k.step) * k.step, k.range = k.max - k.min, k.numberOfSteps = Math.round(k.range / k.step); var l = b.projectLength(a, k.step, k), m = l < d, n = e ? b.rho(k.range) : 0; if (e && b.projectLength(a, 1, k) >= d) k.step = 1; else if (e && n < k.step && b.projectLength(a, n, k) >= d) k.step = n; else for (; ;) { if (m && b.projectLength(a, k.step, k) <= d) k.step *= 2; else { if (m || !(b.projectLength(a, k.step / 2, k) >= d)) break; if (k.step /= 2, e && k.step % 1 !== 0) { k.step *= 2; break } } if (j++ > 1e3) throw new Error("Exceeded maximum number of iterations while optimizing scale step!") } var o = 2.221e-16; for (k.step = Math.max(k.step, o), h = k.min, i = k.max; h + k.step <= k.low;)h = f(h, k.step); for (; i - k.step >= k.high;)i = f(i, -k.step); k.min = h, k.max = i, k.range = k.max - k.min; var p = []; for (g = k.min; g <= k.max; g = f(g, k.step)) { var q = b.roundWithPrecision(g); q !== p[p.length - 1] && p.push(q) } return k.values = p, k }, b.polarToCartesian = function (a, b, c, d) { var e = (d - 90) * Math.PI / 180; return { x: a + c * Math.cos(e), y: b + c * Math.sin(e) } }, b.createChartRect = function (a, c, d) { var e = !(!c.axisX && !c.axisY), f = e ? c.axisY.offset : 0, g = e ? c.axisX.offset : 0, h = a.width() || b.quantity(c.width).value || 0, i = a.height() || b.quantity(c.height).value || 0, j = b.normalizePadding(c.chartPadding, d); h = Math.max(h, f + j.left + j.right), i = Math.max(i, g + j.top + j.bottom); var k = { padding: j, width: function () { return this.x2 - this.x1 }, height: function () { return this.y1 - this.y2 } }; return e ? ("start" === c.axisX.position ? (k.y2 = j.top + g, k.y1 = Math.max(i - j.bottom, k.y2 + 1)) : (k.y2 = j.top, k.y1 = Math.max(i - j.bottom - g, k.y2 + 1)), "start" === c.axisY.position ? (k.x1 = j.left + f, k.x2 = Math.max(h - j.right, k.x1 + 1)) : (k.x1 = j.left, k.x2 = Math.max(h - j.right - f, k.x1 + 1))) : (k.x1 = j.left, k.x2 = Math.max(h - j.right, k.x1 + 1), k.y2 = j.top, k.y1 = Math.max(i - j.bottom, k.y2 + 1)), k }, b.createGrid = function (a, c, d, e, f, g, h, i) { var j = {}; j[d.units.pos + "1"] = a, j[d.units.pos + "2"] = a, j[d.counterUnits.pos + "1"] = e, j[d.counterUnits.pos + "2"] = e + f; var k = g.elem("line", j, h.join(" ")); i.emit("draw", b.extend({ type: "grid", axis: d, index: c, group: g, element: k }, j)) }, b.createGridBackground = function (a, b, c, d) { var e = a.elem("rect", { x: b.x1, y: b.y2, width: b.width(), height: b.height() }, c, !0); d.emit("draw", { type: "gridBackground", group: a, element: e }) }, b.createLabel = function (a, c, e, f, g, h, i, j, k, l, m) { var n, o = {}; if (o[g.units.pos] = a + i[g.units.pos], o[g.counterUnits.pos] = i[g.counterUnits.pos], o[g.units.len] = c, o[g.counterUnits.len] = Math.max(0, h - 10), l) { var p = d.createElement("span"); p.className = k.join(" "), p.setAttribute("xmlns", b.namespaces.xhtml), p.innerText = f[e], p.style[g.units.len] = Math.round(o[g.units.len]) + "px", p.style[g.counterUnits.len] = Math.round(o[g.counterUnits.len]) + "px", n = j.foreignObject(p, b.extend({ style: "overflow: visible;" }, o)) } else n = j.elem("text", o, k.join(" ")).text(f[e]); m.emit("draw", b.extend({ type: "label", axis: g, index: e, group: j, element: n, text: f[e] }, o)) }, b.getSeriesOption = function (a, b, c) { if (a.name && b.series && b.series[a.name]) { var d = b.series[a.name]; return d.hasOwnProperty(c) ? d[c] : b[c] } return b[c] }, b.optionsProvider = function (a, d, e) { function f(a) { var f = h; if (h = b.extend({}, j), d) for (i = 0; i < d.length; i++) { var g = c.matchMedia(d[i][0]); g.matches && (h = b.extend(h, d[i][1])) } e && a && e.emit("optionsChanged", { previousOptions: f, currentOptions: h }) } function g() { k.forEach(function (a) { a.removeListener(f) }) } var h, i, j = b.extend({}, a), k = []; if (!c.matchMedia) throw "window.matchMedia not found! Make sure you're using a polyfill."; if (d) for (i = 0; i < d.length; i++) { var l = c.matchMedia(d[i][0]); l.addListener(f), k.push(l) } return f(), { removeMediaQueryListeners: g, getCurrentOptions: function () { return b.extend({}, h) } } }, b.splitIntoSegments = function (a, c, d) { var e = { increasingX: !1, fillHoles: !1 }; d = b.extend({}, e, d); for (var f = [], g = !0, h = 0; h < a.length; h += 2)void 0 === b.getMultiValue(c[h / 2].value) ? d.fillHoles || (g = !0) : (d.increasingX && h >= 2 && a[h] <= a[h - 2] && (g = !0), g && (f.push({ pathCoordinates: [], valueData: [] }), g = !1), f[f.length - 1].pathCoordinates.push(a[h], a[h + 1]), f[f.length - 1].valueData.push(c[h / 2])); return f } }(this || global, a), function (a, b) { "use strict"; b.Interpolation = {}, b.Interpolation.none = function (a) { var c = { fillHoles: !1 }; return a = b.extend({}, c, a), function (c, d) { for (var e = new b.Svg.Path, f = !0, g = 0; g < c.length; g += 2) { var h = c[g], i = c[g + 1], j = d[g / 2]; void 0 !== b.getMultiValue(j.value) ? (f ? e.move(h, i, !1, j) : e.line(h, i, !1, j), f = !1) : a.fillHoles || (f = !0) } return e } }, b.Interpolation.simple = function (a) { var c = { divisor: 2, fillHoles: !1 }; a = b.extend({}, c, a); var d = 1 / Math.max(1, a.divisor); return function (c, e) { for (var f, g, h, i = new b.Svg.Path, j = 0; j < c.length; j += 2) { var k = c[j], l = c[j + 1], m = (k - f) * d, n = e[j / 2]; void 0 !== n.value ? (void 0 === h ? i.move(k, l, !1, n) : i.curve(f + m, g, k - m, l, k, l, !1, n), f = k, g = l, h = n) : a.fillHoles || (f = k = h = void 0) } return i } }, b.Interpolation.cardinal = function (a) { var c = { tension: 1, fillHoles: !1 }; a = b.extend({}, c, a); var d = Math.min(1, Math.max(0, a.tension)), e = 1 - d; return function f(c, g) { var h = b.splitIntoSegments(c, g, { fillHoles: a.fillHoles }); if (h.length) { if (h.length > 1) { var i = []; return h.forEach(function (a) { i.push(f(a.pathCoordinates, a.valueData)) }), b.Svg.Path.join(i) } if (c = h[0].pathCoordinates, g = h[0].valueData, c.length <= 4) return b.Interpolation.none()(c, g); for (var j, k = (new b.Svg.Path).move(c[0], c[1], !1, g[0]), l = 0, m = c.length; m - 2 * !j > l; l += 2) { var n = [{ x: +c[l - 2], y: +c[l - 1] }, { x: +c[l], y: +c[l + 1] }, { x: +c[l + 2], y: +c[l + 3] }, { x: +c[l + 4], y: +c[l + 5] }]; j ? l ? m - 4 === l ? n[3] = { x: +c[0], y: +c[1] } : m - 2 === l && (n[2] = { x: +c[0], y: +c[1] }, n[3] = { x: +c[2], y: +c[3] }) : n[0] = { x: +c[m - 2], y: +c[m - 1] } : m - 4 === l ? n[3] = n[2] : l || (n[0] = { x: +c[l], y: +c[l + 1] }), k.curve(d * (-n[0].x + 6 * n[1].x + n[2].x) / 6 + e * n[2].x, d * (-n[0].y + 6 * n[1].y + n[2].y) / 6 + e * n[2].y, d * (n[1].x + 6 * n[2].x - n[3].x) / 6 + e * n[2].x, d * (n[1].y + 6 * n[2].y - n[3].y) / 6 + e * n[2].y, n[2].x, n[2].y, !1, g[(l + 2) / 2]) } return k } return b.Interpolation.none()([]) } }, b.Interpolation.monotoneCubic = function (a) { var c = { fillHoles: !1 }; return a = b.extend({}, c, a), function d(c, e) { var f = b.splitIntoSegments(c, e, { fillHoles: a.fillHoles, increasingX: !0 }); if (f.length) { if (f.length > 1) { var g = []; return f.forEach(function (a) { g.push(d(a.pathCoordinates, a.valueData)) }), b.Svg.Path.join(g) } if (c = f[0].pathCoordinates, e = f[0].valueData, c.length <= 4) return b.Interpolation.none()(c, e); var h, i, j = [], k = [], l = c.length / 2, m = [], n = [], o = [], p = []; for (h = 0; h < l; h++)j[h] = c[2 * h], k[h] = c[2 * h + 1]; for (h = 0; h < l - 1; h++)o[h] = k[h + 1] - k[h], p[h] = j[h + 1] - j[h], n[h] = o[h] / p[h]; for (m[0] = n[0], m[l - 1] = n[l - 2], h = 1; h < l - 1; h++)0 === n[h] || 0 === n[h - 1] || n[h - 1] > 0 != n[h] > 0 ? m[h] = 0 : (m[h] = 3 * (p[h - 1] + p[h]) / ((2 * p[h] + p[h - 1]) / n[h - 1] + (p[h] + 2 * p[h - 1]) / n[h]), isFinite(m[h]) || (m[h] = 0)); for (i = (new b.Svg.Path).move(j[0], k[0], !1, e[0]), h = 0; h < l - 1; h++)i.curve(j[h] + p[h] / 3, k[h] + m[h] * p[h] / 3, j[h + 1] - p[h] / 3, k[h + 1] - m[h + 1] * p[h] / 3, j[h + 1], k[h + 1], !1, e[h + 1]); return i } return b.Interpolation.none()([]) } }, b.Interpolation.step = function (a) { var c = { postpone: !0, fillHoles: !1 }; return a = b.extend({}, c, a), function (c, d) { for (var e, f, g, h = new b.Svg.Path, i = 0; i < c.length; i += 2) { var j = c[i], k = c[i + 1], l = d[i / 2]; void 0 !== l.value ? (void 0 === g ? h.move(j, k, !1, l) : (a.postpone ? h.line(j, f, !1, g) : h.line(e, k, !1, l), h.line(j, k, !1, l)), e = j, f = k, g = l) : a.fillHoles || (e = f = g = void 0) } return h } } }(this || global, a), function (a, b) { "use strict"; b.EventEmitter = function () { function a(a, b) { d[a] = d[a] || [], d[a].push(b) } function b(a, b) { d[a] && (b ? (d[a].splice(d[a].indexOf(b), 1), 0 === d[a].length && delete d[a]) : delete d[a]) } function c(a, b) { d[a] && d[a].forEach(function (a) { a(b) }), d["*"] && d["*"].forEach(function (c) { c(a, b) }) } var d = []; return { addEventHandler: a, removeEventHandler: b, emit: c } } }(this || global, a), function (a, b) { "use strict"; function c(a) { var b = []; if (a.length) for (var c = 0; c < a.length; c++)b.push(a[c]); return b } function d(a, c) { var d = c || this.prototype || b.Class, e = Object.create(d); b.Class.cloneDefinitions(e, a); var f = function () { var a, c = e.constructor || function () { }; return a = this === b ? Object.create(e) : this, c.apply(a, Array.prototype.slice.call(arguments, 0)), a }; return f.prototype = e, f["super"] = d, f.extend = this.extend, f } function e() { var a = c(arguments), b = a[0]; return a.splice(1, a.length - 1).forEach(function (a) { Object.getOwnPropertyNames(a).forEach(function (c) { delete b[c], Object.defineProperty(b, c, Object.getOwnPropertyDescriptor(a, c)) }) }), b } b.Class = { extend: d, cloneDefinitions: e } }(this || global, a), function (a, b) { "use strict"; function c(a, c, d) { return a && (this.data = a || {}, this.data.labels = this.data.labels || [], this.data.series = this.data.series || [], this.eventEmitter.emit("data", { type: "update", data: this.data })), c && (this.options = b.extend({}, d ? this.options : this.defaultOptions, c), this.initializeTimeoutId || (this.optionsProvider.removeMediaQueryListeners(), this.optionsProvider = b.optionsProvider(this.options, this.responsiveOptions, this.eventEmitter))), this.initializeTimeoutId || this.createChart(this.optionsProvider.getCurrentOptions()), this } function d() { return this.initializeTimeoutId ? i.clearTimeout(this.initializeTimeoutId) : (i.removeEventListener("resize", this.resizeListener), this.optionsProvider.removeMediaQueryListeners()), this } function e(a, b) { return this.eventEmitter.addEventHandler(a, b), this } function f(a, b) { return this.eventEmitter.removeEventHandler(a, b), this } function g() { i.addEventListener("resize", this.resizeListener), this.optionsProvider = b.optionsProvider(this.options, this.responsiveOptions, this.eventEmitter), this.eventEmitter.addEventHandler("optionsChanged", function () { this.update() }.bind(this)), this.options.plugins && this.options.plugins.forEach(function (a) { a instanceof Array ? a[0](this, a[1]) : a(this) }.bind(this)), this.eventEmitter.emit("data", { type: "initial", data: this.data }), this.createChart(this.optionsProvider.getCurrentOptions()), this.initializeTimeoutId = void 0 } function h(a, c, d, e, f) { this.container = b.querySelector(a), this.data = c || {}, this.data.labels = this.data.labels || [], this.data.series = this.data.series || [], this.defaultOptions = d, this.options = e, this.responsiveOptions = f, this.eventEmitter = b.EventEmitter(), this.supportsForeignObject = b.Svg.isSupported("Extensibility"), this.supportsAnimations = b.Svg.isSupported("AnimationEventsAttribute"), this.resizeListener = function () { this.update() }.bind(this), this.container && (this.container.__chartist__ && this.container.__chartist__.detach(), this.container.__chartist__ = this), this.initializeTimeoutId = setTimeout(g.bind(this), 0) } var i = a.window; b.Base = b.Class.extend({ constructor: h, optionsProvider: void 0, container: void 0, svg: void 0, eventEmitter: void 0, createChart: function () { throw new Error("Base chart type can't be instantiated!") }, update: c, detach: d, on: e, off: f, version: b.version, supportsForeignObject: !1 }) }(this || global, a), function (a, b) { "use strict"; function c(a, c, d, e, f) { a instanceof Element ? this._node = a : (this._node = y.createElementNS(b.namespaces.svg, a), "svg" === a && this.attr({ "xmlns:ct": b.namespaces.ct })), c && this.attr(c), d && this.addClass(d), e && (f && e._node.firstChild ? e._node.insertBefore(this._node, e._node.firstChild) : e._node.appendChild(this._node)) } function d(a, c) { return "string" == typeof a ? c ? this._node.getAttributeNS(c, a) : this._node.getAttribute(a) : (Object.keys(a).forEach(function (c) { if (void 0 !== a[c]) if (c.indexOf(":") !== -1) { var d = c.split(":"); this._node.setAttributeNS(b.namespaces[d[0]], c, a[c]) } else this._node.setAttribute(c, a[c]) }.bind(this)), this) } function e(a, c, d, e) { return new b.Svg(a, c, d, this, e) } function f() { return this._node.parentNode instanceof SVGElement ? new b.Svg(this._node.parentNode) : null } function g() { for (var a = this._node; "svg" !== a.nodeName;)a = a.parentNode; return new b.Svg(a) } function h(a) { var c = this._node.querySelector(a); return c ? new b.Svg(c) : null } function i(a) { var c = this._node.querySelectorAll(a); return c.length ? new b.Svg.List(c) : null } function j() { return this._node } function k(a, c, d, e) { if ("string" == typeof a) { var f = y.createElement("div"); f.innerHTML = a, a = f.firstChild } a.setAttribute("xmlns", b.namespaces.xmlns); var g = this.elem("foreignObject", c, d, e); return g._node.appendChild(a), g } function l(a) { return this._node.appendChild(y.createTextNode(a)), this } function m() { for (; this._node.firstChild;)this._node.removeChild(this._node.firstChild); return this } function n() { return this._node.parentNode.removeChild(this._node), this.parent() } function o(a) { return this._node.parentNode.replaceChild(a._node, this._node), a } function p(a, b) { return b && this._node.firstChild ? this._node.insertBefore(a._node, this._node.firstChild) : this._node.appendChild(a._node), this } function q() { return this._node.getAttribute("class") ? this._node.getAttribute("class").trim().split(/\s+/) : [] } function r(a) { return this._node.setAttribute("class", this.classes(this._node).concat(a.trim().split(/\s+/)).filter(function (a, b, c) { return c.indexOf(a) === b }).join(" ")), this } function s(a) { var b = a.trim().split(/\s+/); return this._node.setAttribute("class", this.classes(this._node).filter(function (a) { return b.indexOf(a) === -1 }).join(" ")), this } function t() { return this._node.setAttribute("class", ""), this } function u() { return this._node.getBoundingClientRect().height } function v() { return this._node.getBoundingClientRect().width } function w(a, c, d) { return void 0 === c && (c = !0), Object.keys(a).forEach(function (e) { function f(a, c) { var f, g, h, i = {}; a.easing && (h = a.easing instanceof Array ? a.easing : b.Svg.Easing[a.easing], delete a.easing), a.begin = b.ensureUnit(a.begin, "ms"), a.dur = b.ensureUnit(a.dur, "ms"), h && (a.calcMode = "spline", a.keySplines = h.join(" "), a.keyTimes = "0;1"), c && (a.fill = "freeze", i[e] = a.from, this.attr(i), g = b.quantity(a.begin || 0).value, a.begin = "indefinite"), f = this.elem("animate", b.extend({ attributeName: e }, a)), c && setTimeout(function () { try { f._node.beginElement() } catch (b) { i[e] = a.to, this.attr(i), f.remove() } }.bind(this), g), d && f._node.addEventListener("beginEvent", function () { d.emit("animationBegin", { element: this, animate: f._node, params: a }) }.bind(this)), f._node.addEventListener("endEvent", function () { d && d.emit("animationEnd", { element: this, animate: f._node, params: a }), c && (i[e] = a.to, this.attr(i), f.remove()) }.bind(this)) } a[e] instanceof Array ? a[e].forEach(function (a) { f.bind(this)(a, !1) }.bind(this)) : f.bind(this)(a[e], c) }.bind(this)), this } function x(a) { var c = this; this.svgElements = []; for (var d = 0; d < a.length; d++)this.svgElements.push(new b.Svg(a[d])); Object.keys(b.Svg.prototype).filter(function (a) { return ["constructor", "parent", "querySelector", "querySelectorAll", "replace", "append", "classes", "height", "width"].indexOf(a) === -1 }).forEach(function (a) { c[a] = function () { var d = Array.prototype.slice.call(arguments, 0); return c.svgElements.forEach(function (c) { b.Svg.prototype[a].apply(c, d) }), c } }) } var y = a.document; b.Svg = b.Class.extend({ constructor: c, attr: d, elem: e, parent: f, root: g, querySelector: h, querySelectorAll: i, getNode: j, foreignObject: k, text: l, empty: m, remove: n, replace: o, append: p, classes: q, addClass: r, removeClass: s, removeAllClasses: t, height: u, width: v, animate: w }), b.Svg.isSupported = function (a) { return y.implementation.hasFeature("http://www.w3.org/TR/SVG11/feature#" + a, "1.1") }; var z = { easeInSine: [.47, 0, .745, .715], easeOutSine: [.39, .575, .565, 1], easeInOutSine: [.445, .05, .55, .95], easeInQuad: [.55, .085, .68, .53], easeOutQuad: [.25, .46, .45, .94], easeInOutQuad: [.455, .03, .515, .955], easeInCubic: [.55, .055, .675, .19], easeOutCubic: [.215, .61, .355, 1], easeInOutCubic: [.645, .045, .355, 1], easeInQuart: [.895, .03, .685, .22], easeOutQuart: [.165, .84, .44, 1], easeInOutQuart: [.77, 0, .175, 1], easeInQuint: [.755, .05, .855, .06], easeOutQuint: [.23, 1, .32, 1], easeInOutQuint: [.86, 0, .07, 1], easeInExpo: [.95, .05, .795, .035], easeOutExpo: [.19, 1, .22, 1], easeInOutExpo: [1, 0, 0, 1], easeInCirc: [.6, .04, .98, .335], easeOutCirc: [.075, .82, .165, 1], easeInOutCirc: [.785, .135, .15, .86], easeInBack: [.6, -.28, .735, .045], easeOutBack: [.175, .885, .32, 1.275], easeInOutBack: [.68, -.55, .265, 1.55] }; b.Svg.Easing = z, b.Svg.List = b.Class.extend({ constructor: x }) }(this || global, a), function (a, b) { "use strict"; function c(a, c, d, e, f, g) { var h = b.extend({ command: f ? a.toLowerCase() : a.toUpperCase() }, c, g ? { data: g } : {}); d.splice(e, 0, h) } function d(a, b) { a.forEach(function (c, d) { t[c.command.toLowerCase()].forEach(function (e, f) { b(c, e, d, f, a) }) }) } function e(a, c) { this.pathElements = [], this.pos = 0, this.close = a, this.options = b.extend({}, u, c) } function f(a) { return void 0 !== a ? (this.pos = Math.max(0, Math.min(this.pathElements.length, a)), this) : this.pos } function g(a) { return this.pathElements.splice(this.pos, a), this } function h(a, b, d, e) { return c("M", { x: +a, y: +b }, this.pathElements, this.pos++, d, e), this } function i(a, b, d, e) { return c("L", { x: +a, y: +b }, this.pathElements, this.pos++, d, e), this } function j(a, b, d, e, f, g, h, i) { return c("C", { x1: +a, y1: +b, x2: +d, y2: +e, x: +f, y: +g }, this.pathElements, this.pos++, h, i), this } function k(a, b, d, e, f, g, h, i, j) { return c("A", { rx: +a, ry: +b, xAr: +d, lAf: +e, sf: +f, x: +g, y: +h }, this.pathElements, this.pos++, i, j), this } function l(a) { var c = a.replace(/([A-Za-z])([0-9])/g, "$1 $2").replace(/([0-9])([A-Za-z])/g, "$1 $2").split(/[\s,]+/).reduce(function (a, b) { return b.match(/[A-Za-z]/) && a.push([]), a[a.length - 1].push(b), a }, []); "Z" === c[c.length - 1][0].toUpperCase() && c.pop(); var d = c.map(function (a) { var c = a.shift(), d = t[c.toLowerCase()]; return b.extend({ command: c }, d.reduce(function (b, c, d) { return b[c] = +a[d], b }, {})) }), e = [this.pos, 0]; return Array.prototype.push.apply(e, d), Array.prototype.splice.apply(this.pathElements, e), this.pos += d.length, this } function m() { var a = Math.pow(10, this.options.accuracy); return this.pathElements.reduce(function (b, c) { var d = t[c.command.toLowerCase()].map(function (b) { return this.options.accuracy ? Math.round(c[b] * a) / a : c[b] }.bind(this)); return b + c.command + d.join(",") }.bind(this), "") + (this.close ? "Z" : "") } function n(a, b) { return d(this.pathElements, function (c, d) { c[d] *= "x" === d[0] ? a : b }), this } function o(a, b) { return d(this.pathElements, function (c, d) { c[d] += "x" === d[0] ? a : b }), this } function p(a) { return d(this.pathElements, function (b, c, d, e, f) { var g = a(b, c, d, e, f); (g || 0 === g) && (b[c] = g) }), this } function q(a) { var c = new b.Svg.Path(a || this.close); return c.pos = this.pos, c.pathElements = this.pathElements.slice().map(function (a) { return b.extend({}, a) }), c.options = b.extend({}, this.options), c } function r(a) { var c = [new b.Svg.Path]; return this.pathElements.forEach(function (d) { d.command === a.toUpperCase() && 0 !== c[c.length - 1].pathElements.length && c.push(new b.Svg.Path), c[c.length - 1].pathElements.push(d) }), c } function s(a, c, d) { for (var e = new b.Svg.Path(c, d), f = 0; f < a.length; f++)for (var g = a[f], h = 0; h < g.pathElements.length; h++)e.pathElements.push(g.pathElements[h]); return e } var t = { m: ["x", "y"], l: ["x", "y"], c: ["x1", "y1", "x2", "y2", "x", "y"], a: ["rx", "ry", "xAr", "lAf", "sf", "x", "y"] }, u = { accuracy: 3 }; b.Svg.Path = b.Class.extend({ constructor: e, position: f, remove: g, move: h, line: i, curve: j, arc: k, scale: n, translate: o, transform: p, parse: l, stringify: m, clone: q, splitByCommand: r }), b.Svg.Path.elementDescriptions = t, b.Svg.Path.join = s }(this || global, a), function (a, b) { "use strict"; function c(a, b, c, d) { this.units = a, this.counterUnits = a === e.x ? e.y : e.x, this.chartRect = b, this.axisLength = b[a.rectEnd] - b[a.rectStart], this.gridOffset = b[a.rectOffset], this.ticks = c, this.options = d } function d(a, c, d, e, f) { var g = e["axis" + this.units.pos.toUpperCase()], h = this.ticks.map(this.projectValue.bind(this)), i = this.ticks.map(g.labelInterpolationFnc); h.forEach(function (j, k) { var l, m = { x: 0, y: 0 }; l = h[k + 1] ? h[k + 1] - j : Math.max(this.axisLength - j, 30), b.isFalseyButZero(i[k]) && "" !== i[k] || ("x" === this.units.pos ? (j = this.chartRect.x1 + j, m.x = e.axisX.labelOffset.x, "start" === e.axisX.position ? m.y = this.chartRect.padding.top + e.axisX.labelOffset.y + (d ? 5 : 20) : m.y = this.chartRect.y1 + e.axisX.labelOffset.y + (d ? 5 : 20)) : (j = this.chartRect.y1 - j, m.y = e.axisY.labelOffset.y - (d ? l : 0), "start" === e.axisY.position ? m.x = d ? this.chartRect.padding.left + e.axisY.labelOffset.x : this.chartRect.x1 - 10 : m.x = this.chartRect.x2 + e.axisY.labelOffset.x + 10), g.showGrid && b.createGrid(j, k, this, this.gridOffset, this.chartRect[this.counterUnits.len](), a, [e.classNames.grid, e.classNames[this.units.dir]], f), g.showLabel && b.createLabel(j, l, k, i, this, g.offset, m, c, [e.classNames.label, e.classNames[this.units.dir], "start" === g.position ? e.classNames[g.position] : e.classNames.end], d, f)) }.bind(this)) } var e = (a.window, a.document, { x: { pos: "x", len: "width", dir: "horizontal", rectStart: "x1", rectEnd: "x2", rectOffset: "y2" }, y: { pos: "y", len: "height", dir: "vertical", rectStart: "y2", rectEnd: "y1", rectOffset: "x1" } }); b.Axis = b.Class.extend({ constructor: c, createGridAndLabels: d, projectValue: function (a, b, c) { throw new Error("Base axis can't be instantiated!") } }), b.Axis.units = e }(this || global, a), function (a, b) { "use strict"; function c(a, c, d, e) { var f = e.highLow || b.getHighLow(c, e, a.pos); this.bounds = b.getBounds(d[a.rectEnd] - d[a.rectStart], f, e.scaleMinSpace || 20, e.onlyInteger), this.range = { min: this.bounds.min, max: this.bounds.max }, b.AutoScaleAxis["super"].constructor.call(this, a, d, this.bounds.values, e) } function d(a) { return this.axisLength * (+b.getMultiValue(a, this.units.pos) - this.bounds.min) / this.bounds.range } a.window, a.document; b.AutoScaleAxis = b.Axis.extend({ constructor: c, projectValue: d }) }(this || global, a), function (a, b) { "use strict"; function c(a, c, d, e) { var f = e.highLow || b.getHighLow(c, e, a.pos); this.divisor = e.divisor || 1, this.ticks = e.ticks || b.times(this.divisor).map(function (a, b) { return f.low + (f.high - f.low) / this.divisor * b }.bind(this)), this.ticks.sort(function (a, b) { return a - b }), this.range = { min: f.low, max: f.high }, b.FixedScaleAxis["super"].constructor.call(this, a, d, this.ticks, e), this.stepLength = this.axisLength / this.divisor } function d(a) { return this.axisLength * (+b.getMultiValue(a, this.units.pos) - this.range.min) / (this.range.max - this.range.min) } a.window, a.document; b.FixedScaleAxis = b.Axis.extend({ constructor: c, projectValue: d }) }(this || global, a), function (a, b) { "use strict"; function c(a, c, d, e) { b.StepAxis["super"].constructor.call(this, a, d, e.ticks, e); var f = Math.max(1, e.ticks.length - (e.stretch ? 1 : 0)); this.stepLength = this.axisLength / f } function d(a, b) { return this.stepLength * b } a.window, a.document; b.StepAxis = b.Axis.extend({ constructor: c, projectValue: d }) }(this || global, a), function (a, b) { "use strict"; function c(a) { var c = b.normalizeData(this.data, a.reverseData, !0); this.svg = b.createSvg(this.container, a.width, a.height, a.classNames.chart); var d, f, g = this.svg.elem("g").addClass(a.classNames.gridGroup), h = this.svg.elem("g"), i = this.svg.elem("g").addClass(a.classNames.labelGroup), j = b.createChartRect(this.svg, a, e.padding); d = void 0 === a.axisX.type ? new b.StepAxis(b.Axis.units.x, c.normalized.series, j, b.extend({}, a.axisX, { ticks: c.normalized.labels, stretch: a.fullWidth })) : a.axisX.type.call(b, b.Axis.units.x, c.normalized.series, j, a.axisX), f = void 0 === a.axisY.type ? new b.AutoScaleAxis(b.Axis.units.y, c.normalized.series, j, b.extend({}, a.axisY, { high: b.isNumeric(a.high) ? a.high : a.axisY.high, low: b.isNumeric(a.low) ? a.low : a.axisY.low })) : a.axisY.type.call(b, b.Axis.units.y, c.normalized.series, j, a.axisY), d.createGridAndLabels(g, i, this.supportsForeignObject, a, this.eventEmitter), f.createGridAndLabels(g, i, this.supportsForeignObject, a, this.eventEmitter), a.showGridBackground && b.createGridBackground(g, j, a.classNames.gridBackground, this.eventEmitter), c.raw.series.forEach(function (e, g) { var i = h.elem("g"); i.attr({ "ct:series-name": e.name, "ct:meta": b.serialize(e.meta) }), i.addClass([a.classNames.series, e.className || a.classNames.series + "-" + b.alphaNumerate(g)].join(" ")); var k = [], l = []; c.normalized.series[g].forEach(function (a, h) { var i = { x: j.x1 + d.projectValue(a, h, c.normalized.series[g]), y: j.y1 - f.projectValue(a, h, c.normalized.series[g]) }; k.push(i.x, i.y), l.push({ value: a, valueIndex: h, meta: b.getMetaData(e, h) }) }.bind(this)); var m = { lineSmooth: b.getSeriesOption(e, a, "lineSmooth"), showPoint: b.getSeriesOption(e, a, "showPoint"), showLine: b.getSeriesOption(e, a, "showLine"), showArea: b.getSeriesOption(e, a, "showArea"), areaBase: b.getSeriesOption(e, a, "areaBase") }, n = "function" == typeof m.lineSmooth ? m.lineSmooth : m.lineSmooth ? b.Interpolation.monotoneCubic() : b.Interpolation.none(), o = n(k, l); if (m.showPoint && o.pathElements.forEach(function (c) { var h = i.elem("line", { x1: c.x, y1: c.y, x2: c.x + .01, y2: c.y }, a.classNames.point).attr({ "ct:value": [c.data.value.x, c.data.value.y].filter(b.isNumeric).join(","), "ct:meta": b.serialize(c.data.meta) }); this.eventEmitter.emit("draw", { type: "point", value: c.data.value, index: c.data.valueIndex, meta: c.data.meta, series: e, seriesIndex: g, axisX: d, axisY: f, group: i, element: h, x: c.x, y: c.y }) }.bind(this)), m.showLine) { var p = i.elem("path", { d: o.stringify() }, a.classNames.line, !0); this.eventEmitter.emit("draw", { type: "line", values: c.normalized.series[g], path: o.clone(), chartRect: j, index: g, series: e, seriesIndex: g, seriesMeta: e.meta, axisX: d, axisY: f, group: i, element: p }) } if (m.showArea && f.range) { var q = Math.max(Math.min(m.areaBase, f.range.max), f.range.min), r = j.y1 - f.projectValue(q); o.splitByCommand("M").filter(function (a) { return a.pathElements.length > 1 }).map(function (a) { var b = a.pathElements[0], c = a.pathElements[a.pathElements.length - 1]; return a.clone(!0).position(0).remove(1).move(b.x, r).line(b.x, b.y).position(a.pathElements.length + 1).line(c.x, r) }).forEach(function (b) { var h = i.elem("path", { d: b.stringify() }, a.classNames.area, !0); this.eventEmitter.emit("draw", { type: "area", values: c.normalized.series[g], path: b.clone(), series: e, seriesIndex: g, axisX: d, axisY: f, chartRect: j, index: g, group: i, element: h }) }.bind(this)) } }.bind(this)), this.eventEmitter.emit("created", { bounds: f.bounds, chartRect: j, axisX: d, axisY: f, svg: this.svg, options: a }) } function d(a, c, d, f) { b.Line["super"].constructor.call(this, a, c, e, b.extend({}, e, d), f) } var e = (a.window, a.document, { axisX: { offset: 30, position: "end", labelOffset: { x: 0, y: 0 }, showLabel: !0, showGrid: !0, labelInterpolationFnc: b.noop, type: void 0 }, axisY: { offset: 40, position: "start", labelOffset: { x: 0, y: 0 }, showLabel: !0, showGrid: !0, labelInterpolationFnc: b.noop, type: void 0, scaleMinSpace: 20, onlyInteger: !1 }, width: void 0, height: void 0, showLine: !0, showPoint: !0, showArea: !1, areaBase: 0, lineSmooth: !0, showGridBackground: !1, low: void 0, high: void 0, chartPadding: { top: 15, right: 15, bottom: 5, left: 10 }, fullWidth: !1, reverseData: !1, classNames: { chart: "ct-chart-line", label: "ct-label", labelGroup: "ct-labels", series: "ct-series", line: "ct-line", point: "ct-point", area: "ct-area", grid: "ct-grid", gridGroup: "ct-grids", gridBackground: "ct-grid-background", vertical: "ct-vertical", horizontal: "ct-horizontal", start: "ct-start", end: "ct-end" } }); b.Line = b.Base.extend({ constructor: d, createChart: c }) }(this || global, a), function (a, b) { + "use strict"; function c(a) { + var c, d; a.distributeSeries ? (c = b.normalizeData(this.data, a.reverseData, a.horizontalBars ? "x" : "y"), c.normalized.series = c.normalized.series.map(function (a) { return [a] })) : c = b.normalizeData(this.data, a.reverseData, a.horizontalBars ? "x" : "y"), this.svg = b.createSvg(this.container, a.width, a.height, a.classNames.chart + (a.horizontalBars ? " " + a.classNames.horizontalBars : "")); var f = this.svg.elem("g").addClass(a.classNames.gridGroup), g = this.svg.elem("g"), h = this.svg.elem("g").addClass(a.classNames.labelGroup); + if (a.stackBars && 0 !== c.normalized.series.length) { var i = b.serialMap(c.normalized.series, function () { return Array.prototype.slice.call(arguments).map(function (a) { return a }).reduce(function (a, b) { return { x: a.x + (b && b.x) || 0, y: a.y + (b && b.y) || 0 } }, { x: 0, y: 0 }) }); d = b.getHighLow([i], a, a.horizontalBars ? "x" : "y") } else d = b.getHighLow(c.normalized.series, a, a.horizontalBars ? "x" : "y"); d.high = +a.high || (0 === a.high ? 0 : d.high), d.low = +a.low || (0 === a.low ? 0 : d.low); var j, k, l, m, n, o = b.createChartRect(this.svg, a, e.padding); k = a.distributeSeries && a.stackBars ? c.normalized.labels.slice(0, 1) : c.normalized.labels, a.horizontalBars ? (j = m = void 0 === a.axisX.type ? new b.AutoScaleAxis(b.Axis.units.x, c.normalized.series, o, b.extend({}, a.axisX, { highLow: d, referenceValue: 0 })) : a.axisX.type.call(b, b.Axis.units.x, c.normalized.series, o, b.extend({}, a.axisX, { highLow: d, referenceValue: 0 })), l = n = void 0 === a.axisY.type ? new b.StepAxis(b.Axis.units.y, c.normalized.series, o, { ticks: k }) : a.axisY.type.call(b, b.Axis.units.y, c.normalized.series, o, a.axisY)) : (l = m = void 0 === a.axisX.type ? new b.StepAxis(b.Axis.units.x, c.normalized.series, o, { ticks: k }) : a.axisX.type.call(b, b.Axis.units.x, c.normalized.series, o, a.axisX), j = n = void 0 === a.axisY.type ? new b.AutoScaleAxis(b.Axis.units.y, c.normalized.series, o, b.extend({}, a.axisY, { highLow: d, referenceValue: 0 })) : a.axisY.type.call(b, b.Axis.units.y, c.normalized.series, o, b.extend({}, a.axisY, { highLow: d, referenceValue: 0 }))); var p = a.horizontalBars ? o.x1 + j.projectValue(0) : o.y1 - j.projectValue(0), q = []; l.createGridAndLabels(f, h, this.supportsForeignObject, a, this.eventEmitter), j.createGridAndLabels(f, h, this.supportsForeignObject, a, this.eventEmitter), a.showGridBackground && b.createGridBackground(f, o, a.classNames.gridBackground, this.eventEmitter), c.raw.series.forEach(function (d, e) { var f, h, i = e - (c.raw.series.length - 1) / 2; f = a.distributeSeries && !a.stackBars ? l.axisLength / c.normalized.series.length / 2 : a.distributeSeries && a.stackBars ? l.axisLength / 2 : l.axisLength / c.normalized.series[e].length / 2, h = g.elem("g"), h.attr({ "ct:series-name": d.name, "ct:meta": b.serialize(d.meta) }), h.addClass([a.classNames.series, d.className || a.classNames.series + "-" + b.alphaNumerate(e)].join(" ")), c.normalized.series[e].forEach(function (g, k) { var r, s, t, u; if (u = a.distributeSeries && !a.stackBars ? e : a.distributeSeries && a.stackBars ? 0 : k, r = a.horizontalBars ? { x: o.x1 + j.projectValue(g && g.x ? g.x : 0, k, c.normalized.series[e]), y: o.y1 - l.projectValue(g && g.y ? g.y : 0, u, c.normalized.series[e]) } : { x: o.x1 + l.projectValue(g && g.x ? g.x : 0, u, c.normalized.series[e]), y: o.y1 - j.projectValue(g && g.y ? g.y : 0, k, c.normalized.series[e]) }, l instanceof b.StepAxis && (l.options.stretch || (r[l.units.pos] += f * (a.horizontalBars ? -1 : 1)), r[l.units.pos] += a.stackBars || a.distributeSeries ? 0 : i * a.seriesBarDistance * (a.horizontalBars ? -1 : 1)), t = q[k] || p, q[k] = t - (p - r[l.counterUnits.pos]), void 0 !== g) { var v = {}; v[l.units.pos + "1"] = r[l.units.pos], v[l.units.pos + "2"] = r[l.units.pos], !a.stackBars || "accumulate" !== a.stackMode && a.stackMode ? (v[l.counterUnits.pos + "1"] = p, v[l.counterUnits.pos + "2"] = r[l.counterUnits.pos]) : (v[l.counterUnits.pos + "1"] = t, v[l.counterUnits.pos + "2"] = q[k]), v.x1 = Math.min(Math.max(v.x1, o.x1), o.x2), v.x2 = Math.min(Math.max(v.x2, o.x1), o.x2), v.y1 = Math.min(Math.max(v.y1, o.y2), o.y1), v.y2 = Math.min(Math.max(v.y2, o.y2), o.y1); var w = b.getMetaData(d, k); s = h.elem("line", v, a.classNames.bar).attr({ "ct:value": [g.x, g.y].filter(b.isNumeric).join(","), "ct:meta": b.serialize(w) }), this.eventEmitter.emit("draw", b.extend({ type: "bar", value: g, index: k, meta: w, series: d, seriesIndex: e, axisX: m, axisY: n, chartRect: o, group: h, element: s }, v)) } }.bind(this)) }.bind(this)), this.eventEmitter.emit("created", { bounds: j.bounds, chartRect: o, axisX: m, axisY: n, svg: this.svg, options: a }) + } function d(a, c, d, f) { b.Bar["super"].constructor.call(this, a, c, e, b.extend({}, e, d), f) } var e = (a.window, a.document, { axisX: { offset: 30, position: "end", labelOffset: { x: 0, y: 0 }, showLabel: !0, showGrid: !0, labelInterpolationFnc: b.noop, scaleMinSpace: 30, onlyInteger: !1 }, axisY: { offset: 40, position: "start", labelOffset: { x: 0, y: 0 }, showLabel: !0, showGrid: !0, labelInterpolationFnc: b.noop, scaleMinSpace: 20, onlyInteger: !1 }, width: void 0, height: void 0, high: void 0, low: void 0, referenceValue: 0, chartPadding: { top: 15, right: 15, bottom: 5, left: 10 }, seriesBarDistance: 15, stackBars: !1, stackMode: "accumulate", horizontalBars: !1, distributeSeries: !1, reverseData: !1, showGridBackground: !1, classNames: { chart: "ct-chart-bar", horizontalBars: "ct-horizontal-bars", label: "ct-label", labelGroup: "ct-labels", series: "ct-series", bar: "ct-bar", grid: "ct-grid", gridGroup: "ct-grids", gridBackground: "ct-grid-background", vertical: "ct-vertical", horizontal: "ct-horizontal", start: "ct-start", end: "ct-end" } }); b.Bar = b.Base.extend({ constructor: d, createChart: c }) + }(this || global, a), function (a, b) { "use strict"; function c(a, b, c) { var d = b.x > a.x; return d && "explode" === c || !d && "implode" === c ? "start" : d && "implode" === c || !d && "explode" === c ? "end" : "middle" } function d(a) { var d, e, g, h, i, j = b.normalizeData(this.data), k = [], l = a.startAngle; this.svg = b.createSvg(this.container, a.width, a.height, a.donut ? a.classNames.chartDonut : a.classNames.chartPie), e = b.createChartRect(this.svg, a, f.padding), g = Math.min(e.width() / 2, e.height() / 2), i = a.total || j.normalized.series.reduce(function (a, b) { return a + b }, 0); var m = b.quantity(a.donutWidth); "%" === m.unit && (m.value *= g / 100), g -= a.donut && !a.donutSolid ? m.value / 2 : 0, h = "outside" === a.labelPosition || a.donut && !a.donutSolid ? g : "center" === a.labelPosition ? 0 : a.donutSolid ? g - m.value / 2 : g / 2, h += a.labelOffset; var n = { x: e.x1 + e.width() / 2, y: e.y2 + e.height() / 2 }, o = 1 === j.raw.series.filter(function (a) { return a.hasOwnProperty("value") ? 0 !== a.value : 0 !== a }).length; j.raw.series.forEach(function (a, b) { k[b] = this.svg.elem("g", null, null) }.bind(this)), a.showLabel && (d = this.svg.elem("g", null, null)), j.raw.series.forEach(function (e, f) { if (0 !== j.normalized.series[f] || !a.ignoreEmptyValues) { k[f].attr({ "ct:series-name": e.name }), k[f].addClass([a.classNames.series, e.className || a.classNames.series + "-" + b.alphaNumerate(f)].join(" ")); var p = i > 0 ? l + j.normalized.series[f] / i * 360 : 0, q = Math.max(0, l - (0 === f || o ? 0 : .2)); p - q >= 359.99 && (p = q + 359.99); var r, s, t, u = b.polarToCartesian(n.x, n.y, g, q), v = b.polarToCartesian(n.x, n.y, g, p), w = new b.Svg.Path(!a.donut || a.donutSolid).move(v.x, v.y).arc(g, g, 0, p - l > 180, 0, u.x, u.y); a.donut ? a.donutSolid && (t = g - m.value, r = b.polarToCartesian(n.x, n.y, t, l - (0 === f || o ? 0 : .2)), s = b.polarToCartesian(n.x, n.y, t, p), w.line(r.x, r.y), w.arc(t, t, 0, p - l > 180, 1, s.x, s.y)) : w.line(n.x, n.y); var x = a.classNames.slicePie; a.donut && (x = a.classNames.sliceDonut, a.donutSolid && (x = a.classNames.sliceDonutSolid)); var y = k[f].elem("path", { d: w.stringify() }, x); if (y.attr({ "ct:value": j.normalized.series[f], "ct:meta": b.serialize(e.meta) }), a.donut && !a.donutSolid && (y._node.style.strokeWidth = m.value + "px"), this.eventEmitter.emit("draw", { type: "slice", value: j.normalized.series[f], totalDataSum: i, index: f, meta: e.meta, series: e, group: k[f], element: y, path: w.clone(), center: n, radius: g, startAngle: l, endAngle: p }), a.showLabel) { var z; z = 1 === j.raw.series.length ? { x: n.x, y: n.y } : b.polarToCartesian(n.x, n.y, h, l + (p - l) / 2); var A; A = j.normalized.labels && !b.isFalseyButZero(j.normalized.labels[f]) ? j.normalized.labels[f] : j.normalized.series[f]; var B = a.labelInterpolationFnc(A, f); if (B || 0 === B) { var C = d.elem("text", { dx: z.x, dy: z.y, "text-anchor": c(n, z, a.labelDirection) }, a.classNames.label).text("" + B); this.eventEmitter.emit("draw", { type: "label", index: f, group: d, element: C, text: "" + B, x: z.x, y: z.y }) } } l = p } }.bind(this)), this.eventEmitter.emit("created", { chartRect: e, svg: this.svg, options: a }) } function e(a, c, d, e) { b.Pie["super"].constructor.call(this, a, c, f, b.extend({}, f, d), e) } var f = (a.window, a.document, { width: void 0, height: void 0, chartPadding: 5, classNames: { chartPie: "ct-chart-pie", chartDonut: "ct-chart-donut", series: "ct-series", slicePie: "ct-slice-pie", sliceDonut: "ct-slice-donut", sliceDonutSolid: "ct-slice-donut-solid", label: "ct-label" }, startAngle: 0, total: void 0, donut: !1, donutSolid: !1, donutWidth: 60, showLabel: !0, labelOffset: 0, labelPosition: "inside", labelInterpolationFnc: b.noop, labelDirection: "neutral", reverseData: !1, ignoreEmptyValues: !1 }); b.Pie = b.Base.extend({ constructor: e, createChart: d, determineAnchorPosition: c }) }(this || global, a), a +}); +//# sourceMappingURL=chartist.min.js.map + +var i, l, selectedLine = null; + +/* Navigate to hash without browser history entry */ +var navigateToHash = function () { + if (window.history !== undefined && window.history.replaceState !== undefined) { + window.history.replaceState(undefined, undefined, this.getAttribute("href")); + } +}; + +var hashLinks = document.getElementsByClassName('navigatetohash'); +for (i = 0, l = hashLinks.length; i < l; i++) { + hashLinks[i].addEventListener('click', navigateToHash); +} + +/* Switch test method */ +var switchTestMethod = function () { + var method = this.getAttribute("value"); + console.log("Selected test method: " + method); + + var lines, i, l, coverageData, lineAnalysis, cells; + + lines = document.querySelectorAll('.lineAnalysis tr'); + + for (i = 1, l = lines.length; i < l; i++) { + coverageData = JSON.parse(lines[i].getAttribute('data-coverage').replace(/'/g, '"')); + lineAnalysis = coverageData[method]; + cells = lines[i].querySelectorAll('td'); + if (lineAnalysis === undefined) { + lineAnalysis = coverageData.AllTestMethods; + if (lineAnalysis.LVS !== 'gray') { + cells[0].setAttribute('class', 'red'); + cells[1].innerText = cells[1].textContent = '0'; + cells[4].setAttribute('class', 'lightred'); + } + } else { + cells[0].setAttribute('class', lineAnalysis.LVS); + cells[1].innerText = cells[1].textContent = lineAnalysis.VC; + cells[4].setAttribute('class', 'light' + lineAnalysis.LVS); + } + } +}; + +var testMethods = document.getElementsByClassName('switchtestmethod'); +for (i = 0, l = testMethods.length; i < l; i++) { + testMethods[i].addEventListener('change', switchTestMethod); +} + +/* Highlight test method by line */ +var toggleLine = function () { + if (selectedLine === this) { + selectedLine = null; + } else { + selectedLine = null; + unhighlightTestMethods(); + highlightTestMethods.call(this); + selectedLine = this; + } + +}; +var highlightTestMethods = function () { + if (selectedLine !== null) { + return; + } + + var lineAnalysis; + var coverageData = JSON.parse(this.getAttribute('data-coverage').replace(/'/g, '"')); + var testMethods = document.getElementsByClassName('testmethod'); + + for (i = 0, l = testMethods.length; i < l; i++) { + lineAnalysis = coverageData[testMethods[i].id]; + if (lineAnalysis === undefined) { + testMethods[i].className = testMethods[i].className.replace(/\s*light.+/g, ""); + } else { + testMethods[i].className += ' light' + lineAnalysis.LVS; + } + } +}; +var unhighlightTestMethods = function () { + if (selectedLine !== null) { + return; + } + + var testMethods = document.getElementsByClassName('testmethod'); + for (i = 0, l = testMethods.length; i < l; i++) { + testMethods[i].className = testMethods[i].className.replace(/\s*light.+/g, ""); + } +}; +var coverableLines = document.getElementsByClassName('coverableline'); +for (i = 0, l = coverableLines.length; i < l; i++) { + coverableLines[i].addEventListener('click', toggleLine); + coverableLines[i].addEventListener('mouseenter', highlightTestMethods); + coverableLines[i].addEventListener('mouseleave', unhighlightTestMethods); +} + +/* History charts */ +var renderChart = function (chart) { + // Remove current children (e.g. PNG placeholder) + while (chart.firstChild) { + chart.firstChild.remove(); + } + + var chartData = window[chart.getAttribute('data-data')]; + var options = { + axisY: { + type: undefined, + onlyInteger: true + }, + lineSmooth: false, + low: 0, + high: 100, + scaleMinSpace: 20, + onlyInteger: true, + fullWidth: true + }; + var lineChart = new Chartist.Line(chart, { + labels: [], + series: chartData.series + }, options); + + /* Zoom */ + var zoomButtonDiv = document.createElement("div"); + zoomButtonDiv.className = "toggleZoom"; + var zoomButtonLink = document.createElement("a"); + zoomButtonLink.setAttribute("href", ""); + var zoomButtonText = document.createElement("i"); + zoomButtonText.className = "icon-search-plus"; + + zoomButtonLink.appendChild(zoomButtonText); + zoomButtonDiv.appendChild(zoomButtonLink); + + chart.appendChild(zoomButtonDiv); + + zoomButtonDiv.addEventListener('click', function (event) { + event.preventDefault(); + + if (options.axisY.type === undefined) { + options.axisY.type = Chartist.AutoScaleAxis; + zoomButtonText.className = "icon-search-minus"; + } else { + options.axisY.type = undefined; + zoomButtonText.className = "icon-search-plus"; + } + + lineChart.update(null, options); + }); + + var tooltip = document.createElement("div"); + tooltip.className = "tooltip"; + + chart.appendChild(tooltip); + + /* Tooltips */ + var showToolTip = function () { + var index = this.getAttribute('ct:meta'); + + tooltip.innerHTML = chartData.tooltips[index]; + tooltip.style.display = 'block'; + }; + + var moveToolTip = function (event) { + var box = chart.getBoundingClientRect(); + var left = event.pageX - box.left - window.pageXOffset; + var top = event.pageY - box.top - window.pageYOffset; + + left = left + 20; + top = top - tooltip.offsetHeight / 2; + + if (left + tooltip.offsetWidth > box.width) { + left -= tooltip.offsetWidth + 40; + } + + if (top < 0) { + top = 0; + } + + if (top + tooltip.offsetHeight > box.height) { + top = box.height - tooltip.offsetHeight; + } + + tooltip.style.left = left + 'px'; + tooltip.style.top = top + 'px'; + }; + + var hideToolTip = function () { + tooltip.style.display = 'none'; + }; + chart.addEventListener('mousemove', moveToolTip); + + lineChart.on('created', function () { + var chartPoints = chart.getElementsByClassName('ct-point'); + for (i = 0, l = chartPoints.length; i < l; i++) { + chartPoints[i].addEventListener('mousemove', showToolTip); + chartPoints[i].addEventListener('mouseout', hideToolTip); + } + }); +}; + +var charts = document.getElementsByClassName('historychart'); +for (i = 0, l = charts.length; i < l; i++) { + renderChart(charts[i]); +} + +var assemblies = [ + { + "name": "chemistry cafe api.dll", + "classes": [ + { "name": "Chemistry_Cafe_API.Controllers.FamilyController", "rp": "chemistry_cafe_api.dll_FamilyController.html", "cl": 19, "ucl": 0, "cal": 19, "tl": 57, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "Chemistry_Cafe_API.Controllers.FamilyTagMechListController", "rp": "chemistry_cafe_api.dll_FamilyTagMechListController.html", "cl": 19, "ucl": 0, "cal": 19, "tl": 57, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "Chemistry_Cafe_API.Controllers.FamilyTagMechListVersionController", "rp": "chemistry_cafe_api.dll_FamilyTagMechListVersionController.html", "cl": 19, "ucl": 0, "cal": 19, "tl": 57, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "Chemistry_Cafe_API.Controllers.OpenAtmosController", "rp": "chemistry_cafe_api.dll_OpenAtmosController.html", "cl": 10, "ucl": 0, "cal": 10, "tl": 37, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "Chemistry_Cafe_API.Controllers.PropertyListController", "rp": "chemistry_cafe_api.dll_PropertyListController.html", "cl": 19, "ucl": 3, "cal": 22, "tl": 64, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "Chemistry_Cafe_API.Controllers.PropertyTypeController", "rp": "chemistry_cafe_api.dll_PropertyTypeController.html", "cl": 19, "ucl": 3, "cal": 22, "tl": 64, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "Chemistry_Cafe_API.Controllers.PropertyVersionController", "rp": "chemistry_cafe_api.dll_PropertyVersionController.html", "cl": 19, "ucl": 0, "cal": 19, "tl": 57, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "Chemistry_Cafe_API.Controllers.ReactantProductListController", "rp": "chemistry_cafe_api.dll_ReactantProductListController.html", "cl": 0, "ucl": 25, "cal": 25, "tl": 72, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "Chemistry_Cafe_API.Controllers.ReactionController", "rp": "chemistry_cafe_api.dll_ReactionController.html", "cl": 19, "ucl": 6, "cal": 25, "tl": 72, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "Chemistry_Cafe_API.Controllers.SpeciesController", "rp": "chemistry_cafe_api.dll_SpeciesController.html", "cl": 19, "ucl": 3, "cal": 22, "tl": 64, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "Chemistry_Cafe_API.Controllers.TagMechanismController", "rp": "chemistry_cafe_api.dll_TagMechanismController.html", "cl": 22, "ucl": 0, "cal": 22, "tl": 63, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "Chemistry_Cafe_API.Controllers.TagMechanismReactionListController", "rp": "chemistry_cafe_api.dll_TagMechanismReactionListController.html", "cl": 19, "ucl": 0, "cal": 19, "tl": 57, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "Chemistry_Cafe_API.Controllers.TagMechanismReactionListVersionController", "rp": "chemistry_cafe_api.dll_TagMechanismReactionListVersionController.html", "cl": 19, "ucl": 0, "cal": 19, "tl": 57, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "Chemistry_Cafe_API.Controllers.TagMechanismSpeciesListController", "rp": "chemistry_cafe_api.dll_TagMechanismSpeciesListController.html", "cl": 19, "ucl": 0, "cal": 19, "tl": 57, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "Chemistry_Cafe_API.Controllers.TagMechanismSpeciesListVersionController", "rp": "chemistry_cafe_api.dll_TagMechanismSpeciesListVersionController.html", "cl": 19, "ucl": 0, "cal": 19, "tl": 57, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "Chemistry_Cafe_API.Controllers.UserController", "rp": "chemistry_cafe_api.dll_UserController.html", "cl": 19, "ucl": 0, "cal": 19, "tl": 57, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "Chemistry_Cafe_API.Controllers.UserPreferencesController", "rp": "chemistry_cafe_api.dll_UserPreferencesController.html", "cl": 19, "ucl": 0, "cal": 19, "tl": 57, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "Chemistry_Cafe_API.Models.DeleteReactantProductList", "rp": "chemistry_cafe_api.dll_DeleteReactantProductList.html", "cl": 0, "ucl": 2, "cal": 2, "tl": 8, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "Chemistry_Cafe_API.Models.Family", "rp": "chemistry_cafe_api.dll_Family.html", "cl": 4, "ucl": 0, "cal": 4, "tl": 10, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "Chemistry_Cafe_API.Models.FamilyTagMechList", "rp": "chemistry_cafe_api.dll_FamilyTagMechList.html", "cl": 5, "ucl": 0, "cal": 5, "tl": 11, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "Chemistry_Cafe_API.Models.FamilyTagMechListVersion", "rp": "chemistry_cafe_api.dll_FamilyTagMechListVersion.html", "cl": 8, "ucl": 0, "cal": 8, "tl": 14, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "Chemistry_Cafe_API.Models.Property", "rp": "chemistry_cafe_api.dll_Property.html", "cl": 21, "ucl": 1, "cal": 22, "tl": 28, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "Chemistry_Cafe_API.Models.PropertyList", "rp": "chemistry_cafe_api.dll_PropertyList.html", "cl": 4, "ucl": 0, "cal": 4, "tl": 10, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "Chemistry_Cafe_API.Models.PropertyType", "rp": "chemistry_cafe_api.dll_PropertyType.html", "cl": 5, "ucl": 0, "cal": 5, "tl": 11, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "Chemistry_Cafe_API.Models.PropertyVersion", "rp": "chemistry_cafe_api.dll_PropertyVersion.html", "cl": 13, "ucl": 0, "cal": 13, "tl": 19, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "Chemistry_Cafe_API.Models.ReactantProductList", "rp": "chemistry_cafe_api.dll_ReactantProductList.html", "cl": 0, "ucl": 4, "cal": 4, "tl": 10, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "Chemistry_Cafe_API.Models.ReactantsProducts", "rp": "chemistry_cafe_api.dll_ReactantsProducts.html", "cl": 5, "ucl": 0, "cal": 5, "tl": 11, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "Chemistry_Cafe_API.Models.Reaction", "rp": "chemistry_cafe_api.dll_Reaction.html", "cl": 6, "ucl": 0, "cal": 6, "tl": 12, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "Chemistry_Cafe_API.Models.Species", "rp": "chemistry_cafe_api.dll_Species.html", "cl": 3, "ucl": 0, "cal": 3, "tl": 9, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "Chemistry_Cafe_API.Models.TagMechanism", "rp": "chemistry_cafe_api.dll_TagMechanism.html", "cl": 3, "ucl": 0, "cal": 3, "tl": 9, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "Chemistry_Cafe_API.Models.TagMechanismReactionList", "rp": "chemistry_cafe_api.dll_TagMechanismReactionList.html", "cl": 5, "ucl": 0, "cal": 5, "tl": 11, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "Chemistry_Cafe_API.Models.TagMechanismReactionListVersion", "rp": "chemistry_cafe_api.dll_TagMechanismReactionListVersion.html", "cl": 8, "ucl": 0, "cal": 8, "tl": 14, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "Chemistry_Cafe_API.Models.TagMechanismSpeciesList", "rp": "chemistry_cafe_api.dll_TagMechanismSpeciesList.html", "cl": 5, "ucl": 0, "cal": 5, "tl": 11, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "Chemistry_Cafe_API.Models.TagMechanismSpeciesListVersion", "rp": "chemistry_cafe_api.dll_TagMechanismSpeciesListVersion.html", "cl": 8, "ucl": 0, "cal": 8, "tl": 14, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "Chemistry_Cafe_API.Models.User", "rp": "chemistry_cafe_api.dll_User.html", "cl": 3, "ucl": 0, "cal": 3, "tl": 9, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "Chemistry_Cafe_API.Models.UserPreferences", "rp": "chemistry_cafe_api.dll_UserPreferences.html", "cl": 4, "ucl": 0, "cal": 4, "tl": 10, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "Chemistry_Cafe_API.Services.FamilyService", "rp": "chemistry_cafe_api.dll_FamilyService.html", "cl": 70, "ucl": 0, "cal": 70, "tl": 109, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "Chemistry_Cafe_API.Services.FamilyTagMechListService", "rp": "chemistry_cafe_api.dll_FamilyTagMechListService.html", "cl": 64, "ucl": 0, "cal": 64, "tl": 98, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "Chemistry_Cafe_API.Services.FamilyTagMechListVersionService", "rp": "chemistry_cafe_api.dll_FamilyTagMechListVersionService.html", "cl": 73, "ucl": 0, "cal": 73, "tl": 107, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "Chemistry_Cafe_API.Services.OpenAtmosService", "rp": "chemistry_cafe_api.dll_OpenAtmosService.html", "cl": 194, "ucl": 64, "cal": 258, "tl": 311, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "Chemistry_Cafe_API.Services.PropertyListService", "rp": "chemistry_cafe_api.dll_PropertyListService.html", "cl": 121, "ucl": 9, "cal": 130, "tl": 171, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "Chemistry_Cafe_API.Services.PropertyTypeService", "rp": "chemistry_cafe_api.dll_PropertyTypeService.html", "cl": 71, "ucl": 7, "cal": 78, "tl": 120, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "Chemistry_Cafe_API.Services.PropertyVersionService", "rp": "chemistry_cafe_api.dll_PropertyVersionService.html", "cl": 98, "ucl": 9, "cal": 107, "tl": 142, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "Chemistry_Cafe_API.Services.ReactantProductListService", "rp": "chemistry_cafe_api.dll_ReactantProductListService.html", "cl": 36, "ucl": 60, "cal": 96, "tl": 141, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "Chemistry_Cafe_API.Services.ReactionService", "rp": "chemistry_cafe_api.dll_ReactionService.html", "cl": 142, "ucl": 0, "cal": 142, "tl": 203, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "Chemistry_Cafe_API.Services.SpeciesService", "rp": "chemistry_cafe_api.dll_SpeciesService.html", "cl": 65, "ucl": 0, "cal": 65, "tl": 104, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "Chemistry_Cafe_API.Services.TagMechanismReactionListService", "rp": "chemistry_cafe_api.dll_TagMechanismReactionListService.html", "cl": 64, "ucl": 0, "cal": 64, "tl": 98, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "Chemistry_Cafe_API.Services.TagMechanismReactionListVersionService", "rp": "chemistry_cafe_api.dll_TagMechanismReactionListVersionService.html", "cl": 73, "ucl": 0, "cal": 73, "tl": 107, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "Chemistry_Cafe_API.Services.TagMechanismService", "rp": "chemistry_cafe_api.dll_TagMechanismService.html", "cl": 65, "ucl": 0, "cal": 65, "tl": 104, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "Chemistry_Cafe_API.Services.TagMechanismSpeciesListService", "rp": "chemistry_cafe_api.dll_TagMechanismSpeciesListService.html", "cl": 64, "ucl": 0, "cal": 64, "tl": 98, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "Chemistry_Cafe_API.Services.TagMechanismSpeciesListVersionService", "rp": "chemistry_cafe_api.dll_TagMechanismSpeciesListVersionService.html", "cl": 73, "ucl": 0, "cal": 73, "tl": 107, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "Chemistry_Cafe_API.Services.UserPreferencesService", "rp": "chemistry_cafe_api.dll_UserPreferencesService.html", "cl": 61, "ucl": 0, "cal": 61, "tl": 96, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "Chemistry_Cafe_API.Services.UserService", "rp": "chemistry_cafe_api.dll_UserService.html", "cl": 58, "ucl": 0, "cal": 58, "tl": 93, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "Chemistry_Cafe_API.Tests.DBConnection", "rp": "chemistry_cafe_api.dll_DBConnection.html", "cl": 1, "ucl": 0, "cal": 1, "tl": 9, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "Chemistry_Cafe_API.Tests.FamilyControllerTests", "rp": "chemistry_cafe_api.dll_FamilyControllerTests.html", "cl": 18, "ucl": 0, "cal": 18, "tl": 50, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "Chemistry_Cafe_API.Tests.FamilyTagMechListControllerTests", "rp": "chemistry_cafe_api.dll_FamilyTagMechListControllerTests.html", "cl": 32, "ucl": 0, "cal": 32, "tl": 66, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "Chemistry_Cafe_API.Tests.FamilyTagMechListVersionControllerTests", "rp": "chemistry_cafe_api.dll_FamilyTagMechListVersionControllerTests.html", "cl": 39, "ucl": 0, "cal": 39, "tl": 72, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "Chemistry_Cafe_API.Tests.OpenAtmosControllerTests", "rp": "chemistry_cafe_api.dll_OpenAtmosControllerTests.html", "cl": 11, "ucl": 0, "cal": 11, "tl": 34, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "Chemistry_Cafe_API.Tests.PropertyListControllerTests", "rp": "chemistry_cafe_api.dll_PropertyListControllerTests.html", "cl": 31, "ucl": 0, "cal": 31, "tl": 63, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "Chemistry_Cafe_API.Tests.PropertyTypeControllerTests", "rp": "chemistry_cafe_api.dll_PropertyTypeControllerTests.html", "cl": 33, "ucl": 0, "cal": 33, "tl": 65, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "Chemistry_Cafe_API.Tests.PropertyVersionControllerTests", "rp": "chemistry_cafe_api.dll_PropertyVersionControllerTests.html", "cl": 38, "ucl": 0, "cal": 38, "tl": 70, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "Chemistry_Cafe_API.Tests.ReactionControllerTests", "rp": "chemistry_cafe_api.dll_ReactionControllerTests.html", "cl": 19, "ucl": 0, "cal": 19, "tl": 49, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "Chemistry_Cafe_API.Tests.SpeciesControllerTests", "rp": "chemistry_cafe_api.dll_SpeciesControllerTests.html", "cl": 22, "ucl": 0, "cal": 22, "tl": 55, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "Chemistry_Cafe_API.Tests.TagMechanismControllerTests", "rp": "chemistry_cafe_api.dll_TagMechanismControllerTests.html", "cl": 28, "ucl": 0, "cal": 28, "tl": 67, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "Chemistry_Cafe_API.Tests.TagMechanismReactionListControllerTests", "rp": "chemistry_cafe_api.dll_TagMechanismReactionListControllerTests.html", "cl": 36, "ucl": 0, "cal": 36, "tl": 71, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "Chemistry_Cafe_API.Tests.TagMechanismReactionListVersionControllerTests", "rp": "chemistry_cafe_api.dll_TagMechanismReactionListVersionControllerTests.html", "cl": 42, "ucl": 0, "cal": 42, "tl": 77, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "Chemistry_Cafe_API.Tests.TagMechanismSpeciesListControllerTests", "rp": "chemistry_cafe_api.dll_TagMechanismSpeciesListControllerTests.html", "cl": 36, "ucl": 0, "cal": 36, "tl": 71, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "Chemistry_Cafe_API.Tests.TagMechanismSpeciesListVersionControllerTests", "rp": "chemistry_cafe_api.dll_TagMechanismSpeciesListVersionControllerTests.html", "cl": 39, "ucl": 0, "cal": 39, "tl": 77, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "Chemistry_Cafe_API.Tests.UserControllerTests", "rp": "chemistry_cafe_api.dll_UserControllerTests.html", "cl": 22, "ucl": 0, "cal": 22, "tl": 55, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "Chemistry_Cafe_API.Tests.UserPreferencesControllerTests", "rp": "chemistry_cafe_api.dll_UserPreferencesControllerTests.html", "cl": 30, "ucl": 0, "cal": 30, "tl": 62, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "Program", "rp": "chemistry_cafe_api.dll_Program.html", "cl": 0, "ucl": 21, "cal": 21, "tl": 40, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + ]}, + { + "name": "mysqlconnector.dll", + "classes": [ + { "name": "MySqlConnector.Authentication.AuthenticationPlugins", "rp": "mysqlconnector.dll_AuthenticationPlugins.html", "cl": 0, "ucl": 10, "cal": 10, "tl": 40, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "MySqlConnector.ColumnReaders.BinaryBooleanColumnReader", "rp": "mysqlconnector.dll_BinaryBooleanColumnReader.html", "cl": 0, "ucl": 4, "cal": 4, "tl": 19, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "MySqlConnector.ColumnReaders.BinaryDateTimeColumnReader", "rp": "mysqlconnector.dll_BinaryDateTimeColumnReader.html", "cl": 0, "ucl": 28, "cal": 28, "tl": 62, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "MySqlConnector.ColumnReaders.BinaryDoubleColumnReader", "rp": "mysqlconnector.dll_BinaryDoubleColumnReader.html", "cl": 0, "ucl": 2, "cal": 2, "tl": 12, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "MySqlConnector.ColumnReaders.BinaryFloatColumnReader", "rp": "mysqlconnector.dll_BinaryFloatColumnReader.html", "cl": 0, "ucl": 2, "cal": 2, "tl": 12, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "MySqlConnector.ColumnReaders.BinarySignedInt16ColumnReader", "rp": "mysqlconnector.dll_BinarySignedInt16ColumnReader.html", "cl": 0, "ucl": 4, "cal": 4, "tl": 20, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "MySqlConnector.ColumnReaders.BinarySignedInt32ColumnReader", "rp": "mysqlconnector.dll_BinarySignedInt32ColumnReader.html", "cl": 0, "ucl": 4, "cal": 4, "tl": 20, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "MySqlConnector.ColumnReaders.BinarySignedInt64ColumnReader", "rp": "mysqlconnector.dll_BinarySignedInt64ColumnReader.html", "cl": 0, "ucl": 4, "cal": 4, "tl": 20, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "MySqlConnector.ColumnReaders.BinarySignedInt8ColumnReader", "rp": "mysqlconnector.dll_BinarySignedInt8ColumnReader.html", "cl": 0, "ucl": 4, "cal": 4, "tl": 19, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "MySqlConnector.ColumnReaders.BinaryTimeColumnReader", "rp": "mysqlconnector.dll_BinaryTimeColumnReader.html", "cl": 0, "ucl": 16, "cal": 16, "tl": 33, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "MySqlConnector.ColumnReaders.BinaryUnsignedInt16ColumnReader", "rp": "mysqlconnector.dll_BinaryUnsignedInt16ColumnReader.html", "cl": 0, "ucl": 4, "cal": 4, "tl": 20, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "MySqlConnector.ColumnReaders.BinaryUnsignedInt32ColumnReader", "rp": "mysqlconnector.dll_BinaryUnsignedInt32ColumnReader.html", "cl": 0, "ucl": 4, "cal": 4, "tl": 20, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "MySqlConnector.ColumnReaders.BinaryUnsignedInt64ColumnReader", "rp": "mysqlconnector.dll_BinaryUnsignedInt64ColumnReader.html", "cl": 0, "ucl": 4, "cal": 4, "tl": 20, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "MySqlConnector.ColumnReaders.BinaryUnsignedInt8ColumnReader", "rp": "mysqlconnector.dll_BinaryUnsignedInt8ColumnReader.html", "cl": 0, "ucl": 4, "cal": 4, "tl": 19, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "MySqlConnector.ColumnReaders.BinaryYearColumnReader", "rp": "mysqlconnector.dll_BinaryYearColumnReader.html", "cl": 0, "ucl": 4, "cal": 4, "tl": 20, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "MySqlConnector.ColumnReaders.BitColumnReader", "rp": "mysqlconnector.dll_BitColumnReader.html", "cl": 0, "ucl": 11, "cal": 11, "tl": 37, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "MySqlConnector.ColumnReaders.BytesColumnReader", "rp": "mysqlconnector.dll_BytesColumnReader.html", "cl": 0, "ucl": 2, "cal": 2, "tl": 11, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "MySqlConnector.ColumnReaders.ColumnReader", "rp": "mysqlconnector.dll_ColumnReader.html", "cl": 24, "ucl": 35, "cal": 59, "tl": 125, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "MySqlConnector.ColumnReaders.DecimalColumnReader", "rp": "mysqlconnector.dll_DecimalColumnReader.html", "cl": 0, "ucl": 4, "cal": 4, "tl": 20, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "MySqlConnector.ColumnReaders.GuidBinary16ColumnReader", "rp": "mysqlconnector.dll_GuidBinary16ColumnReader.html", "cl": 0, "ucl": 3, "cal": 3, "tl": 20, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "MySqlConnector.ColumnReaders.GuidChar32ColumnReader", "rp": "mysqlconnector.dll_GuidChar32ColumnReader.html", "cl": 0, "ucl": 3, "cal": 3, "tl": 15, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "MySqlConnector.ColumnReaders.GuidChar36ColumnReader", "rp": "mysqlconnector.dll_GuidChar36ColumnReader.html", "cl": 0, "ucl": 3, "cal": 3, "tl": 15, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "MySqlConnector.ColumnReaders.GuidLittleEndianBinary16ColumnReader", "rp": "mysqlconnector.dll_GuidLittleEndianBinary16ColumnReader.html", "cl": 0, "ucl": 3, "cal": 3, "tl": 17, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "MySqlConnector.ColumnReaders.GuidTimeSwapBinary16ColumnReader", "rp": "mysqlconnector.dll_GuidTimeSwapBinary16ColumnReader.html", "cl": 0, "ucl": 3, "cal": 3, "tl": 20, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "MySqlConnector.ColumnReaders.NullColumnReader", "rp": "mysqlconnector.dll_NullColumnReader.html", "cl": 0, "ucl": 2, "cal": 2, "tl": 11, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "MySqlConnector.ColumnReaders.StringColumnReader", "rp": "mysqlconnector.dll_StringColumnReader.html", "cl": 2, "ucl": 0, "cal": 2, "tl": 13, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "MySqlConnector.ColumnReaders.TextBooleanColumnReader", "rp": "mysqlconnector.dll_TextBooleanColumnReader.html", "cl": 0, "ucl": 4, "cal": 4, "tl": 19, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "MySqlConnector.ColumnReaders.TextDateTimeColumnReader", "rp": "mysqlconnector.dll_TextDateTimeColumnReader.html", "cl": 25, "ucl": 17, "cal": 42, "tl": 95, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "MySqlConnector.ColumnReaders.TextDoubleColumnReader", "rp": "mysqlconnector.dll_TextDoubleColumnReader.html", "cl": 1, "ucl": 9, "cal": 10, "tl": 23, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "MySqlConnector.ColumnReaders.TextFloatColumnReader", "rp": "mysqlconnector.dll_TextFloatColumnReader.html", "cl": 3, "ucl": 7, "cal": 10, "tl": 23, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "MySqlConnector.ColumnReaders.TextSignedInt16ColumnReader", "rp": "mysqlconnector.dll_TextSignedInt16ColumnReader.html", "cl": 0, "ucl": 4, "cal": 4, "tl": 20, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "MySqlConnector.ColumnReaders.TextSignedInt32ColumnReader", "rp": "mysqlconnector.dll_TextSignedInt32ColumnReader.html", "cl": 3, "ucl": 1, "cal": 4, "tl": 20, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "MySqlConnector.ColumnReaders.TextSignedInt64ColumnReader", "rp": "mysqlconnector.dll_TextSignedInt64ColumnReader.html", "cl": 0, "ucl": 4, "cal": 4, "tl": 20, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "MySqlConnector.ColumnReaders.TextSignedInt8ColumnReader", "rp": "mysqlconnector.dll_TextSignedInt8ColumnReader.html", "cl": 3, "ucl": 1, "cal": 4, "tl": 20, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "MySqlConnector.ColumnReaders.TextTimeColumnReader", "rp": "mysqlconnector.dll_TextTimeColumnReader.html", "cl": 0, "ucl": 2, "cal": 2, "tl": 12, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "MySqlConnector.ColumnReaders.TextUnsignedInt16ColumnReader", "rp": "mysqlconnector.dll_TextUnsignedInt16ColumnReader.html", "cl": 0, "ucl": 4, "cal": 4, "tl": 20, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "MySqlConnector.ColumnReaders.TextUnsignedInt32ColumnReader", "rp": "mysqlconnector.dll_TextUnsignedInt32ColumnReader.html", "cl": 0, "ucl": 4, "cal": 4, "tl": 18, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "MySqlConnector.ColumnReaders.TextUnsignedInt64ColumnReader", "rp": "mysqlconnector.dll_TextUnsignedInt64ColumnReader.html", "cl": 0, "ucl": 4, "cal": 4, "tl": 20, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "MySqlConnector.ColumnReaders.TextUnsignedInt8ColumnReader", "rp": "mysqlconnector.dll_TextUnsignedInt8ColumnReader.html", "cl": 0, "ucl": 4, "cal": 4, "tl": 20, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "MySqlConnector.Core.CachedParameter", "rp": "mysqlconnector.dll_CachedParameter.html", "cl": 0, "ucl": 19, "cal": 19, "tl": 26, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "MySqlConnector.Core.CachedProcedure", "rp": "mysqlconnector.dll_CachedProcedure.html", "cl": 0, "ucl": 155, "cal": 155, "tl": 268, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "MySqlConnector.Core.ColumnTypeMetadata", "rp": "mysqlconnector.dll_ColumnTypeMetadata.html", "cl": 12, "ucl": 0, "cal": 12, "tl": 18, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "MySqlConnector.Core.CommandExecutor", "rp": "mysqlconnector.dll_CommandExecutor.html", "cl": 19, "ucl": 16, "cal": 35, "tl": 79, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "MySqlConnector.Core.CommandListPosition", "rp": "mysqlconnector.dll_CommandListPosition.html", "cl": 17, "ucl": 0, "cal": 17, "tl": 29, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "MySqlConnector.Core.ConcatenatedCommandPayloadCreator", "rp": "mysqlconnector.dll_ConcatenatedCommandPayloadCreator.html", "cl": 0, "ucl": 16, "cal": 16, "tl": 43, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "MySqlConnector.Core.ConnectionPool", "rp": "mysqlconnector.dll_ConnectionPool.html", "cl": 144, "ucl": 232, "cal": 376, "tl": 822, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "MySqlConnector.Core.ConnectionSettings", "rp": "mysqlconnector.dll_ConnectionSettings.html", "cl": 111, "ucl": 113, "cal": 224, "tl": 330, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "MySqlConnector.Core.DataReaderValuesEnumerator", "rp": "mysqlconnector.dll_DataReaderValuesEnumerator.html", "cl": 0, "ucl": 6, "cal": 6, "tl": 37, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "MySqlConnector.Core.DataRowsValuesEnumerator", "rp": "mysqlconnector.dll_DataRowsValuesEnumerator.html", "cl": 0, "ucl": 13, "cal": 13, "tl": 63, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "MySqlConnector.Core.DbDataReaderValuesEnumerator", "rp": "mysqlconnector.dll_DbDataReaderValuesEnumerator.html", "cl": 0, "ucl": 5, "cal": 5, "tl": 24, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "MySqlConnector.Core.DbTypeMapping", "rp": "mysqlconnector.dll_DbTypeMapping.html", "cl": 3, "ucl": 3, "cal": 6, "tl": 15, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "MySqlConnector.Core.EnlistedTransactionBase", "rp": "mysqlconnector.dll_EnlistedTransactionBase.html", "cl": 0, "ucl": 28, "cal": 28, "tl": 59, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "MySqlConnector.Core.FailOverLoadBalancer", "rp": "mysqlconnector.dll_FailOverLoadBalancer.html", "cl": 4, "ucl": 0, "cal": 4, "tl": 21, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "MySqlConnector.Core.ICancellableCommandExtensions", "rp": "mysqlconnector.dll_ICancellableCommandExtensions.html", "cl": 16, "ucl": 6, "cal": 22, "tl": 92, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "MySqlConnector.Core.IMySqlCommandExtensions", "rp": "mysqlconnector.dll_IMySqlCommandExtensions.html", "cl": 17, "ucl": 5, "cal": 22, "tl": 54, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "MySqlConnector.Core.MetricsReporter", "rp": "mysqlconnector.dll_MetricsReporter.html", "cl": 35, "ucl": 3, "cal": 38, "tl": 60, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "MySqlConnector.Core.NormalizedSchema", "rp": "mysqlconnector.dll_NormalizedSchema.html", "cl": 0, "ucl": 27, "cal": 27, "tl": 108, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "MySqlConnector.Core.ParsedStatement", "rp": "mysqlconnector.dll_ParsedStatement.html", "cl": 0, "ucl": 4, "cal": 4, "tl": 31, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "MySqlConnector.Core.ParsedStatements", "rp": "mysqlconnector.dll_ParsedStatements.html", "cl": 0, "ucl": 6, "cal": 6, "tl": 19, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "MySqlConnector.Core.PreparedStatement", "rp": "mysqlconnector.dll_PreparedStatement.html", "cl": 0, "ucl": 5, "cal": 5, "tl": 14, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "MySqlConnector.Core.PreparedStatements", "rp": "mysqlconnector.dll_PreparedStatements.html", "cl": 0, "ucl": 5, "cal": 5, "tl": 12, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "MySqlConnector.Core.RandomLoadBalancer", "rp": "mysqlconnector.dll_RandomLoadBalancer.html", "cl": 0, "ucl": 11, "cal": 11, "tl": 48, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "MySqlConnector.Core.ResultSet", "rp": "mysqlconnector.dll_ResultSet.html", "cl": 97, "ucl": 97, "cal": 194, "tl": 374, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "MySqlConnector.Core.RoundRobinLoadBalancer", "rp": "mysqlconnector.dll_RoundRobinLoadBalancer.html", "cl": 0, "ucl": 9, "cal": 9, "tl": 68, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "MySqlConnector.Core.Row", "rp": "mysqlconnector.dll_Row.html", "cl": 72, "ucl": 227, "cal": 299, "tl": 499, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "MySqlConnector.Core.SchemaProvider", "rp": "mysqlconnector.dll_SchemaProvider.html", "cl": 0, "ucl": 1193, "cal": 1193, "tl": 1463, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "MySqlConnector.Core.ServerSession", "rp": "mysqlconnector.dll_ServerSession.html", "cl": 331, "ucl": 688, "cal": 1019, "tl": 3770, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "MySqlConnector.Core.ServerVersion", "rp": "mysqlconnector.dll_ServerVersion.html", "cl": 26, "ucl": 3, "cal": 29, "tl": 60, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "MySqlConnector.Core.ServerVersions", "rp": "mysqlconnector.dll_ServerVersions.html", "cl": 6, "ucl": 0, "cal": 6, "tl": 22, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "MySqlConnector.Core.SingleCommandPayloadCreator", "rp": "mysqlconnector.dll_SingleCommandPayloadCreator.html", "cl": 25, "ucl": 118, "cal": 143, "tl": 272, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "MySqlConnector.Core.SqlParser", "rp": "mysqlconnector.dll_SqlParser.html", "cl": 74, "ucl": 83, "cal": 157, "tl": 346, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "MySqlConnector.Core.StandardEnlistedTransaction", "rp": "mysqlconnector.dll_StandardEnlistedTransaction.html", "cl": 0, "ucl": 27, "cal": 27, "tl": 48, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "MySqlConnector.Core.StatementPreparer", "rp": "mysqlconnector.dll_StatementPreparer.html", "cl": 31, "ucl": 43, "cal": 74, "tl": 152, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "MySqlConnector.Core.TypeMapper", "rp": "mysqlconnector.dll_TypeMapper.html", "cl": 100, "ucl": 99, "cal": 199, "tl": 350, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "MySqlConnector.Core.XaEnlistedTransaction", "rp": "mysqlconnector.dll_XaEnlistedTransaction.html", "cl": 0, "ucl": 21, "cal": 21, "tl": 52, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "MySqlConnector.Logging.ConsoleLoggerProvider", "rp": "mysqlconnector.dll_ConsoleLoggerProvider.html", "cl": 0, "ucl": 53, "cal": 53, "tl": 83, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "MySqlConnector.Logging.Log", "rp": "mysqlconnector.dll_Log.html", "cl": 38, "ucl": 824, "cal": 862, "tl": 2124, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "MySqlConnector.Logging.MySqlConnectorLoggingConfiguration", "rp": "mysqlconnector.dll_MySqlConnectorLoggingConfiguration.html", "cl": 8, "ucl": 0, "cal": 8, "tl": 16, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "MySqlConnector.Logging.MySqlConnectorLogManager", "rp": "mysqlconnector.dll_MySqlConnectorLogManager.html", "cl": 0, "ucl": 20, "cal": 20, "tl": 62, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "MySqlConnector.Logging.NoOpLogger", "rp": "mysqlconnector.dll_NoOpLogger.html", "cl": 0, "ucl": 3, "cal": 3, "tl": 25, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "MySqlConnector.Logging.NoOpLoggerProvider", "rp": "mysqlconnector.dll_NoOpLoggerProvider.html", "cl": 0, "ucl": 1, "cal": 1, "tl": 12, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "MySqlConnector.MySqlAttribute", "rp": "mysqlconnector.dll_MySqlAttribute.html", "cl": 0, "ucl": 10, "cal": 10, "tl": 41, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "MySqlConnector.MySqlAttributeCollection", "rp": "mysqlconnector.dll_MySqlAttributeCollection.html", "cl": 0, "ucl": 21, "cal": 21, "tl": 96, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "MySqlConnector.MySqlBatch", "rp": "mysqlconnector.dll_MySqlBatch.html", "cl": 0, "ucl": 138, "cal": 138, "tl": 413, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "MySqlConnector.MySqlBatchCommand", "rp": "mysqlconnector.dll_MySqlBatchCommand.html", "cl": 0, "ucl": 26, "cal": 26, "tl": 93, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "MySqlConnector.MySqlBatchCommandCollection", "rp": "mysqlconnector.dll_MySqlBatchCommandCollection.html", "cl": 0, "ucl": 18, "cal": 18, "tl": 54, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "MySqlConnector.MySqlBulkCopy", "rp": "mysqlconnector.dll_MySqlBulkCopy.html", "cl": 0, "ucl": 294, "cal": 294, "tl": 705, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "MySqlConnector.MySqlBulkCopyColumnMapping", "rp": "mysqlconnector.dll_MySqlBulkCopyColumnMapping.html", "cl": 0, "ucl": 6, "cal": 6, "tl": 61, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "MySqlConnector.MySqlBulkCopyResult", "rp": "mysqlconnector.dll_MySqlBulkCopyResult.html", "cl": 0, "ucl": 6, "cal": 6, "tl": 24, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "MySqlConnector.MySqlBulkLoader", "rp": "mysqlconnector.dll_MySqlBulkLoader.html", "cl": 0, "ucl": 120, "cal": 120, "tl": 324, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "MySqlConnector.MySqlCommand", "rp": "mysqlconnector.dll_MySqlCommand.html", "cl": 81, "ucl": 110, "cal": 191, "tl": 464, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "MySqlConnector.MySqlCommandBuilder", "rp": "mysqlconnector.dll_MySqlCommandBuilder.html", "cl": 0, "ucl": 51, "cal": 51, "tl": 103, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "MySqlConnector.MySqlConnection", "rp": "mysqlconnector.dll_MySqlConnection.html", "cl": 110, "ucl": 379, "cal": 489, "tl": 1126, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "MySqlConnector.MySqlConnectionStringBuilder", "rp": "mysqlconnector.dll_MySqlConnectionStringBuilder.html", "cl": 73, "ucl": 76, "cal": 149, "tl": 886, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "MySqlConnector.MySqlConnectionStringOption", "rp": "mysqlconnector.dll_MySqlConnectionStringOption.html", "cl": 228, "ucl": 1, "cal": 229, "tl": 1363, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "MySqlConnector.MySqlConnectionStringReferenceOption", "rp": "mysqlconnector.dll_MySqlConnectionStringReferenceOption_T_.html", "cl": 8, "ucl": 1, "cal": 9, "tl": 1380, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "MySqlConnector.MySqlConnectionStringValueOption", "rp": "mysqlconnector.dll_MySqlConnectionStringValueOption_T_.html", "cl": 11, "ucl": 12, "cal": 23, "tl": 1353, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "MySqlConnector.MySqlConnectorFactory", "rp": "mysqlconnector.dll_MySqlConnectorFactory.html", "cl": 0, "ucl": 16, "cal": 16, "tl": 103, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "MySqlConnector.MySqlConversionException", "rp": "mysqlconnector.dll_MySqlConversionException.html", "cl": 0, "ucl": 4, "cal": 4, "tl": 27, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "MySqlConnector.MySqlDataAdapter", "rp": "mysqlconnector.dll_MySqlDataAdapter.html", "cl": 0, "ucl": 110, "cal": 110, "tl": 237, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "MySqlConnector.MySqlDataReader", "rp": "mysqlconnector.dll_MySqlDataReader.html", "cl": 92, "ucl": 293, "cal": 385, "tl": 694, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "MySqlConnector.MySqlDataSource", "rp": "mysqlconnector.dll_MySqlDataSource.html", "cl": 35, "ucl": 49, "cal": 84, "tl": 212, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "MySqlConnector.MySqlDataSourceBuilder", "rp": "mysqlconnector.dll_MySqlDataSourceBuilder.html", "cl": 0, "ucl": 26, "cal": 26, "tl": 113, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "MySqlConnector.MySqlDateTime", "rp": "mysqlconnector.dll_MySqlDateTime.html", "cl": 0, "ucl": 74, "cal": 74, "tl": 203, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "MySqlConnector.MySqlDbColumn", "rp": "mysqlconnector.dll_MySqlDbColumn.html", "cl": 0, "ucl": 37, "cal": 37, "tl": 54, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "MySqlConnector.MySqlDecimal", "rp": "mysqlconnector.dll_MySqlDecimal.html", "cl": 0, "ucl": 13, "cal": 13, "tl": 50, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "MySqlConnector.MySqlEndOfStreamException", "rp": "mysqlconnector.dll_MySqlEndOfStreamException.html", "cl": 0, "ucl": 6, "cal": 6, "tl": 15, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "MySqlConnector.MySqlError", "rp": "mysqlconnector.dll_MySqlError.html", "cl": 0, "ucl": 10, "cal": 10, "tl": 38, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "MySqlConnector.MySqlException", "rp": "mysqlconnector.dll_MySqlException.html", "cl": 0, "ucl": 41, "cal": 41, "tl": 129, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "MySqlConnector.MySqlGeometry", "rp": "mysqlconnector.dll_MySqlGeometry.html", "cl": 0, "ucl": 10, "cal": 10, "tl": 52, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "MySqlConnector.MySqlHelper", "rp": "mysqlconnector.dll_MySqlHelper.html", "cl": 0, "ucl": 13, "cal": 13, "tl": 38, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "MySqlConnector.MySqlInfoMessageEventArgs", "rp": "mysqlconnector.dll_MySqlInfoMessageEventArgs.html", "cl": 0, "ucl": 2, "cal": 2, "tl": 14, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "MySqlConnector.MySqlParameter", "rp": "mysqlconnector.dll_MySqlParameter.html", "cl": 94, "ucl": 372, "cal": 466, "tl": 950, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "MySqlConnector.MySqlParameterCollection", "rp": "mysqlconnector.dll_MySqlParameterCollection.html", "cl": 22, "ucl": 78, "cal": 100, "tl": 205, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "MySqlConnector.MySqlProtocolException", "rp": "mysqlconnector.dll_MySqlProtocolException.html", "cl": 0, "ucl": 5, "cal": 5, "tl": 32, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "MySqlConnector.MySqlProvidePasswordContext", "rp": "mysqlconnector.dll_MySqlProvidePasswordContext.html", "cl": 0, "ucl": 10, "cal": 10, "tl": 35, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "MySqlConnector.MySqlRowsCopiedEventArgs", "rp": "mysqlconnector.dll_MySqlRowsCopiedEventArgs.html", "cl": 0, "ucl": 4, "cal": 4, "tl": 18, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "MySqlConnector.MySqlRowUpdatedEventArgs", "rp": "mysqlconnector.dll_MySqlRowUpdatedEventArgs.html", "cl": 0, "ucl": 3, "cal": 3, "tl": 268, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "MySqlConnector.MySqlRowUpdatingEventArgs", "rp": "mysqlconnector.dll_MySqlRowUpdatingEventArgs.html", "cl": 0, "ucl": 3, "cal": 3, "tl": 258, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "MySqlConnector.MySqlTransaction", "rp": "mysqlconnector.dll_MySqlTransaction.html", "cl": 0, "ucl": 79, "cal": 79, "tl": 295, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "MySqlConnector.Protocol.PayloadData", "rp": "mysqlconnector.dll_PayloadData.html", "cl": 10, "ucl": 0, "cal": 10, "tl": 25, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "MySqlConnector.Protocol.Payloads.AuthenticationMethodSwitchRequestPayload", "rp": "mysqlconnector.dll_AuthenticationMethodSwitchRequestPayload.html", "cl": 0, "ucl": 13, "cal": 13, "tl": 40, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "MySqlConnector.Protocol.Payloads.AuthenticationMoreDataPayload", "rp": "mysqlconnector.dll_AuthenticationMoreDataPayload.html", "cl": 0, "ucl": 5, "cal": 5, "tl": 19, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "MySqlConnector.Protocol.Payloads.CachingSha2ServerResponsePayload", "rp": "mysqlconnector.dll_CachingSha2ServerResponsePayload.html", "cl": 0, "ucl": 11, "cal": 11, "tl": 32, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "MySqlConnector.Protocol.Payloads.ChangeUserPayload", "rp": "mysqlconnector.dll_ChangeUserPayload.html", "cl": 0, "ucl": 12, "cal": 12, "tl": 23, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "MySqlConnector.Protocol.Payloads.ColumnCountPayload", "rp": "mysqlconnector.dll_ColumnCountPayload.html", "cl": 9, "ucl": 0, "cal": 9, "tl": 27, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "MySqlConnector.Protocol.Payloads.ColumnDefinitionPayload", "rp": "mysqlconnector.dll_ColumnDefinitionPayload.html", "cl": 31, "ucl": 34, "cal": 65, "tl": 137, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "MySqlConnector.Protocol.Payloads.EmptyPayload", "rp": "mysqlconnector.dll_EmptyPayload.html", "cl": 0, "ucl": 1, "cal": 1, "tl": 6, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "MySqlConnector.Protocol.Payloads.EofPayload", "rp": "mysqlconnector.dll_EofPayload.html", "cl": 0, "ucl": 15, "cal": 15, "tl": 42, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "MySqlConnector.Protocol.Payloads.ErrorPayload", "rp": "mysqlconnector.dll_ErrorPayload.html", "cl": 0, "ucl": 18, "cal": 18, "tl": 45, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "MySqlConnector.Protocol.Payloads.HandshakeResponse41Payload", "rp": "mysqlconnector.dll_HandshakeResponse41Payload.html", "cl": 43, "ucl": 1, "cal": 44, "tl": 77, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "MySqlConnector.Protocol.Payloads.InitDatabasePayload", "rp": "mysqlconnector.dll_InitDatabasePayload.html", "cl": 0, "ucl": 4, "cal": 4, "tl": 15, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "MySqlConnector.Protocol.Payloads.InitialHandshakePayload", "rp": "mysqlconnector.dll_InitialHandshakePayload.html", "cl": 40, "ucl": 2, "cal": 42, "tl": 70, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "MySqlConnector.Protocol.Payloads.LocalInfilePayload", "rp": "mysqlconnector.dll_LocalInfilePayload.html", "cl": 0, "ucl": 7, "cal": 7, "tl": 26, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "MySqlConnector.Protocol.Payloads.OkPayload", "rp": "mysqlconnector.dll_OkPayload.html", "cl": 50, "ucl": 5, "cal": 55, "tl": 140, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "MySqlConnector.Protocol.Payloads.PingPayload", "rp": "mysqlconnector.dll_PingPayload.html", "cl": 0, "ucl": 1, "cal": 1, "tl": 6, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "MySqlConnector.Protocol.Payloads.QueryPayload", "rp": "mysqlconnector.dll_QueryPayload.html", "cl": 6, "ucl": 0, "cal": 6, "tl": 13, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "MySqlConnector.Protocol.Payloads.QuitPayload", "rp": "mysqlconnector.dll_QuitPayload.html", "cl": 0, "ucl": 1, "cal": 1, "tl": 6, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "MySqlConnector.Protocol.Payloads.ResetConnectionPayload", "rp": "mysqlconnector.dll_ResetConnectionPayload.html", "cl": 0, "ucl": 1, "cal": 1, "tl": 6, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "MySqlConnector.Protocol.Payloads.StatementPrepareResponsePayload", "rp": "mysqlconnector.dll_StatementPrepareResponsePayload.html", "cl": 0, "ucl": 15, "cal": 15, "tl": 30, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "MySqlConnector.Protocol.Serialization.ArraySegmentHolder", "rp": "mysqlconnector.dll_ArraySegmentHolder_T_.html", "cl": 4, "ucl": 3, "cal": 7, "tl": 21, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "MySqlConnector.Protocol.Serialization.AuthenticationUtility", "rp": "mysqlconnector.dll_AuthenticationUtility.html", "cl": 14, "ucl": 18, "cal": 32, "tl": 108, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "MySqlConnector.Protocol.Serialization.AuthGSSAPI", "rp": "mysqlconnector.dll_AuthGSSAPI.html", "cl": 0, "ucl": 14, "cal": 14, "tl": 235, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "MySqlConnector.Protocol.Serialization.BufferedByteReader", "rp": "mysqlconnector.dll_BufferedByteReader.html", "cl": 17, "ucl": 7, "cal": 24, "tl": 54, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "MySqlConnector.Protocol.Serialization.ByteArrayReader", "rp": "mysqlconnector.dll_ByteArrayReader.html", "cl": 69, "ucl": 19, "cal": 88, "tl": 180, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "MySqlConnector.Protocol.Serialization.ByteBufferWriter", "rp": "mysqlconnector.dll_ByteBufferWriter.html", "cl": 45, "ucl": 80, "cal": 125, "tl": 242, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "MySqlConnector.Protocol.Serialization.ByteBufferWriterExtensions", "rp": "mysqlconnector.dll_ByteBufferWriterExtensions.html", "cl": 10, "ucl": 11, "cal": 21, "tl": 294, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "MySqlConnector.Protocol.Serialization.CompressedPayloadHandler", "rp": "mysqlconnector.dll_CompressedPayloadHandler.html", "cl": 0, "ucl": 99, "cal": 99, "tl": 269, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "MySqlConnector.Protocol.Serialization.NegotiateToMySqlConverterStream", "rp": "mysqlconnector.dll_NegotiateToMySqlConverterStream.html", "cl": 0, "ucl": 83, "cal": 83, "tl": 200, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "MySqlConnector.Protocol.Serialization.Packet", "rp": "mysqlconnector.dll_Packet.html", "cl": 3, "ucl": 0, "cal": 3, "tl": 11, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "MySqlConnector.Protocol.Serialization.ProtocolUtility", "rp": "mysqlconnector.dll_ProtocolUtility.html", "cl": 29, "ucl": 20, "cal": 49, "tl": 501, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "MySqlConnector.Protocol.Serialization.SerializationUtility", "rp": "mysqlconnector.dll_SerializationUtility.html", "cl": 8, "ucl": 0, "cal": 8, "tl": 21, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "MySqlConnector.Protocol.Serialization.SocketByteHandler", "rp": "mysqlconnector.dll_SocketByteHandler.html", "cl": 26, "ucl": 23, "cal": 49, "tl": 136, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "MySqlConnector.Protocol.Serialization.StandardPayloadHandler", "rp": "mysqlconnector.dll_StandardPayloadHandler.html", "cl": 16, "ucl": 3, "cal": 19, "tl": 57, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "MySqlConnector.Protocol.Serialization.StreamByteHandler", "rp": "mysqlconnector.dll_StreamByteHandler.html", "cl": 23, "ucl": 27, "cal": 50, "tl": 107, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "MySqlConnector.Utilities.ActivitySourceHelper", "rp": "mysqlconnector.dll_ActivitySourceHelper.html", "cl": 8, "ucl": 12, "cal": 20, "tl": 65, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "MySqlConnector.Utilities.ResizableArray", "rp": "mysqlconnector.dll_ResizableArray_T_.html", "cl": 6, "ucl": 0, "cal": 6, "tl": 22, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "MySqlConnector.Utilities.ResizableArraySegment", "rp": "mysqlconnector.dll_ResizableArraySegment_T_.html", "cl": 4, "ucl": 0, "cal": 4, "tl": 14, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "MySqlConnector.Utilities.SocketExtensions", "rp": "mysqlconnector.dll_SocketExtensions.html", "cl": 3, "ucl": 4, "cal": 7, "tl": 72, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "MySqlConnector.Utilities.TimerQueue", "rp": "mysqlconnector.dll_TimerQueue.html", "cl": 46, "ucl": 11, "cal": 57, "tl": 132, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "MySqlConnector.Utilities.Utility", "rp": "mysqlconnector.dll_Utility.html", "cl": 14, "ucl": 138, "cal": 152, "tl": 684, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "MySqlConnector.Utilities.ValueTaskExtensions", "rp": "mysqlconnector.dll_ValueTaskExtensions.html", "cl": 0, "ucl": 2, "cal": 2, "tl": 19, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "System.Text.RegularExpressions.Generated.F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__NameRegex_0", "rp": "mysqlconnector.dll__RegexGenerator_g_F74B1AE921BCE1EA81E8FE504B5B6446748E035A__NameRegex_0.html", "cl": 0, "ucl": 288, "cal": 288, "tl": 890, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "System.Text.RegularExpressions.Generated.F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__TlsVersionsRegex_1", "rp": "mysqlconnector.dll__RegexGenerator_g_F74B1AE921BCEFE504B5B6446748E035A__TlsVersionsRegex_1.html", "cl": 0, "ucl": 142, "cal": 142, "tl": 1277, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + { "name": "System.Text.RegularExpressions.Generated.F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Utilities", "rp": "mysqlconnector.dll__RegexGenerator_g_F74B1AE921BCE711EA81E8FE504B5B6446748E035A__Utilities.html", "cl": 0, "ucl": 41, "cal": 41, "tl": 1381, "cb": 0, "tb": 0, "cm": 0, "tm": 0, "lch": [], "bch": [], "mch": [], "hc": [], "metrics": { } }, + ]}, +]; + +var metrics = [{ "name": "Blocks covered", "abbreviation": "cb", "explanationUrl": "https://en.wikipedia.org/wiki/Code_coverage" }, { "name": "Blocks not covered", "abbreviation": "ub", "explanationUrl": "https://en.wikipedia.org/wiki/Code_coverage" }]; + +var historicCoverageExecutionTimes = []; + +var riskHotspotMetrics = [ +]; + +var riskHotspots = [ +]; + +var branchCoverageAvailable = false; +var methodCoverageAvailable = false; +var maximumDecimalPlacesForCoverageQuotas = 1; + + +var translations = { +'top': 'Top:', +'all': 'All', +'assembly': 'Assembly', +'class': 'Class', +'method': 'Method', +'lineCoverage': 'Line coverage', +'noGrouping': 'No grouping', +'byAssembly': 'By assembly', +'byNamespace': 'By namespace, Level:', +'all': 'All', +'collapseAll': 'Collapse all', +'expandAll': 'Expand all', +'grouping': 'Grouping:', +'filter': 'Filter:', +'name': 'Name', +'covered': 'Covered', +'uncovered': 'Uncovered', +'coverable': 'Coverable', +'total': 'Total', +'coverage': 'Line coverage', +'branchCoverage': 'Branch coverage', +'methodCoverage': 'Method coverage', +'percentage': 'Percentage', +'history': 'Coverage history', +'compareHistory': 'Compare with:', +'date': 'Date', +'allChanges': 'All changes', +'selectCoverageTypes': 'Select coverage types', +'selectCoverageTypesAndMetrics': 'Select coverage types & metrics', +'coverageTypes': 'Coverage types', +'metrics': 'Metrics', +'methodCoverageProVersion': 'Feature is only available for sponsors', +'lineCoverageIncreaseOnly': 'Line coverage: Increase only', +'lineCoverageDecreaseOnly': 'Line coverage: Decrease only', +'branchCoverageIncreaseOnly': 'Branch coverage: Increase only', +'branchCoverageDecreaseOnly': 'Branch coverage: Decrease only', +'methodCoverageIncreaseOnly': 'Method coverage: Increase only', +'methodCoverageDecreaseOnly': 'Method coverage: Decrease only' +}; + + +(()=>{"use strict";var e,_={},p={};function n(e){var a=p[e];if(void 0!==a)return a.exports;var r=p[e]={exports:{}};return _[e](r,r.exports,n),r.exports}n.m=_,e=[],n.O=(a,r,u,l)=>{if(!r){var o=1/0;for(f=0;f=l)&&Object.keys(n.O).every(h=>n.O[h](r[t]))?r.splice(t--,1):(v=!1,l0&&e[f-1][2]>l;f--)e[f]=e[f-1];e[f]=[r,u,l]},n.n=e=>{var a=e&&e.__esModule?()=>e.default:()=>e;return n.d(a,{a}),a},n.d=(e,a)=>{for(var r in a)n.o(a,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:a[r]})},n.o=(e,a)=>Object.prototype.hasOwnProperty.call(e,a),(()=>{var e={121:0};n.O.j=u=>0===e[u];var a=(u,l)=>{var t,c,[f,o,v]=l,s=0;if(f.some(d=>0!==e[d])){for(t in o)n.o(o,t)&&(n.m[t]=o[t]);if(v)var b=v(n)}for(u&&u(l);s{de(935)},935:()=>{!function(e){const n=e.performance;function i(L){n&&n.mark&&n.mark(L)}function o(L,T){n&&n.measure&&n.measure(L,T)}i("Zone");const c=e.__Zone_symbol_prefix||"__zone_symbol__";function a(L){return c+L}const y=!0===e[a("forceDuplicateZoneCheck")];if(e.Zone){if(y||"function"!=typeof e.Zone.__symbol__)throw new Error("Zone already loaded.");return e.Zone}let d=(()=>{class L{static#e=this.__symbol__=a;static assertZonePatched(){if(e.Promise!==oe.ZoneAwarePromise)throw new Error("Zone.js has detected that ZoneAwarePromise `(window|global).Promise` has been overwritten.\nMost likely cause is that a Promise polyfill has been loaded after Zone.js (Polyfilling Promise api is not necessary when zone.js is loaded. If you must load one, do so before loading zone.js.)")}static get root(){let t=L.current;for(;t.parent;)t=t.parent;return t}static get current(){return U.zone}static get currentTask(){return re}static __load_patch(t,r,k=!1){if(oe.hasOwnProperty(t)){if(!k&&y)throw Error("Already loaded patch: "+t)}else if(!e["__Zone_disable_"+t]){const C="Zone:"+t;i(C),oe[t]=r(e,L,z),o(C,C)}}get parent(){return this._parent}get name(){return this._name}constructor(t,r){this._parent=t,this._name=r?r.name||"unnamed":"",this._properties=r&&r.properties||{},this._zoneDelegate=new v(this,this._parent&&this._parent._zoneDelegate,r)}get(t){const r=this.getZoneWith(t);if(r)return r._properties[t]}getZoneWith(t){let r=this;for(;r;){if(r._properties.hasOwnProperty(t))return r;r=r._parent}return null}fork(t){if(!t)throw new Error("ZoneSpec required!");return this._zoneDelegate.fork(this,t)}wrap(t,r){if("function"!=typeof t)throw new Error("Expecting function got: "+t);const k=this._zoneDelegate.intercept(this,t,r),C=this;return function(){return C.runGuarded(k,this,arguments,r)}}run(t,r,k,C){U={parent:U,zone:this};try{return this._zoneDelegate.invoke(this,t,r,k,C)}finally{U=U.parent}}runGuarded(t,r=null,k,C){U={parent:U,zone:this};try{try{return this._zoneDelegate.invoke(this,t,r,k,C)}catch($){if(this._zoneDelegate.handleError(this,$))throw $}}finally{U=U.parent}}runTask(t,r,k){if(t.zone!=this)throw new Error("A task can only be run in the zone of creation! (Creation: "+(t.zone||K).name+"; Execution: "+this.name+")");if(t.state===x&&(t.type===Q||t.type===P))return;const C=t.state!=E;C&&t._transitionTo(E,A),t.runCount++;const $=re;re=t,U={parent:U,zone:this};try{t.type==P&&t.data&&!t.data.isPeriodic&&(t.cancelFn=void 0);try{return this._zoneDelegate.invokeTask(this,t,r,k)}catch(l){if(this._zoneDelegate.handleError(this,l))throw l}}finally{t.state!==x&&t.state!==h&&(t.type==Q||t.data&&t.data.isPeriodic?C&&t._transitionTo(A,E):(t.runCount=0,this._updateTaskCount(t,-1),C&&t._transitionTo(x,E,x))),U=U.parent,re=$}}scheduleTask(t){if(t.zone&&t.zone!==this){let k=this;for(;k;){if(k===t.zone)throw Error(`can not reschedule task to ${this.name} which is descendants of the original zone ${t.zone.name}`);k=k.parent}}t._transitionTo(X,x);const r=[];t._zoneDelegates=r,t._zone=this;try{t=this._zoneDelegate.scheduleTask(this,t)}catch(k){throw t._transitionTo(h,X,x),this._zoneDelegate.handleError(this,k),k}return t._zoneDelegates===r&&this._updateTaskCount(t,1),t.state==X&&t._transitionTo(A,X),t}scheduleMicroTask(t,r,k,C){return this.scheduleTask(new p(I,t,r,k,C,void 0))}scheduleMacroTask(t,r,k,C,$){return this.scheduleTask(new p(P,t,r,k,C,$))}scheduleEventTask(t,r,k,C,$){return this.scheduleTask(new p(Q,t,r,k,C,$))}cancelTask(t){if(t.zone!=this)throw new Error("A task can only be cancelled in the zone of creation! (Creation: "+(t.zone||K).name+"; Execution: "+this.name+")");if(t.state===A||t.state===E){t._transitionTo(G,A,E);try{this._zoneDelegate.cancelTask(this,t)}catch(r){throw t._transitionTo(h,G),this._zoneDelegate.handleError(this,r),r}return this._updateTaskCount(t,-1),t._transitionTo(x,G),t.runCount=0,t}}_updateTaskCount(t,r){const k=t._zoneDelegates;-1==r&&(t._zoneDelegates=null);for(let C=0;CL.hasTask(t,r),onScheduleTask:(L,T,t,r)=>L.scheduleTask(t,r),onInvokeTask:(L,T,t,r,k,C)=>L.invokeTask(t,r,k,C),onCancelTask:(L,T,t,r)=>L.cancelTask(t,r)};class v{constructor(T,t,r){this._taskCounts={microTask:0,macroTask:0,eventTask:0},this.zone=T,this._parentDelegate=t,this._forkZS=r&&(r&&r.onFork?r:t._forkZS),this._forkDlgt=r&&(r.onFork?t:t._forkDlgt),this._forkCurrZone=r&&(r.onFork?this.zone:t._forkCurrZone),this._interceptZS=r&&(r.onIntercept?r:t._interceptZS),this._interceptDlgt=r&&(r.onIntercept?t:t._interceptDlgt),this._interceptCurrZone=r&&(r.onIntercept?this.zone:t._interceptCurrZone),this._invokeZS=r&&(r.onInvoke?r:t._invokeZS),this._invokeDlgt=r&&(r.onInvoke?t:t._invokeDlgt),this._invokeCurrZone=r&&(r.onInvoke?this.zone:t._invokeCurrZone),this._handleErrorZS=r&&(r.onHandleError?r:t._handleErrorZS),this._handleErrorDlgt=r&&(r.onHandleError?t:t._handleErrorDlgt),this._handleErrorCurrZone=r&&(r.onHandleError?this.zone:t._handleErrorCurrZone),this._scheduleTaskZS=r&&(r.onScheduleTask?r:t._scheduleTaskZS),this._scheduleTaskDlgt=r&&(r.onScheduleTask?t:t._scheduleTaskDlgt),this._scheduleTaskCurrZone=r&&(r.onScheduleTask?this.zone:t._scheduleTaskCurrZone),this._invokeTaskZS=r&&(r.onInvokeTask?r:t._invokeTaskZS),this._invokeTaskDlgt=r&&(r.onInvokeTask?t:t._invokeTaskDlgt),this._invokeTaskCurrZone=r&&(r.onInvokeTask?this.zone:t._invokeTaskCurrZone),this._cancelTaskZS=r&&(r.onCancelTask?r:t._cancelTaskZS),this._cancelTaskDlgt=r&&(r.onCancelTask?t:t._cancelTaskDlgt),this._cancelTaskCurrZone=r&&(r.onCancelTask?this.zone:t._cancelTaskCurrZone),this._hasTaskZS=null,this._hasTaskDlgt=null,this._hasTaskDlgtOwner=null,this._hasTaskCurrZone=null;const k=r&&r.onHasTask;(k||t&&t._hasTaskZS)&&(this._hasTaskZS=k?r:b,this._hasTaskDlgt=t,this._hasTaskDlgtOwner=this,this._hasTaskCurrZone=T,r.onScheduleTask||(this._scheduleTaskZS=b,this._scheduleTaskDlgt=t,this._scheduleTaskCurrZone=this.zone),r.onInvokeTask||(this._invokeTaskZS=b,this._invokeTaskDlgt=t,this._invokeTaskCurrZone=this.zone),r.onCancelTask||(this._cancelTaskZS=b,this._cancelTaskDlgt=t,this._cancelTaskCurrZone=this.zone))}fork(T,t){return this._forkZS?this._forkZS.onFork(this._forkDlgt,this.zone,T,t):new d(T,t)}intercept(T,t,r){return this._interceptZS?this._interceptZS.onIntercept(this._interceptDlgt,this._interceptCurrZone,T,t,r):t}invoke(T,t,r,k,C){return this._invokeZS?this._invokeZS.onInvoke(this._invokeDlgt,this._invokeCurrZone,T,t,r,k,C):t.apply(r,k)}handleError(T,t){return!this._handleErrorZS||this._handleErrorZS.onHandleError(this._handleErrorDlgt,this._handleErrorCurrZone,T,t)}scheduleTask(T,t){let r=t;if(this._scheduleTaskZS)this._hasTaskZS&&r._zoneDelegates.push(this._hasTaskDlgtOwner),r=this._scheduleTaskZS.onScheduleTask(this._scheduleTaskDlgt,this._scheduleTaskCurrZone,T,t),r||(r=t);else if(t.scheduleFn)t.scheduleFn(t);else{if(t.type!=I)throw new Error("Task is missing scheduleFn.");R(t)}return r}invokeTask(T,t,r,k){return this._invokeTaskZS?this._invokeTaskZS.onInvokeTask(this._invokeTaskDlgt,this._invokeTaskCurrZone,T,t,r,k):t.callback.apply(r,k)}cancelTask(T,t){let r;if(this._cancelTaskZS)r=this._cancelTaskZS.onCancelTask(this._cancelTaskDlgt,this._cancelTaskCurrZone,T,t);else{if(!t.cancelFn)throw Error("Task is not cancelable");r=t.cancelFn(t)}return r}hasTask(T,t){try{this._hasTaskZS&&this._hasTaskZS.onHasTask(this._hasTaskDlgt,this._hasTaskCurrZone,T,t)}catch(r){this.handleError(T,r)}}_updateTaskCount(T,t){const r=this._taskCounts,k=r[T],C=r[T]=k+t;if(C<0)throw new Error("More tasks executed then were scheduled.");0!=k&&0!=C||this.hasTask(this.zone,{microTask:r.microTask>0,macroTask:r.macroTask>0,eventTask:r.eventTask>0,change:T})}}class p{constructor(T,t,r,k,C,$){if(this._zone=null,this.runCount=0,this._zoneDelegates=null,this._state="notScheduled",this.type=T,this.source=t,this.data=k,this.scheduleFn=C,this.cancelFn=$,!r)throw new Error("callback is not defined");this.callback=r;const l=this;this.invoke=T===Q&&k&&k.useG?p.invokeTask:function(){return p.invokeTask.call(e,l,this,arguments)}}static invokeTask(T,t,r){T||(T=this),ee++;try{return T.runCount++,T.zone.runTask(T,t,r)}finally{1==ee&&_(),ee--}}get zone(){return this._zone}get state(){return this._state}cancelScheduleRequest(){this._transitionTo(x,X)}_transitionTo(T,t,r){if(this._state!==t&&this._state!==r)throw new Error(`${this.type} '${this.source}': can not transition to '${T}', expecting state '${t}'${r?" or '"+r+"'":""}, was '${this._state}'.`);this._state=T,T==x&&(this._zoneDelegates=null)}toString(){return this.data&&typeof this.data.handleId<"u"?this.data.handleId.toString():Object.prototype.toString.call(this)}toJSON(){return{type:this.type,state:this.state,source:this.source,zone:this.zone.name,runCount:this.runCount}}}const M=a("setTimeout"),Z=a("Promise"),N=a("then");let J,B=[],H=!1;function q(L){if(J||e[Z]&&(J=e[Z].resolve(0)),J){let T=J[N];T||(T=J.then),T.call(J,L)}else e[M](L,0)}function R(L){0===ee&&0===B.length&&q(_),L&&B.push(L)}function _(){if(!H){for(H=!0;B.length;){const L=B;B=[];for(let T=0;TU,onUnhandledError:W,microtaskDrainDone:W,scheduleMicroTask:R,showUncaughtError:()=>!d[a("ignoreConsoleErrorUncaughtError")],patchEventTarget:()=>[],patchOnProperties:W,patchMethod:()=>W,bindArguments:()=>[],patchThen:()=>W,patchMacroTask:()=>W,patchEventPrototype:()=>W,isIEOrEdge:()=>!1,getGlobalObjects:()=>{},ObjectDefineProperty:()=>W,ObjectGetOwnPropertyDescriptor:()=>{},ObjectCreate:()=>{},ArraySlice:()=>[],patchClass:()=>W,wrapWithCurrentZone:()=>W,filterProperties:()=>[],attachOriginToPatched:()=>W,_redefineProperty:()=>W,patchCallbacks:()=>W,nativeScheduleMicroTask:q};let U={parent:null,zone:new d(null,null)},re=null,ee=0;function W(){}o("Zone","Zone"),e.Zone=d}(globalThis);const ie=Object.getOwnPropertyDescriptor,Ee=Object.defineProperty,de=Object.getPrototypeOf,ge=Object.create,Ve=Array.prototype.slice,Se="addEventListener",Oe="removeEventListener",Ze=Zone.__symbol__(Se),Ne=Zone.__symbol__(Oe),ce="true",ae="false",ke=Zone.__symbol__("");function Ie(e,n){return Zone.current.wrap(e,n)}function Me(e,n,i,o,c){return Zone.current.scheduleMacroTask(e,n,i,o,c)}const j=Zone.__symbol__,Pe=typeof window<"u",Te=Pe?window:void 0,Y=Pe&&Te||globalThis,ct="removeAttribute";function Le(e,n){for(let i=e.length-1;i>=0;i--)"function"==typeof e[i]&&(e[i]=Ie(e[i],n+"_"+i));return e}function Fe(e){return!e||!1!==e.writable&&!("function"==typeof e.get&&typeof e.set>"u")}const Be=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope,we=!("nw"in Y)&&typeof Y.process<"u"&&"[object process]"==={}.toString.call(Y.process),Ae=!we&&!Be&&!(!Pe||!Te.HTMLElement),Ue=typeof Y.process<"u"&&"[object process]"==={}.toString.call(Y.process)&&!Be&&!(!Pe||!Te.HTMLElement),Re={},We=function(e){if(!(e=e||Y.event))return;let n=Re[e.type];n||(n=Re[e.type]=j("ON_PROPERTY"+e.type));const i=this||e.target||Y,o=i[n];let c;return Ae&&i===Te&&"error"===e.type?(c=o&&o.call(this,e.message,e.filename,e.lineno,e.colno,e.error),!0===c&&e.preventDefault()):(c=o&&o.apply(this,arguments),null!=c&&!c&&e.preventDefault()),c};function qe(e,n,i){let o=ie(e,n);if(!o&&i&&ie(i,n)&&(o={enumerable:!0,configurable:!0}),!o||!o.configurable)return;const c=j("on"+n+"patched");if(e.hasOwnProperty(c)&&e[c])return;delete o.writable,delete o.value;const a=o.get,y=o.set,d=n.slice(2);let b=Re[d];b||(b=Re[d]=j("ON_PROPERTY"+d)),o.set=function(v){let p=this;!p&&e===Y&&(p=Y),p&&("function"==typeof p[b]&&p.removeEventListener(d,We),y&&y.call(p,null),p[b]=v,"function"==typeof v&&p.addEventListener(d,We,!1))},o.get=function(){let v=this;if(!v&&e===Y&&(v=Y),!v)return null;const p=v[b];if(p)return p;if(a){let M=a.call(this);if(M)return o.set.call(this,M),"function"==typeof v[ct]&&v.removeAttribute(n),M}return null},Ee(e,n,o),e[c]=!0}function Xe(e,n,i){if(n)for(let o=0;ofunction(y,d){const b=i(y,d);return b.cbIdx>=0&&"function"==typeof d[b.cbIdx]?Me(b.name,d[b.cbIdx],b,c):a.apply(y,d)})}function ue(e,n){e[j("OriginalDelegate")]=n}let ze=!1,je=!1;function ft(){if(ze)return je;ze=!0;try{const e=Te.navigator.userAgent;(-1!==e.indexOf("MSIE ")||-1!==e.indexOf("Trident/")||-1!==e.indexOf("Edge/"))&&(je=!0)}catch{}return je}Zone.__load_patch("ZoneAwarePromise",(e,n,i)=>{const o=Object.getOwnPropertyDescriptor,c=Object.defineProperty,y=i.symbol,d=[],b=!1!==e[y("DISABLE_WRAPPING_UNCAUGHT_PROMISE_REJECTION")],v=y("Promise"),p=y("then"),M="__creationTrace__";i.onUnhandledError=l=>{if(i.showUncaughtError()){const u=l&&l.rejection;u?console.error("Unhandled Promise rejection:",u instanceof Error?u.message:u,"; Zone:",l.zone.name,"; Task:",l.task&&l.task.source,"; Value:",u,u instanceof Error?u.stack:void 0):console.error(l)}},i.microtaskDrainDone=()=>{for(;d.length;){const l=d.shift();try{l.zone.runGuarded(()=>{throw l.throwOriginal?l.rejection:l})}catch(u){N(u)}}};const Z=y("unhandledPromiseRejectionHandler");function N(l){i.onUnhandledError(l);try{const u=n[Z];"function"==typeof u&&u.call(this,l)}catch{}}function B(l){return l&&l.then}function H(l){return l}function J(l){return t.reject(l)}const q=y("state"),R=y("value"),_=y("finally"),K=y("parentPromiseValue"),x=y("parentPromiseState"),X="Promise.then",A=null,E=!0,G=!1,h=0;function I(l,u){return s=>{try{z(l,u,s)}catch(f){z(l,!1,f)}}}const P=function(){let l=!1;return function(s){return function(){l||(l=!0,s.apply(null,arguments))}}},Q="Promise resolved with itself",oe=y("currentTaskTrace");function z(l,u,s){const f=P();if(l===s)throw new TypeError(Q);if(l[q]===A){let g=null;try{("object"==typeof s||"function"==typeof s)&&(g=s&&s.then)}catch(w){return f(()=>{z(l,!1,w)})(),l}if(u!==G&&s instanceof t&&s.hasOwnProperty(q)&&s.hasOwnProperty(R)&&s[q]!==A)re(s),z(l,s[q],s[R]);else if(u!==G&&"function"==typeof g)try{g.call(s,f(I(l,u)),f(I(l,!1)))}catch(w){f(()=>{z(l,!1,w)})()}else{l[q]=u;const w=l[R];if(l[R]=s,l[_]===_&&u===E&&(l[q]=l[x],l[R]=l[K]),u===G&&s instanceof Error){const m=n.currentTask&&n.currentTask.data&&n.currentTask.data[M];m&&c(s,oe,{configurable:!0,enumerable:!1,writable:!0,value:m})}for(let m=0;m{try{const D=l[R],S=!!s&&_===s[_];S&&(s[K]=D,s[x]=w);const O=u.run(m,void 0,S&&m!==J&&m!==H?[]:[D]);z(s,!0,O)}catch(D){z(s,!1,D)}},s)}const L=function(){},T=e.AggregateError;class t{static toString(){return"function ZoneAwarePromise() { [native code] }"}static resolve(u){return z(new this(null),E,u)}static reject(u){return z(new this(null),G,u)}static any(u){if(!u||"function"!=typeof u[Symbol.iterator])return Promise.reject(new T([],"All promises were rejected"));const s=[];let f=0;try{for(let m of u)f++,s.push(t.resolve(m))}catch{return Promise.reject(new T([],"All promises were rejected"))}if(0===f)return Promise.reject(new T([],"All promises were rejected"));let g=!1;const w=[];return new t((m,D)=>{for(let S=0;S{g||(g=!0,m(O))},O=>{w.push(O),f--,0===f&&(g=!0,D(new T(w,"All promises were rejected")))})})}static race(u){let s,f,g=new this((D,S)=>{s=D,f=S});function w(D){s(D)}function m(D){f(D)}for(let D of u)B(D)||(D=this.resolve(D)),D.then(w,m);return g}static all(u){return t.allWithCallback(u)}static allSettled(u){return(this&&this.prototype instanceof t?this:t).allWithCallback(u,{thenCallback:f=>({status:"fulfilled",value:f}),errorCallback:f=>({status:"rejected",reason:f})})}static allWithCallback(u,s){let f,g,w=new this((O,V)=>{f=O,g=V}),m=2,D=0;const S=[];for(let O of u){B(O)||(O=this.resolve(O));const V=D;try{O.then(F=>{S[V]=s?s.thenCallback(F):F,m--,0===m&&f(S)},F=>{s?(S[V]=s.errorCallback(F),m--,0===m&&f(S)):g(F)})}catch(F){g(F)}m++,D++}return m-=2,0===m&&f(S),w}constructor(u){const s=this;if(!(s instanceof t))throw new Error("Must be an instanceof Promise.");s[q]=A,s[R]=[];try{const f=P();u&&u(f(I(s,E)),f(I(s,G)))}catch(f){z(s,!1,f)}}get[Symbol.toStringTag](){return"Promise"}get[Symbol.species](){return t}then(u,s){let f=this.constructor?.[Symbol.species];(!f||"function"!=typeof f)&&(f=this.constructor||t);const g=new f(L),w=n.current;return this[q]==A?this[R].push(w,g,u,s):ee(this,w,g,u,s),g}catch(u){return this.then(null,u)}finally(u){let s=this.constructor?.[Symbol.species];(!s||"function"!=typeof s)&&(s=t);const f=new s(L);f[_]=_;const g=n.current;return this[q]==A?this[R].push(g,f,u,u):ee(this,g,f,u,u),f}}t.resolve=t.resolve,t.reject=t.reject,t.race=t.race,t.all=t.all;const r=e[v]=e.Promise;e.Promise=t;const k=y("thenPatched");function C(l){const u=l.prototype,s=o(u,"then");if(s&&(!1===s.writable||!s.configurable))return;const f=u.then;u[p]=f,l.prototype.then=function(g,w){return new t((D,S)=>{f.call(this,D,S)}).then(g,w)},l[k]=!0}return i.patchThen=C,r&&(C(r),le(e,"fetch",l=>function $(l){return function(u,s){let f=l.apply(u,s);if(f instanceof t)return f;let g=f.constructor;return g[k]||C(g),f}}(l))),Promise[n.__symbol__("uncaughtPromiseErrors")]=d,t}),Zone.__load_patch("toString",e=>{const n=Function.prototype.toString,i=j("OriginalDelegate"),o=j("Promise"),c=j("Error"),a=function(){if("function"==typeof this){const v=this[i];if(v)return"function"==typeof v?n.call(v):Object.prototype.toString.call(v);if(this===Promise){const p=e[o];if(p)return n.call(p)}if(this===Error){const p=e[c];if(p)return n.call(p)}}return n.call(this)};a[i]=n,Function.prototype.toString=a;const y=Object.prototype.toString;Object.prototype.toString=function(){return"function"==typeof Promise&&this instanceof Promise?"[object Promise]":y.call(this)}});let ye=!1;if(typeof window<"u")try{const e=Object.defineProperty({},"passive",{get:function(){ye=!0}});window.addEventListener("test",e,e),window.removeEventListener("test",e,e)}catch{ye=!1}const ht={useG:!0},te={},Ye={},$e=new RegExp("^"+ke+"(\\w+)(true|false)$"),Ke=j("propagationStopped");function Je(e,n){const i=(n?n(e):e)+ae,o=(n?n(e):e)+ce,c=ke+i,a=ke+o;te[e]={},te[e][ae]=c,te[e][ce]=a}function dt(e,n,i,o){const c=o&&o.add||Se,a=o&&o.rm||Oe,y=o&&o.listeners||"eventListeners",d=o&&o.rmAll||"removeAllListeners",b=j(c),v="."+c+":",p="prependListener",M="."+p+":",Z=function(R,_,K){if(R.isRemoved)return;const x=R.callback;let X;"object"==typeof x&&x.handleEvent&&(R.callback=E=>x.handleEvent(E),R.originalDelegate=x);try{R.invoke(R,_,[K])}catch(E){X=E}const A=R.options;return A&&"object"==typeof A&&A.once&&_[a].call(_,K.type,R.originalDelegate?R.originalDelegate:R.callback,A),X};function N(R,_,K){if(!(_=_||e.event))return;const x=R||_.target||e,X=x[te[_.type][K?ce:ae]];if(X){const A=[];if(1===X.length){const E=Z(X[0],x,_);E&&A.push(E)}else{const E=X.slice();for(let G=0;G{throw G})}}}const B=function(R){return N(this,R,!1)},H=function(R){return N(this,R,!0)};function J(R,_){if(!R)return!1;let K=!0;_&&void 0!==_.useG&&(K=_.useG);const x=_&&_.vh;let X=!0;_&&void 0!==_.chkDup&&(X=_.chkDup);let A=!1;_&&void 0!==_.rt&&(A=_.rt);let E=R;for(;E&&!E.hasOwnProperty(c);)E=de(E);if(!E&&R[c]&&(E=R),!E||E[b])return!1;const G=_&&_.eventNameToString,h={},I=E[b]=E[c],P=E[j(a)]=E[a],Q=E[j(y)]=E[y],oe=E[j(d)]=E[d];let z;_&&_.prepend&&(z=E[j(_.prepend)]=E[_.prepend]);const t=K?function(s){if(!h.isExisting)return I.call(h.target,h.eventName,h.capture?H:B,h.options)}:function(s){return I.call(h.target,h.eventName,s.invoke,h.options)},r=K?function(s){if(!s.isRemoved){const f=te[s.eventName];let g;f&&(g=f[s.capture?ce:ae]);const w=g&&s.target[g];if(w)for(let m=0;mfunction(c,a){c[Ke]=!0,o&&o.apply(c,a)})}function Et(e,n,i,o,c){const a=Zone.__symbol__(o);if(n[a])return;const y=n[a]=n[o];n[o]=function(d,b,v){return b&&b.prototype&&c.forEach(function(p){const M=`${i}.${o}::`+p,Z=b.prototype;try{if(Z.hasOwnProperty(p)){const N=e.ObjectGetOwnPropertyDescriptor(Z,p);N&&N.value?(N.value=e.wrapWithCurrentZone(N.value,M),e._redefineProperty(b.prototype,p,N)):Z[p]&&(Z[p]=e.wrapWithCurrentZone(Z[p],M))}else Z[p]&&(Z[p]=e.wrapWithCurrentZone(Z[p],M))}catch{}}),y.call(n,d,b,v)},e.attachOriginToPatched(n[o],y)}function et(e,n,i){if(!i||0===i.length)return n;const o=i.filter(a=>a.target===e);if(!o||0===o.length)return n;const c=o[0].ignoreProperties;return n.filter(a=>-1===c.indexOf(a))}function tt(e,n,i,o){e&&Xe(e,et(e,n,i),o)}function He(e){return Object.getOwnPropertyNames(e).filter(n=>n.startsWith("on")&&n.length>2).map(n=>n.substring(2))}Zone.__load_patch("util",(e,n,i)=>{const o=He(e);i.patchOnProperties=Xe,i.patchMethod=le,i.bindArguments=Le,i.patchMacroTask=lt;const c=n.__symbol__("BLACK_LISTED_EVENTS"),a=n.__symbol__("UNPATCHED_EVENTS");e[a]&&(e[c]=e[a]),e[c]&&(n[c]=n[a]=e[c]),i.patchEventPrototype=_t,i.patchEventTarget=dt,i.isIEOrEdge=ft,i.ObjectDefineProperty=Ee,i.ObjectGetOwnPropertyDescriptor=ie,i.ObjectCreate=ge,i.ArraySlice=Ve,i.patchClass=ve,i.wrapWithCurrentZone=Ie,i.filterProperties=et,i.attachOriginToPatched=ue,i._redefineProperty=Object.defineProperty,i.patchCallbacks=Et,i.getGlobalObjects=()=>({globalSources:Ye,zoneSymbolEventNames:te,eventNames:o,isBrowser:Ae,isMix:Ue,isNode:we,TRUE_STR:ce,FALSE_STR:ae,ZONE_SYMBOL_PREFIX:ke,ADD_EVENT_LISTENER_STR:Se,REMOVE_EVENT_LISTENER_STR:Oe})});const Ce=j("zoneTask");function pe(e,n,i,o){let c=null,a=null;i+=o;const y={};function d(v){const p=v.data;return p.args[0]=function(){return v.invoke.apply(this,arguments)},p.handleId=c.apply(e,p.args),v}function b(v){return a.call(e,v.data.handleId)}c=le(e,n+=o,v=>function(p,M){if("function"==typeof M[0]){const Z={isPeriodic:"Interval"===o,delay:"Timeout"===o||"Interval"===o?M[1]||0:void 0,args:M},N=M[0];M[0]=function(){try{return N.apply(this,arguments)}finally{Z.isPeriodic||("number"==typeof Z.handleId?delete y[Z.handleId]:Z.handleId&&(Z.handleId[Ce]=null))}};const B=Me(n,M[0],Z,d,b);if(!B)return B;const H=B.data.handleId;return"number"==typeof H?y[H]=B:H&&(H[Ce]=B),H&&H.ref&&H.unref&&"function"==typeof H.ref&&"function"==typeof H.unref&&(B.ref=H.ref.bind(H),B.unref=H.unref.bind(H)),"number"==typeof H||H?H:B}return v.apply(e,M)}),a=le(e,i,v=>function(p,M){const Z=M[0];let N;"number"==typeof Z?N=y[Z]:(N=Z&&Z[Ce],N||(N=Z)),N&&"string"==typeof N.type?"notScheduled"!==N.state&&(N.cancelFn&&N.data.isPeriodic||0===N.runCount)&&("number"==typeof Z?delete y[Z]:Z&&(Z[Ce]=null),N.zone.cancelTask(N)):v.apply(e,M)})}Zone.__load_patch("legacy",e=>{const n=e[Zone.__symbol__("legacyPatch")];n&&n()}),Zone.__load_patch("timers",e=>{const n="set",i="clear";pe(e,n,i,"Timeout"),pe(e,n,i,"Interval"),pe(e,n,i,"Immediate")}),Zone.__load_patch("requestAnimationFrame",e=>{pe(e,"request","cancel","AnimationFrame"),pe(e,"mozRequest","mozCancel","AnimationFrame"),pe(e,"webkitRequest","webkitCancel","AnimationFrame")}),Zone.__load_patch("blocking",(e,n)=>{const i=["alert","prompt","confirm"];for(let o=0;ofunction(b,v){return n.current.run(a,e,v,d)})}),Zone.__load_patch("EventTarget",(e,n,i)=>{(function gt(e,n){n.patchEventPrototype(e,n)})(e,i),function mt(e,n){if(Zone[n.symbol("patchEventTarget")])return;const{eventNames:i,zoneSymbolEventNames:o,TRUE_STR:c,FALSE_STR:a,ZONE_SYMBOL_PREFIX:y}=n.getGlobalObjects();for(let b=0;b{ve("MutationObserver"),ve("WebKitMutationObserver")}),Zone.__load_patch("IntersectionObserver",(e,n,i)=>{ve("IntersectionObserver")}),Zone.__load_patch("FileReader",(e,n,i)=>{ve("FileReader")}),Zone.__load_patch("on_property",(e,n,i)=>{!function Tt(e,n){if(we&&!Ue||Zone[e.symbol("patchEvents")])return;const i=n.__Zone_ignore_on_properties;let o=[];if(Ae){const c=window;o=o.concat(["Document","SVGElement","Element","HTMLElement","HTMLBodyElement","HTMLMediaElement","HTMLFrameSetElement","HTMLFrameElement","HTMLIFrameElement","HTMLMarqueeElement","Worker"]);const a=function ut(){try{const e=Te.navigator.userAgent;if(-1!==e.indexOf("MSIE ")||-1!==e.indexOf("Trident/"))return!0}catch{}return!1}()?[{target:c,ignoreProperties:["error"]}]:[];tt(c,He(c),i&&i.concat(a),de(c))}o=o.concat(["XMLHttpRequest","XMLHttpRequestEventTarget","IDBIndex","IDBRequest","IDBOpenDBRequest","IDBDatabase","IDBTransaction","IDBCursor","WebSocket"]);for(let c=0;c{!function pt(e,n){const{isBrowser:i,isMix:o}=n.getGlobalObjects();(i||o)&&e.customElements&&"customElements"in e&&n.patchCallbacks(n,e.customElements,"customElements","define",["connectedCallback","disconnectedCallback","adoptedCallback","attributeChangedCallback"])}(e,i)}),Zone.__load_patch("XHR",(e,n)=>{!function b(v){const p=v.XMLHttpRequest;if(!p)return;const M=p.prototype;let N=M[Ze],B=M[Ne];if(!N){const h=v.XMLHttpRequestEventTarget;if(h){const I=h.prototype;N=I[Ze],B=I[Ne]}}const H="readystatechange",J="scheduled";function q(h){const I=h.data,P=I.target;P[a]=!1,P[d]=!1;const Q=P[c];N||(N=P[Ze],B=P[Ne]),Q&&B.call(P,H,Q);const oe=P[c]=()=>{if(P.readyState===P.DONE)if(!I.aborted&&P[a]&&h.state===J){const U=P[n.__symbol__("loadfalse")];if(0!==P.status&&U&&U.length>0){const re=h.invoke;h.invoke=function(){const ee=P[n.__symbol__("loadfalse")];for(let W=0;Wfunction(h,I){return h[o]=0==I[2],h[y]=I[1],K.apply(h,I)}),X=j("fetchTaskAborting"),A=j("fetchTaskScheduling"),E=le(M,"send",()=>function(h,I){if(!0===n.current[A]||h[o])return E.apply(h,I);{const P={target:h,url:h[y],isPeriodic:!1,args:I,aborted:!1},Q=Me("XMLHttpRequest.send",R,P,q,_);h&&!0===h[d]&&!P.aborted&&Q.state===J&&Q.invoke()}}),G=le(M,"abort",()=>function(h,I){const P=function Z(h){return h[i]}(h);if(P&&"string"==typeof P.type){if(null==P.cancelFn||P.data&&P.data.aborted)return;P.zone.cancelTask(P)}else if(!0===n.current[X])return G.apply(h,I)})}(e);const i=j("xhrTask"),o=j("xhrSync"),c=j("xhrListener"),a=j("xhrScheduled"),y=j("xhrURL"),d=j("xhrErrorBeforeScheduled")}),Zone.__load_patch("geolocation",e=>{e.navigator&&e.navigator.geolocation&&function at(e,n){const i=e.constructor.name;for(let o=0;o{const b=function(){return d.apply(this,Le(arguments,i+"."+c))};return ue(b,d),b})(a)}}}(e.navigator.geolocation,["getCurrentPosition","watchPosition"])}),Zone.__load_patch("PromiseRejectionEvent",(e,n)=>{function i(o){return function(c){Qe(e,o).forEach(y=>{const d=e.PromiseRejectionEvent;if(d){const b=new d(o,{promise:c.promise,reason:c.rejection});y.invoke(b)}})}}e.PromiseRejectionEvent&&(n[j("unhandledPromiseRejectionHandler")]=i("unhandledrejection"),n[j("rejectionHandledHandler")]=i("rejectionhandled"))}),Zone.__load_patch("queueMicrotask",(e,n,i)=>{!function yt(e,n){n.patchMethod(e,"queueMicrotask",i=>function(o,c){Zone.current.scheduleMicroTask("queueMicrotask",c[0])})}(e,i)})}},ie=>{ie(ie.s=50)}]); + +"use strict";(self.webpackChunkcoverage_app=self.webpackChunkcoverage_app||[]).push([[792],{403:()=>{let Se=null,Yi=1;const Hn=Symbol("SIGNAL");function W(e){const n=Se;return Se=e,n}function Wf(e){if((!Io(e)||e.dirty)&&(e.dirty||e.lastCleanEpoch!==Yi)){if(!e.producerMustRecompute(e)&&!Dl(e))return e.dirty=!1,void(e.lastCleanEpoch=Yi);e.producerRecomputeValue(e),e.dirty=!1,e.lastCleanEpoch=Yi}}function Dl(e){pr(e);for(let n=0;n0}function pr(e){e.producerNode??=[],e.producerIndexOfThis??=[],e.producerLastReadVersion??=[]}let nh=null;function $e(e){return"function"==typeof e}function ih(e){const t=e(r=>{Error.call(r),r.stack=(new Error).stack});return t.prototype=Object.create(Error.prototype),t.prototype.constructor=t,t}const bl=ih(e=>function(t){e(this),this.message=t?`${t.length} errors occurred during unsubscription:\n${t.map((r,o)=>`${o+1}) ${r.toString()}`).join("\n ")}`:"",this.name="UnsubscriptionError",this.errors=t});function Il(e,n){if(e){const t=e.indexOf(n);0<=t&&e.splice(t,1)}}class xt{constructor(n){this.initialTeardown=n,this.closed=!1,this._parentage=null,this._teardowns=null}unsubscribe(){let n;if(!this.closed){this.closed=!0;const{_parentage:t}=this;if(t)if(this._parentage=null,Array.isArray(t))for(const i of t)i.remove(this);else t.remove(this);const{initialTeardown:r}=this;if($e(r))try{r()}catch(i){n=i instanceof bl?i.errors:[i]}const{_teardowns:o}=this;if(o){this._teardowns=null;for(const i of o)try{lh(i)}catch(s){n=n??[],s instanceof bl?n=[...n,...s.errors]:n.push(s)}}if(n)throw new bl(n)}}add(n){var t;if(n&&n!==this)if(this.closed)lh(n);else{if(n instanceof xt){if(n.closed||n._hasParent(this))return;n._addParent(this)}(this._teardowns=null!==(t=this._teardowns)&&void 0!==t?t:[]).push(n)}}_hasParent(n){const{_parentage:t}=this;return t===n||Array.isArray(t)&&t.includes(n)}_addParent(n){const{_parentage:t}=this;this._parentage=Array.isArray(t)?(t.push(n),t):t?[t,n]:n}_removeParent(n){const{_parentage:t}=this;t===n?this._parentage=null:Array.isArray(t)&&Il(t,n)}remove(n){const{_teardowns:t}=this;t&&Il(t,n),n instanceof xt&&n._removeParent(this)}}xt.EMPTY=(()=>{const e=new xt;return e.closed=!0,e})();const sh=xt.EMPTY;function ah(e){return e instanceof xt||e&&"closed"in e&&$e(e.remove)&&$e(e.add)&&$e(e.unsubscribe)}function lh(e){$e(e)?e():e.unsubscribe()}const Bn={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1},Ji={setTimeout(...e){const{delegate:n}=Ji;return(n?.setTimeout||setTimeout)(...e)},clearTimeout(e){const{delegate:n}=Ji;return(n?.clearTimeout||clearTimeout)(e)},delegate:void 0};function ch(e){Ji.setTimeout(()=>{const{onUnhandledError:n}=Bn;if(!n)throw e;n(e)})}function Xi(){}const ab=El("C",void 0,void 0);function El(e,n,t){return{kind:e,value:n,error:t}}let jn=null;function es(e){if(Bn.useDeprecatedSynchronousErrorHandling){const n=!jn;if(n&&(jn={errorThrown:!1,error:null}),e(),n){const{errorThrown:t,error:r}=jn;if(jn=null,t)throw r}}else e()}class Ml extends xt{constructor(n){super(),this.isStopped=!1,n?(this.destination=n,ah(n)&&n.add(this)):this.destination=db}static create(n,t,r){return new uh(n,t,r)}next(n){this.isStopped?Tl(function cb(e){return El("N",e,void 0)}(n),this):this._next(n)}error(n){this.isStopped?Tl(function lb(e){return El("E",void 0,e)}(n),this):(this.isStopped=!0,this._error(n))}complete(){this.isStopped?Tl(ab,this):(this.isStopped=!0,this._complete())}unsubscribe(){this.closed||(this.isStopped=!0,super.unsubscribe(),this.destination=null)}_next(n){this.destination.next(n)}_error(n){try{this.destination.error(n)}finally{this.unsubscribe()}}_complete(){try{this.destination.complete()}finally{this.unsubscribe()}}}class uh extends Ml{constructor(n,t,r){let o;if(super(),$e(n))o=n;else if(n){let i;({next:o,error:t,complete:r}=n),this&&Bn.useDeprecatedNextContext?(i=Object.create(n),i.unsubscribe=()=>this.unsubscribe()):i=n,o=o?.bind(i),t=t?.bind(i),r=r?.bind(i)}this.destination={next:o?Sl(o):Xi,error:Sl(t??dh),complete:r?Sl(r):Xi}}}function Sl(e,n){return(...t)=>{try{e(...t)}catch(r){Bn.useDeprecatedSynchronousErrorHandling?function ub(e){Bn.useDeprecatedSynchronousErrorHandling&&jn&&(jn.errorThrown=!0,jn.error=e)}(r):ch(r)}}}function dh(e){throw e}function Tl(e,n){const{onStoppedNotification:t}=Bn;t&&Ji.setTimeout(()=>t(e,n))}const db={closed:!0,next:Xi,error:dh,complete:Xi},Nl="function"==typeof Symbol&&Symbol.observable||"@@observable";function fb(e){return e}let Mt=(()=>{class e{constructor(t){t&&(this._subscribe=t)}lift(t){const r=new e;return r.source=this,r.operator=t,r}subscribe(t,r,o){const i=function pb(e){return e&&e instanceof Ml||function hb(e){return e&&$e(e.next)&&$e(e.error)&&$e(e.complete)}(e)&&ah(e)}(t)?t:new uh(t,r,o);return es(()=>{const{operator:s,source:a}=this;i.add(s?s.call(i,a):a?this._subscribe(i):this._trySubscribe(i))}),i}_trySubscribe(t){try{return this._subscribe(t)}catch(r){t.error(r)}}forEach(t,r){return new(r=hh(r))((o,i)=>{let s;s=this.subscribe(a=>{try{t(a)}catch(l){i(l),s?.unsubscribe()}},i,o)})}_subscribe(t){var r;return null===(r=this.source)||void 0===r?void 0:r.subscribe(t)}[Nl](){return this}pipe(...t){return function fh(e){return 0===e.length?fb:1===e.length?e[0]:function(t){return e.reduce((r,o)=>o(r),t)}}(t)(this)}toPromise(t){return new(t=hh(t))((r,o)=>{let i;this.subscribe(s=>i=s,s=>o(s),()=>r(i))})}}return e.create=n=>new e(n),e})();function hh(e){var n;return null!==(n=e??Bn.Promise)&&void 0!==n?n:Promise}const gb=ih(e=>function(){e(this),this.name="ObjectUnsubscribedError",this.message="object unsubscribed"});let Eo=(()=>{class e extends Mt{constructor(){super(),this.closed=!1,this.observers=[],this.isStopped=!1,this.hasError=!1,this.thrownError=null}lift(t){const r=new ph(this,this);return r.operator=t,r}_throwIfClosed(){if(this.closed)throw new gb}next(t){es(()=>{if(this._throwIfClosed(),!this.isStopped){const r=this.observers.slice();for(const o of r)o.next(t)}})}error(t){es(()=>{if(this._throwIfClosed(),!this.isStopped){this.hasError=this.isStopped=!0,this.thrownError=t;const{observers:r}=this;for(;r.length;)r.shift().error(t)}})}complete(){es(()=>{if(this._throwIfClosed(),!this.isStopped){this.isStopped=!0;const{observers:t}=this;for(;t.length;)t.shift().complete()}})}unsubscribe(){this.isStopped=this.closed=!0,this.observers=null}get observed(){var t;return(null===(t=this.observers)||void 0===t?void 0:t.length)>0}_trySubscribe(t){return this._throwIfClosed(),super._trySubscribe(t)}_subscribe(t){return this._throwIfClosed(),this._checkFinalizedStatuses(t),this._innerSubscribe(t)}_innerSubscribe(t){const{hasError:r,isStopped:o,observers:i}=this;return r||o?sh:(i.push(t),new xt(()=>Il(i,t)))}_checkFinalizedStatuses(t){const{hasError:r,thrownError:o,isStopped:i}=this;r?t.error(o):i&&t.complete()}asObservable(){const t=new Mt;return t.source=this,t}}return e.create=(n,t)=>new ph(n,t),e})();class ph extends Eo{constructor(n,t){super(),this.destination=n,this.source=t}next(n){var t,r;null===(r=null===(t=this.destination)||void 0===t?void 0:t.next)||void 0===r||r.call(t,n)}error(n){var t,r;null===(r=null===(t=this.destination)||void 0===t?void 0:t.error)||void 0===r||r.call(t,n)}complete(){var n,t;null===(t=null===(n=this.destination)||void 0===n?void 0:n.complete)||void 0===t||t.call(n)}_subscribe(n){var t,r;return null!==(r=null===(t=this.source)||void 0===t?void 0:t.subscribe(n))&&void 0!==r?r:sh}}class mb extends Eo{constructor(n){super(),this._value=n}get value(){return this.getValue()}_subscribe(n){const t=super._subscribe(n);return!t.closed&&n.next(this._value),t}getValue(){const{hasError:n,thrownError:t,_value:r}=this;if(n)throw t;return this._throwIfClosed(),r}next(n){super.next(this._value=n)}}function Al(e){return n=>{if(function vb(e){return $e(e?.lift)}(n))return n.lift(function(t){try{return e(t,this)}catch(r){this.error(r)}});throw new TypeError("Unable to lift unknown Observable type")}}class xl extends Ml{constructor(n,t,r,o,i){super(n),this.onFinalize=i,this._next=t?function(s){try{t(s)}catch(a){n.error(a)}}:super._next,this._error=o?function(s){try{o(s)}catch(a){n.error(a)}finally{this.unsubscribe()}}:super._error,this._complete=r?function(){try{r()}catch(s){n.error(s)}finally{this.unsubscribe()}}:super._complete}unsubscribe(){var n;const{closed:t}=this;super.unsubscribe(),!t&&(null===(n=this.onFinalize)||void 0===n||n.call(this))}}function Ol(e,n){return Al((t,r)=>{let o=0;t.subscribe(new xl(r,i=>{r.next(e.call(n,i,o++))}))})}const gh="https://g.co/ng/security#xss";class E extends Error{constructor(n,t){super(function gr(e,n){return`NG0${Math.abs(e)}${n?": "+n:""}`}(n,t)),this.code=n}}function ln(e){return{toString:e}.toString()}const vr="__parameters__";function yr(e,n,t){return ln(()=>{const r=function Rl(e){return function(...t){if(e){const r=e(...t);for(const o in r)this[o]=r[o]}}}(n);function o(...i){if(this instanceof o)return r.apply(this,i),this;const s=new o(...i);return a.annotation=s,a;function a(l,c,u){const d=l.hasOwnProperty(vr)?l[vr]:Object.defineProperty(l,vr,{value:[]})[vr];for(;d.length<=u;)d.push(null);return(d[u]=d[u]||[]).push(s),l}}return t&&(o.prototype=Object.create(t.prototype)),o.prototype.ngMetadataName=e,o.annotationCls=o,o})}const le=globalThis;function ce(e){for(let n in e)if(e[n]===ce)return n;throw Error("Could not find renamed property on target object.")}function _b(e,n){for(const t in n)n.hasOwnProperty(t)&&!e.hasOwnProperty(t)&&(e[t]=n[t])}function ke(e){if("string"==typeof e)return e;if(Array.isArray(e))return"["+e.map(ke).join(", ")+"]";if(null==e)return""+e;if(e.overriddenName)return`${e.overriddenName}`;if(e.name)return`${e.name}`;const n=e.toString();if(null==n)return""+n;const t=n.indexOf("\n");return-1===t?n:n.substring(0,t)}function Fl(e,n){return null==e||""===e?null===n?"":n:null==n||""===n?e:e+" "+n}const yb=ce({__forward_ref__:ce});function pe(e){return e.__forward_ref__=pe,e.toString=function(){return ke(this())},e}function P(e){return ns(e)?e():e}function ns(e){return"function"==typeof e&&e.hasOwnProperty(yb)&&e.__forward_ref__===pe}function ee(e){return{token:e.token,providedIn:e.providedIn||null,factory:e.factory,value:void 0}}function wn(e){return{providers:e.providers||[],imports:e.imports||[]}}function rs(e){return yh(e,is)||yh(e,Ch)}function yh(e,n){return e.hasOwnProperty(n)?e[n]:null}function os(e){return e&&(e.hasOwnProperty(Pl)||e.hasOwnProperty(Ib))?e[Pl]:null}const is=ce({\u0275prov:ce}),Pl=ce({\u0275inj:ce}),Ch=ce({ngInjectableDef:ce}),Ib=ce({ngInjectorDef:ce});class R{constructor(n,t){this._desc=n,this.ngMetadataName="InjectionToken",this.\u0275prov=void 0,"number"==typeof t?this.__NG_ELEMENT_ID__=t:void 0!==t&&(this.\u0275prov=ee({token:this,providedIn:t.providedIn||"root",factory:t.factory}))}get multi(){return this}toString(){return`InjectionToken ${this._desc}`}}function Bl(e){return e&&!!e.\u0275providers}const Mo=ce({\u0275cmp:ce}),jl=ce({\u0275dir:ce}),$l=ce({\u0275pipe:ce}),wh=ce({\u0275mod:ce}),cn=ce({\u0275fac:ce}),So=ce({__NG_ELEMENT_ID__:ce}),bh=ce({__NG_ENV_ID__:ce});function H(e){return"string"==typeof e?e:null==e?"":String(e)}function Ul(e,n){throw new E(-201,!1)}var te=function(e){return e[e.Default=0]="Default",e[e.Host=1]="Host",e[e.Self=2]="Self",e[e.SkipSelf=4]="SkipSelf",e[e.Optional=8]="Optional",e}(te||{});let zl;function Ih(){return zl}function at(e){const n=zl;return zl=e,n}function Eh(e,n,t){const r=rs(e);return r&&"root"==r.providedIn?void 0===r.value?r.value=r.factory():r.value:t&te.Optional?null:void 0!==n?n:void Ul()}const To={},Gl="__NG_DI_FLAG__",ss="ngTempTokenPath",Ab=/\n/gm,Mh="__source";let Cr;function bn(e){const n=Cr;return Cr=e,n}function Rb(e,n=te.Default){if(void 0===Cr)throw new E(-203,!1);return null===Cr?Eh(e,void 0,n):Cr.get(e,n&te.Optional?null:void 0,n)}function re(e,n=te.Default){return(Ih()||Rb)(P(e),n)}function $(e,n=te.Default){return re(e,as(n))}function as(e){return typeof e>"u"||"number"==typeof e?e:(e.optional&&8)|(e.host&&1)|(e.self&&2)|(e.skipSelf&&4)}function ql(e){const n=[];for(let t=0;tArray.isArray(t)?Dr(t,n):n(t))}function Th(e,n,t){n>=e.length?e.push(t):e.splice(n,0,t)}function ls(e,n){return n>=e.length-1?e.pop():e.splice(n,1)[0]}function vt(e,n,t){let r=wr(e,n);return r>=0?e[1|r]=t:(r=~r,function Nh(e,n,t,r){let o=e.length;if(o==n)e.push(t,r);else if(1===o)e.push(r,e[0]),e[0]=t;else{for(o--,e.push(e[o-1],e[o]);o>n;)e[o]=e[o-2],o--;e[n]=t,e[n+1]=r}}(e,r,n,t)),r}function Yl(e,n){const t=wr(e,n);if(t>=0)return e[1|t]}function wr(e,n){return function Ah(e,n,t){let r=0,o=e.length>>t;for(;o!==r;){const i=r+(o-r>>1),s=e[i<n?o=i:r=i+1}return~(o<n){s=i-1;break}}}for(;i-1){let i;for(;++oi?"":o[u+1].toLowerCase(),2&r&&c!==d){if(Rt(r))return!1;s=!0}}}}else{if(!s&&!Rt(r)&&!Rt(l))return!1;if(s&&Rt(l))continue;s=!1,r=l|1&r}}return Rt(r)||s}function Rt(e){return!(1&e)}function Gb(e,n,t,r){if(null===n)return-1;let o=0;if(r||!t){let i=!1;for(;o-1)for(t++;t0?'="'+a+'"':"")+"]"}else 8&r?o+="."+s:4&r&&(o+=" "+s);else""!==o&&!Rt(s)&&(n+=Lh(i,o),o=""),r=s,i=i||!Rt(r);t++}return""!==o&&(n+=Lh(i,o)),n}function un(e){return ln(()=>{const n=Hh(e),t={...n,decls:e.decls,vars:e.vars,template:e.template,consts:e.consts||null,ngContentSelectors:e.ngContentSelectors,onPush:e.changeDetection===ds.OnPush,directiveDefs:null,pipeDefs:null,dependencies:n.standalone&&e.dependencies||null,getStandaloneInjector:null,signals:e.signals??!1,data:e.data||{},encapsulation:e.encapsulation||Ot.Emulated,styles:e.styles||oe,_:null,schemas:e.schemas||null,tView:null,id:""};Bh(t);const r=e.dependencies;return t.directiveDefs=fs(r,!1),t.pipeDefs=fs(r,!0),t.id=function nI(e){let n=0;const t=[e.selectors,e.ngContentSelectors,e.hostVars,e.hostAttrs,e.consts,e.vars,e.decls,e.encapsulation,e.standalone,e.signals,e.exportAs,JSON.stringify(e.inputs),JSON.stringify(e.outputs),Object.getOwnPropertyNames(e.type.prototype),!!e.contentQueries,!!e.viewQuery].join("|");for(const o of t)n=Math.imul(31,n)+o.charCodeAt(0)|0;return n+=2147483648,"c"+n}(t),t})}function Xb(e){return Y(e)||Le(e)}function eI(e){return null!==e}function Un(e){return ln(()=>({type:e.type,bootstrap:e.bootstrap||oe,declarations:e.declarations||oe,imports:e.imports||oe,exports:e.exports||oe,transitiveCompileScopes:null,schemas:e.schemas||null,id:e.id||null}))}function Vh(e,n){if(null==e)return zt;const t={};for(const r in e)if(e.hasOwnProperty(r)){const o=e[r];let i,s,a=Ee.None;Array.isArray(o)?(a=o[0],i=o[1],s=o[2]??i):(i=o,s=o),n?(t[i]=a!==Ee.None?[r,a]:r,n[i]=s):t[i]=r}return t}function U(e){return ln(()=>{const n=Hh(e);return Bh(n),n})}function ct(e){return{type:e.type,name:e.name,factory:null,pure:!1!==e.pure,standalone:!0===e.standalone,onDestroy:e.type.prototype.ngOnDestroy||null}}function Y(e){return e[Mo]||null}function Le(e){return e[jl]||null}function ze(e){return e[$l]||null}function Hh(e){const n={};return{type:e.type,providersResolver:null,factory:null,hostBindings:e.hostBindings||null,hostVars:e.hostVars||0,hostAttrs:e.hostAttrs||null,contentQueries:e.contentQueries||null,declaredInputs:n,inputTransforms:null,inputConfig:e.inputs||zt,exportAs:e.exportAs||null,standalone:!0===e.standalone,signals:!0===e.signals,selectors:e.selectors||oe,viewQuery:e.viewQuery||null,features:e.features||null,setInput:null,findHostDirectiveDefs:null,hostDirectives:null,inputs:Vh(e.inputs,n),outputs:Vh(e.outputs),debugInfo:null}}function Bh(e){e.features?.forEach(n=>n(e))}function fs(e,n){if(!e)return null;const t=n?ze:Xb;return()=>("function"==typeof e?e():e).map(r=>t(r)).filter(eI)}function rI(...e){return{\u0275providers:ec(0,e),\u0275fromNgModule:!0}}function ec(e,...n){const t=[],r=new Set;let o;const i=s=>{t.push(s)};return Dr(n,s=>{const a=s;ps(a,i,[],r)&&(o||=[],o.push(a))}),void 0!==o&&jh(o,i),t}function jh(e,n){for(let t=0;t{n(i,r)})}}function ps(e,n,t,r){if(!(e=P(e)))return!1;let o=null,i=os(e);const s=!i&&Y(e);if(i||s){if(s&&!s.standalone)return!1;o=e}else{const l=e.ngModule;if(i=os(l),!i)return!1;o=l}const a=r.has(o);if(s){if(a)return!1;if(r.add(o),s.dependencies){const l="function"==typeof s.dependencies?s.dependencies():s.dependencies;for(const c of l)ps(c,n,t,r)}}else{if(!i)return!1;{if(null!=i.imports&&!a){let c;r.add(o);try{Dr(i.imports,u=>{ps(u,n,t,r)&&(c||=[],c.push(u))})}finally{}void 0!==c&&jh(c,n)}if(!a){const c=$n(o)||(()=>new o);n({provide:o,useFactory:c,deps:oe},o),n({provide:Kl,useValue:o,multi:!0},o),n({provide:br,useValue:()=>re(o),multi:!0},o)}const l=i.providers;if(null!=l&&!a){const c=e;tc(l,u=>{n(u,c)})}}}return o!==e&&void 0!==e.providers}function tc(e,n){for(let t of e)Bl(t)&&(t=t.\u0275providers),Array.isArray(t)?tc(t,n):n(t)}const oI=ce({provide:String,useValue:ce});function nc(e){return null!==e&&"object"==typeof e&&oI in e}function Gn(e){return"function"==typeof e}const rc=new R(""),gs={},sI={};let oc;function ms(){return void 0===oc&&(oc=new us),oc}class Gt{}class Ir extends Gt{get destroyed(){return this._destroyed}constructor(n,t,r,o){super(),this.parent=t,this.source=r,this.scopes=o,this.records=new Map,this._ngOnDestroyHooks=new Set,this._onDestroyHooks=[],this._destroyed=!1,sc(n,s=>this.processProvider(s)),this.records.set(xh,Er(void 0,this)),o.has("environment")&&this.records.set(Gt,Er(void 0,this));const i=this.records.get(rc);null!=i&&"string"==typeof i.value&&this.scopes.add(i.value),this.injectorDefTypes=new Set(this.get(Kl,oe,te.Self))}destroy(){this.assertNotDestroyed(),this._destroyed=!0;const n=W(null);try{for(const r of this._ngOnDestroyHooks)r.ngOnDestroy();const t=this._onDestroyHooks;this._onDestroyHooks=[];for(const r of t)r()}finally{this.records.clear(),this._ngOnDestroyHooks.clear(),this.injectorDefTypes.clear(),W(n)}}onDestroy(n){return this.assertNotDestroyed(),this._onDestroyHooks.push(n),()=>this.removeOnDestroy(n)}runInContext(n){this.assertNotDestroyed();const t=bn(this),r=at(void 0);try{return n()}finally{bn(t),at(r)}}get(n,t=To,r=te.Default){if(this.assertNotDestroyed(),n.hasOwnProperty(bh))return n[bh](this);r=as(r);const i=bn(this),s=at(void 0);try{if(!(r&te.SkipSelf)){let l=this.records.get(n);if(void 0===l){const c=function dI(e){return"function"==typeof e||"object"==typeof e&&e instanceof R}(n)&&rs(n);l=c&&this.injectableDefInScope(c)?Er(ic(n),gs):null,this.records.set(n,l)}if(null!=l)return this.hydrate(n,l)}return(r&te.Self?ms():this.parent).get(n,t=r&te.Optional&&t===To?null:t)}catch(a){if("NullInjectorError"===a.name){if((a[ss]=a[ss]||[]).unshift(ke(n)),i)throw a;return function Pb(e,n,t,r){const o=e[ss];throw n[Mh]&&o.unshift(n[Mh]),e.message=function kb(e,n,t,r=null){e=e&&"\n"===e.charAt(0)&&"\u0275"==e.charAt(1)?e.slice(2):e;let o=ke(n);if(Array.isArray(n))o=n.map(ke).join(" -> ");else if("object"==typeof n){let i=[];for(let s in n)if(n.hasOwnProperty(s)){let a=n[s];i.push(s+":"+("string"==typeof a?JSON.stringify(a):ke(a)))}o=`{${i.join(", ")}}`}return`${t}${r?"("+r+")":""}[${o}]: ${e.replace(Ab,"\n ")}`}("\n"+e.message,o,t,r),e.ngTokenPath=o,e[ss]=null,e}(a,n,"R3InjectorError",this.source)}throw a}finally{at(s),bn(i)}}resolveInjectorInitializers(){const n=W(null),t=bn(this),r=at(void 0);try{const i=this.get(br,oe,te.Self);for(const s of i)s()}finally{bn(t),at(r),W(n)}}toString(){const n=[],t=this.records;for(const r of t.keys())n.push(ke(r));return`R3Injector[${n.join(", ")}]`}assertNotDestroyed(){if(this._destroyed)throw new E(205,!1)}processProvider(n){let t=Gn(n=P(n))?n:P(n&&n.provide);const r=function lI(e){return nc(e)?Er(void 0,e.useValue):Er(zh(e),gs)}(n);if(!Gn(n)&&!0===n.multi){let o=this.records.get(t);o||(o=Er(void 0,gs,!0),o.factory=()=>ql(o.multi),this.records.set(t,o)),t=n,o.multi.push(n)}this.records.set(t,r)}hydrate(n,t){const r=W(null);try{return t.value===gs&&(t.value=sI,t.value=t.factory()),"object"==typeof t.value&&t.value&&function uI(e){return null!==e&&"object"==typeof e&&"function"==typeof e.ngOnDestroy}(t.value)&&this._ngOnDestroyHooks.add(t.value),t.value}finally{W(r)}}injectableDefInScope(n){if(!n.providedIn)return!1;const t=P(n.providedIn);return"string"==typeof t?"any"===t||this.scopes.has(t):this.injectorDefTypes.has(t)}removeOnDestroy(n){const t=this._onDestroyHooks.indexOf(n);-1!==t&&this._onDestroyHooks.splice(t,1)}}function ic(e){const n=rs(e),t=null!==n?n.factory:$n(e);if(null!==t)return t;if(e instanceof R)throw new E(204,!1);if(e instanceof Function)return function aI(e){if(e.length>0)throw new E(204,!1);const t=function bb(e){return e&&(e[is]||e[Ch])||null}(e);return null!==t?()=>t.factory(e):()=>new e}(e);throw new E(204,!1)}function zh(e,n,t){let r;if(Gn(e)){const o=P(e);return $n(o)||ic(o)}if(nc(e))r=()=>P(e.useValue);else if(function Uh(e){return!(!e||!e.useFactory)}(e))r=()=>e.useFactory(...ql(e.deps||[]));else if(function $h(e){return!(!e||!e.useExisting)}(e))r=()=>re(P(e.useExisting));else{const o=P(e&&(e.useClass||e.provide));if(!function cI(e){return!!e.deps}(e))return $n(o)||ic(o);r=()=>new o(...ql(e.deps))}return r}function Er(e,n,t=!1){return{factory:e,value:n,multi:t?[]:void 0}}function sc(e,n){for(const t of e)Array.isArray(t)?sc(t,n):t&&Bl(t)?sc(t.\u0275providers,n):n(t)}const Ce=0,S=1,O=2,Te=3,Ft=4,We=5,_t=6,Sr=7,ge=8,Ge=9,Pt=10,L=11,Oo=12,Zh=13,Tr=14,be=15,Ro=16,Nr=17,dn=18,Fo=19,Qh=20,In=21,ys=22,qn=23,B=25,lc=1,qt=7,Ar=9,Ne=10;var cc=function(e){return e[e.None=0]="None",e[e.HasTransplantedViews=2]="HasTransplantedViews",e}(cc||{});function Ze(e){return Array.isArray(e)&&"object"==typeof e[lc]}function Qe(e){return Array.isArray(e)&&!0===e[lc]}function uc(e){return!!(4&e.flags)}function Wn(e){return e.componentOffset>-1}function Ds(e){return!(1&~e.flags)}function kt(e){return!!e.template}function dc(e){return!!(512&e[O])}class II{constructor(n,t,r){this.previousValue=n,this.currentValue=t,this.firstChange=r}isFirstChange(){return this.firstChange}}function Xh(e,n,t,r){null!==n?n.applyValueToInputSignal(n,r):e[t]=r}function fn(){return ep}function ep(e){return e.type.prototype.ngOnChanges&&(e.setInput=MI),EI}function EI(){const e=np(this),n=e?.current;if(n){const t=e.previous;if(t===zt)e.previous=n;else for(let r in n)t[r]=n[r];e.current=null,this.ngOnChanges(n)}}function MI(e,n,t,r,o){const i=this.declaredInputs[r],s=np(e)||function SI(e,n){return e[tp]=n}(e,{previous:zt,current:null}),a=s.current||(s.current={}),l=s.previous,c=l[i];a[i]=new II(c&&c.currentValue,t,l===zt),Xh(e,n,o,t)}fn.ngInherit=!0;const tp="__ngSimpleChanges__";function np(e){return e[tp]||null}const Wt=function(e,n,t){};let ip=!1;function fe(e){for(;Array.isArray(e);)e=e[Ce];return e}function ko(e,n){return fe(n[e])}function tt(e,n){return fe(n[e.index])}function Lo(e,n){return e.data[n]}function yt(e,n){const t=n[e];return Ze(t)?t:t[Ce]}function mc(e){return!(128&~e[O])}function Zt(e,n){return null==n?null:e[n]}function sp(e){e[Nr]=0}function RI(e){1024&e[O]||(e[O]|=1024,mc(e)&&Vo(e))}function vc(e){return!!(9216&e[O]||e[qn]?.dirty)}function _c(e){e[Pt].changeDetectionScheduler?.notify(1),vc(e)?Vo(e):64&e[O]&&(function NI(){return ip}()?(e[O]|=1024,Vo(e)):e[Pt].changeDetectionScheduler?.notify())}function Vo(e){e[Pt].changeDetectionScheduler?.notify();let n=Zn(e);for(;null!==n&&!(8192&n[O])&&(n[O]|=8192,mc(n));)n=Zn(n)}function ws(e,n){if(!(256&~e[O]))throw new E(911,!1);null===e[In]&&(e[In]=[]),e[In].push(n)}function Zn(e){const n=e[Te];return Qe(n)?n[Te]:n}const V={lFrame:mp(null),bindingsEnabled:!0,skipHydrationRootTNode:null};function cp(){return V.bindingsEnabled}function D(){return V.lFrame.lView}function K(){return V.lFrame.tView}function Z(e){return V.lFrame.contextLView=e,e[ge]}function Q(e){return V.lFrame.contextLView=null,e}function ue(){let e=up();for(;null!==e&&64===e.type;)e=e.parent;return e}function up(){return V.lFrame.currentTNode}function Qt(e,n){const t=V.lFrame;t.currentTNode=e,t.isParent=n}function Cc(){return V.lFrame.isParent}function Dc(){V.lFrame.isParent=!1}function nt(){const e=V.lFrame;let n=e.bindingRootIndex;return-1===n&&(n=e.bindingRootIndex=e.tView.bindingStartIndex),n}function Lt(){return V.lFrame.bindingIndex++}function pn(e){const n=V.lFrame,t=n.bindingIndex;return n.bindingIndex=n.bindingIndex+e,t}function zI(e,n){const t=V.lFrame;t.bindingIndex=t.bindingRootIndex=e,wc(n)}function wc(e){V.lFrame.currentDirectiveIndex=e}function bs(e){V.lFrame.currentQueryIndex=e}function qI(e){const n=e[S];return 2===n.type?n.declTNode:1===n.type?e[We]:null}function pp(e,n,t){if(t&te.SkipSelf){let o=n,i=e;for(;!(o=o.parent,null!==o||t&te.Host||(o=qI(i),null===o||(i=i[Tr],10&o.type))););if(null===o)return!1;n=o,e=i}const r=V.lFrame=gp();return r.currentTNode=n,r.lView=e,!0}function Ec(e){const n=gp(),t=e[S];V.lFrame=n,n.currentTNode=t.firstChild,n.lView=e,n.tView=t,n.contextLView=e,n.bindingIndex=t.bindingStartIndex,n.inI18n=!1}function gp(){const e=V.lFrame,n=null===e?null:e.child;return null===n?mp(e):n}function mp(e){const n={currentTNode:null,isParent:!0,lView:null,tView:null,selectedIndex:-1,contextLView:null,elementDepthCount:0,currentNamespace:null,currentDirectiveIndex:-1,bindingRootIndex:-1,bindingIndex:-1,currentQueryIndex:0,parent:e,child:null,inI18n:!1};return null!==e&&(e.child=n),n}function vp(){const e=V.lFrame;return V.lFrame=e.parent,e.currentTNode=null,e.lView=null,e}const _p=vp;function Mc(){const e=vp();e.isParent=!0,e.tView=null,e.selectedIndex=-1,e.contextLView=null,e.elementDepthCount=0,e.currentDirectiveIndex=-1,e.currentNamespace=null,e.bindingRootIndex=-1,e.bindingIndex=-1,e.currentQueryIndex=0}function Ye(){return V.lFrame.selectedIndex}function Qn(e){V.lFrame.selectedIndex=e}function me(){const e=V.lFrame;return Lo(e.tView,e.selectedIndex)}let Dp=!0;function Bo(){return Dp}function Yt(e){Dp=e}function Is(e,n){for(let t=n.directiveStart,r=n.directiveEnd;t=r)break}else n[l]<0&&(e[Nr]+=65536),(a>14>16&&(3&e[O])===n&&(e[O]+=16384,bp(a,i)):bp(a,i)}const Rr=-1;class jo{constructor(n,t,r){this.factory=n,this.resolving=!1,this.canSeeViewProviders=t,this.injectImpl=r}}function Nc(e){return e!==Rr}function $o(e){return 32767&e}function Uo(e,n){let t=function rE(e){return e>>16}(e),r=n;for(;t>0;)r=r[Tr],t--;return r}let Ac=!0;function Ss(e){const n=Ac;return Ac=e,n}const Ip=255,Ep=5;let oE=0;const Kt={};function Ts(e,n){const t=Mp(e,n);if(-1!==t)return t;const r=n[S];r.firstCreatePass&&(e.injectorIndex=n.length,xc(r.data,e),xc(n,null),xc(r.blueprint,null));const o=Ns(e,n),i=e.injectorIndex;if(Nc(o)){const s=$o(o),a=Uo(o,n),l=a[S].data;for(let c=0;c<8;c++)n[i+c]=a[s+c]|l[s+c]}return n[i+8]=o,i}function xc(e,n){e.push(0,0,0,0,0,0,0,0,n)}function Mp(e,n){return-1===e.injectorIndex||e.parent&&e.parent.injectorIndex===e.injectorIndex||null===n[e.injectorIndex+8]?-1:e.injectorIndex}function Ns(e,n){if(e.parent&&-1!==e.parent.injectorIndex)return e.parent.injectorIndex;let t=0,r=null,o=n;for(;null!==o;){if(r=Rp(o),null===r)return Rr;if(t++,o=o[Tr],-1!==r.injectorIndex)return r.injectorIndex|t<<16}return Rr}function Oc(e,n,t){!function iE(e,n,t){let r;"string"==typeof t?r=t.charCodeAt(0)||0:t.hasOwnProperty(So)&&(r=t[So]),null==r&&(r=t[So]=oE++);const o=r&Ip;n.data[e+(o>>Ep)]|=1<=0?n&Ip:cE:n}(t);if("function"==typeof i){if(!pp(n,e,r))return r&te.Host?Sp(o,0,r):Tp(n,t,r,o);try{let s;if(s=i(r),null!=s||r&te.Optional)return s;Ul()}finally{_p()}}else if("number"==typeof i){let s=null,a=Mp(e,n),l=Rr,c=r&te.Host?n[be][We]:null;for((-1===a||r&te.SkipSelf)&&(l=-1===a?Ns(e,n):n[a+8],l!==Rr&&Op(r,!1)?(s=n[S],a=$o(l),n=Uo(l,n)):a=-1);-1!==a;){const u=n[S];if(xp(i,a,u.data)){const d=aE(a,n,t,s,r,c);if(d!==Kt)return d}l=n[a+8],l!==Rr&&Op(r,n[S].data[a+8]===c)&&xp(i,a,n)?(s=u,a=$o(l),n=Uo(l,n)):a=-1}}return o}function aE(e,n,t,r,o,i){const s=n[S],a=s.data[e+8],u=function As(e,n,t,r,o){const i=e.providerIndexes,s=n.data,a=1048575&i,l=e.directiveStart,u=i>>20,h=o?a+u:e.directiveEnd;for(let p=r?a:a+u;p=l&&m.type===t)return p}if(o){const p=s[l];if(p&&kt(p)&&p.type===t)return l}return null}(a,s,t,null==r?Wn(a)&&Ac:r!=s&&!!(3&a.type),o&te.Host&&i===a);return null!==u?Yn(n,s,u,a):Kt}function Yn(e,n,t,r){let o=e[t];const i=n.data;if(function XI(e){return e instanceof jo}(o)){const s=o;s.resolving&&function Sb(e,n){throw n&&n.join(" > "),new E(-200,e)}(function ie(e){return"function"==typeof e?e.name||e.toString():"object"==typeof e&&null!=e&&"function"==typeof e.type?e.type.name||e.type.toString():H(e)}(i[t]));const a=Ss(s.canSeeViewProviders);s.resolving=!0;const c=s.injectImpl?at(s.injectImpl):null;pp(e,r,te.Default);try{o=e[t]=s.factory(void 0,i,e,r),n.firstCreatePass&&t>=r.directiveStart&&function KI(e,n,t){const{ngOnChanges:r,ngOnInit:o,ngDoCheck:i}=n.type.prototype;if(r){const s=ep(n);(t.preOrderHooks??=[]).push(e,s),(t.preOrderCheckHooks??=[]).push(e,s)}o&&(t.preOrderHooks??=[]).push(0-e,o),i&&((t.preOrderHooks??=[]).push(e,i),(t.preOrderCheckHooks??=[]).push(e,i))}(t,i[t],n)}finally{null!==c&&at(c),Ss(a),s.resolving=!1,_p()}}return o}function xp(e,n,t){return!!(t[n+(e>>Ep)]&1<{const n=e.prototype.constructor,t=n[cn]||Rc(n),r=Object.prototype;let o=Object.getPrototypeOf(e.prototype).constructor;for(;o&&o!==r;){const i=o[cn]||Rc(o);if(i&&i!==t)return i;o=Object.getPrototypeOf(o)}return i=>new i})}function Rc(e){return ns(e)?()=>{const n=Rc(P(e));return n&&n()}:$n(e)}function Rp(e){const n=e[S],t=n.type;return 2===t?n.declTNode:1===t?e[We]:null}function Vp(e,n=null,t=null,r){const o=Hp(e,n,t,r);return o.resolveInjectorInitializers(),o}function Hp(e,n=null,t=null,r,o=new Set){const i=[t||oe,rI(e)];return r=r||("object"==typeof e?void 0:ke(e)),new Ir(i,n||ms(),r||null,o)}let Ct=(()=>{class e{static#e=this.THROW_IF_NOT_FOUND=To;static#t=this.NULL=new us;static create(t,r){if(Array.isArray(t))return Vp({name:""},r,t,"");{const o=t.name??"";return Vp({name:o},t.parent,t.providers,o)}}static#n=this.\u0275prov=ee({token:e,providedIn:"any",factory:()=>re(xh)});static#r=this.__NG_ELEMENT_ID__=-1}return e})();function Pc(e){return e.ngOriginalError}class Jt{constructor(){this._console=console}handleError(n){const t=this._findOriginalError(n);this._console.error("ERROR",n),t&&this._console.error("ORIGINAL ERROR",t)}_findOriginalError(n){let t=n&&Pc(n);for(;t&&Pc(t);)t=Pc(t);return t||null}}const jp=new R("",{providedIn:"root",factory:()=>$(Jt).handleError.bind(void 0)});let kr=(()=>{class e{static#e=this.__NG_ELEMENT_ID__=yE;static#t=this.__NG_ENV_ID__=t=>t}return e})();class _E extends kr{constructor(n){super(),this._lView=n}onDestroy(n){return ws(this._lView,n),()=>function yc(e,n){if(null===e[In])return;const t=e[In].indexOf(n);-1!==t&&e[In].splice(t,1)}(this._lView,n)}}function yE(){return new _E(D())}function CE(){return Lr(ue(),D())}function Lr(e,n){return new Vt(tt(e,n))}let Vt=(()=>{class e{constructor(t){this.nativeElement=t}static#e=this.__NG_ELEMENT_ID__=CE}return e})();function kc(e){return n=>{setTimeout(e,void 0,n)}}const Ae=class DE extends Eo{constructor(n=!1){super(),this.destroyRef=void 0,this.__isAsync=n,function qh(){return void 0!==Ih()||null!=function Ob(){return Cr}()}()&&(this.destroyRef=$(kr,{optional:!0})??void 0)}emit(n){const t=W(null);try{super.next(n)}finally{W(t)}}subscribe(n,t,r){let o=n,i=t||(()=>null),s=r;if(n&&"object"==typeof n){const l=n;o=l.next?.bind(l),i=l.error?.bind(l),s=l.complete?.bind(l)}this.__isAsync&&(i=kc(i),o&&(o=kc(o)),s&&(s=kc(s)));const a=super.subscribe({next:o,error:i,complete:s});return n instanceof xt&&n.add(a),a}};function Rs(e){return!(128&~e.flags)}Symbol;const Vc=new Map;let IE=0;const Bc="__ngContext__";function Je(e,n){Ze(n)?(e[Bc]=n[Fo],function ME(e){Vc.set(e[Fo],e)}(n)):e[Bc]=n}function Xp(e){return tg(e[Oo])}function eg(e){return tg(e[Ft])}function tg(e){for(;null!==e&&!Qe(e);)e=e[Ft];return e}let jc;const ks=new R("",{providedIn:"root",factory:()=>zE}),zE="ng",cg=new R(""),Vr=new R("",{providedIn:"platform",factory:()=>"unknown"}),ug=new R("",{providedIn:"root",factory:()=>function En(){if(void 0!==jc)return jc;if(typeof document<"u")return document;throw new E(210,!1)}().body?.querySelector("[ngCspNonce]")?.getAttribute("ngCspNonce")||null});let dg=()=>null;function Qc(e,n,t=!1){return dg(e,n,t)}const mg=new R("",{providedIn:"root",factory:()=>!1});class Dg{constructor(n){this.changingThisBreaksApplicationSecurity=n}toString(){return`SafeValue must use [property]=binding: ${this.changingThisBreaksApplicationSecurity} (see ${gh})`}}function Mn(e){return e instanceof Dg?e.changingThisBreaksApplicationSecurity:e}const hM=/^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:\/?#]*(?:[\/?#]|$))/i;var $r=function(e){return e[e.NONE=0]="NONE",e[e.HTML=1]="HTML",e[e.STYLE=2]="STYLE",e[e.SCRIPT=3]="SCRIPT",e[e.URL=4]="URL",e[e.RESOURCE_URL=5]="RESOURCE_URL",e}($r||{});function Sn(e){const n=function Jo(){const e=D();return e&&e[Pt].sanitizer}();return n?n.sanitize($r.URL,e)||"":function Yo(e,n){const t=function cM(e){return e instanceof Dg&&e.getTypeName()||null}(e);if(null!=t&&t!==n){if("ResourceURL"===t&&"URL"===n)return!0;throw new Error(`Required a safe ${n}, got a ${t} (see ${gh})`)}return t===n}(e,"URL")?Mn(e):function tu(e){return(e=String(e)).match(hM)?e:"unsafe:"+e}(H(e))}const AM=/^>|^->||--!>|)/g,OM="\u200b$1\u200b";function lu(e){return e.ownerDocument.defaultView}var Nn=function(e){return e[e.Important=1]="Important",e[e.DashCase=2]="DashCase",e}(Nn||{});let cu;function uu(e,n){return cu(e,n)}function zr(e,n,t,r,o){if(null!=r){let i,s=!1;Qe(r)?i=r:Ze(r)&&(s=!0,r=r[Ce]);const a=fe(r);0===e&&null!==t?null==o?$g(n,t,a):Kn(n,t,a,o||null,!0):1===e&&null!==t?Kn(n,t,a,o||null,!0):2===e?function ti(e,n,t){const r=Ys(e,n);r&&function YM(e,n,t,r){e.removeChild(n,t,r)}(e,r,n,t)}(n,a,s):3===e&&n.destroyNode(a),null!=i&&function XM(e,n,t,r,o){const i=t[qt];i!==fe(t)&&zr(n,e,r,i,o);for(let a=Ne;an.replace(xM,OM))}(n))}function Zs(e,n,t){return e.createElement(n,t)}function Hg(e,n){n[Pt].changeDetectionScheduler?.notify(1),Js(e,n,n[L],2,null,null)}function Bg(e,n){const t=e[Ar],r=t.indexOf(n);t.splice(r,1)}function Xo(e,n){if(e.length<=Ne)return;const t=Ne+n,r=e[t];if(r){const o=r[Ro];null!==o&&o!==e&&Bg(o,r),n>0&&(e[t-1][Ft]=r[Ft]);const i=ls(e,Ne+n);!function UM(e,n){Hg(e,n),n[Ce]=null,n[We]=null}(r[S],r);const s=i[dn];null!==s&&s.detachView(i[S]),r[Te]=null,r[Ft]=null,r[O]&=-129}return r}function Qs(e,n){if(!(256&n[O])){const t=n[L];t.destroyNode&&Js(e,n,t,3,null,null),function GM(e){let n=e[Oo];if(!n)return hu(e[S],e);for(;n;){let t=null;if(Ze(n))t=n[Oo];else{const r=n[Ne];r&&(t=r)}if(!t){for(;n&&!n[Ft]&&n!==e;)Ze(n)&&hu(n[S],n),n=n[Te];null===n&&(n=e),Ze(n)&&hu(n[S],n),t=n&&n[Ft]}n=t}}(n)}}function hu(e,n){if(256&n[O])return;const t=W(null);try{n[O]&=-129,n[O]|=256,n[qn]&&function Xf(e){if(pr(e),Io(e))for(let n=0;n=0?r[s]():r[-s].unsubscribe(),i+=2}else t[i].call(r[t[i+1]]);null!==r&&(n[Sr]=null);const o=n[In];if(null!==o){n[In]=null;for(let i=0;i-1){const{encapsulation:i}=e.data[r.directiveStart+o];if(i===Ot.None||i===Ot.Emulated)return null}return tt(r,t)}}(e,n.parent,t)}function Kn(e,n,t,r,o){e.insertBefore(n,t,r,o)}function $g(e,n,t){e.appendChild(n,t)}function Ug(e,n,t,r,o){null!==r?Kn(e,n,t,r,o):$g(e,n,t)}function Ys(e,n){return e.parentNode(n)}let gu,qg=function Gg(e,n,t){return 40&e.type?tt(e,t):null};function Ks(e,n,t,r){const o=pu(e,r,n),i=n[L],a=function zg(e,n,t){return qg(e,n,t)}(r.parent||n[We],r,n);if(null!=o)if(Array.isArray(t))for(let l=0;lB&&Xg(e,n,B,!1),Wt(s?2:0,o),t(r,o)}finally{Qn(i),Wt(s?3:1,o)}}function yu(e,n,t){if(uc(n)){const r=W(null);try{const i=n.directiveEnd;for(let s=n.directiveStart;snull;function om(e,n,t,r,o){for(let i in n){if(!n.hasOwnProperty(i))continue;const s=n[i];if(void 0===s)continue;r??={};let a,l=Ee.None;Array.isArray(s)?(a=s[0],l=s[1]):a=s;let c=i;if(null!==o){if(!o.hasOwnProperty(i))continue;c=o[i]}0===e?im(r,t,c,a,l):im(r,t,c,a)}return r}function im(e,n,t,r,o){let i;e.hasOwnProperty(t)?(i=e[t]).push(n,r):i=e[t]=[n,r],void 0!==o&&i.push(o)}function dt(e,n,t,r,o,i,s,a){const l=tt(n,t);let u,c=n.inputs;!a&&null!=c&&(u=c[r])?(Su(e,t,u,r,o),Wn(n)&&function p0(e,n){const t=yt(n,e);16&t[O]||(t[O]|=64)}(t,n.index)):3&n.type&&(r=function h0(e){return"class"===e?"className":"for"===e?"htmlFor":"formaction"===e?"formAction":"innerHtml"===e?"innerHTML":"readonly"===e?"readOnly":"tabindex"===e?"tabIndex":e}(r),o=null!=s?s(o,n.value||"",r):o,i.setProperty(l,r,o))}function bu(e,n,t,r){if(cp()){const o=null===r?null:{"":-1},i=function C0(e,n){const t=e.directiveRegistry;let r=null,o=null;if(t)for(let i=0;i0;){const t=e[--n];if("number"==typeof t&&t<0)return t}return 0})(s)!=a&&s.push(a),s.push(t,r,i)}}(e,n,r,ni(e,t,o.hostVars,z),o)}function Xt(e,n,t,r,o,i){const s=tt(e,n);!function Eu(e,n,t,r,o,i,s){if(null==i)e.removeAttribute(n,o,t);else{const a=null==s?H(i):s(i,r||"",o);e.setAttribute(n,o,a,t)}}(n[L],s,i,e.value,t,r,o)}function M0(e,n,t,r,o,i){const s=i[n];if(null!==s)for(let a=0;a0&&(t[o-1][Ft]=n),r!1,producerRecomputeValue:()=>{},consumerMarkedDirty:()=>{},consumerOnSignalRead:()=>{},consumerIsAlwaysLive:!0,consumerMarkedDirty:e=>{Vo(e.lView)},consumerOnSignalRead(){this.lView[qn]=this}},mm=100;function na(e,n=!0,t=0){const r=e[Pt],o=r.rendererFactory;o.begin?.();try{!function P0(e,n){Au(e,n);let t=0;for(;vc(e);){if(t===mm)throw new E(103,!1);t++,Au(e,1)}}(e,t)}catch(s){throw n&&ta(e,s),s}finally{o.end?.(),r.inlineEffectRunner?.flush()}}function k0(e,n,t,r){const o=n[O];if(!(256&~o))return;n[Pt].inlineEffectRunner?.flush(),Ec(n);let s=null,a=null;(function L0(e){return 2!==e.type})(e)&&(a=function x0(e){return e[qn]??function O0(e){const n=gm.pop()??Object.create(F0);return n.lView=e,n}(e)}(n),s=function Kf(e){return e&&(e.nextProducerIndex=0),W(e)}(a));try{sp(n),function fp(e){return V.lFrame.bindingIndex=e}(e.bindingStartIndex),null!==t&&tm(e,n,t,2,r);const l=!(3&~o);if(l){const d=e.preOrderCheckHooks;null!==d&&Es(n,d,null)}else{const d=e.preOrderHooks;null!==d&&Ms(n,d,0,null),Sc(n,0)}if(function V0(e){for(let n=Xp(e);null!==n;n=eg(n)){if(!(n[O]&cc.HasTransplantedViews))continue;const t=n[Ar];for(let r=0;re.nextProducerIndex;)e.producerNode.pop(),e.producerLastReadVersion.pop(),e.producerIndexOfThis.pop()}}(a,s),function R0(e){e.lView[qn]!==e&&(e.lView=null,gm.push(e))}(a)),Mc()}}function vm(e,n){for(let t=Xp(e);null!==t;t=eg(t))for(let r=Ne;r-1&&(Xo(n,r),ls(t,r))}this._attachedToViewContainer=!1}Qs(this._lView[S],this._lView)}onDestroy(n){ws(this._lView,n)}markForCheck(){si(this._cdRefInjectingView||this._lView)}detach(){this._lView[O]&=-129}reattach(){_c(this._lView),this._lView[O]|=128}detectChanges(){this._lView[O]|=1024,na(this._lView,this.notifyErrorHandler)}checkNoChanges(){}attachToViewContainerRef(){if(this._appRef)throw new E(902,!1);this._attachedToViewContainer=!0}detachFromAppRef(){this._appRef=null,Hg(this._lView[S],this._lView)}attachToAppRef(n){if(this._attachedToViewContainer)throw new E(902,!1);this._appRef=n,_c(this._lView)}}let vn=(()=>{class e{static#e=this.__NG_ELEMENT_ID__=$0}return e})();const B0=vn,j0=class extends B0{constructor(n,t,r){super(),this._declarationLView=n,this._declarationTContainer=t,this.elementRef=r}get ssrId(){return this._declarationTContainer.tView?.ssrId||null}createEmbeddedView(n,t){return this.createEmbeddedViewImpl(n,t)}createEmbeddedViewImpl(n,t,r){const o=function ri(e,n,t,r){const o=W(null);try{const i=n.tView,l=Xs(e,i,t,4096&e[O]?4096:16,null,n,null,null,r?.injector??null,r?.embeddedViewInjector??null,r?.dehydratedView??null);l[Ro]=e[n.index];const u=e[dn];return null!==u&&(l[dn]=u.createEmbeddedView(i)),Tu(i,l,t),l}finally{W(o)}}(this._declarationLView,this._declarationTContainer,n,{embeddedViewInjector:t,dehydratedView:r});return new ai(o)}};function $0(){return function ra(e,n){return 4&e.type?new j0(n,e,Lr(e,n)):null}(ue(),D())}class ku{}class fS{}class Mm{}class pS{resolveComponentFactory(n){throw function hS(e){const n=Error(`No component factory found for ${ke(e)}.`);return n.ngComponent=e,n}(n)}}let la=(()=>{class e{static#e=this.NULL=new pS}return e})();class Tm{}let Jn=(()=>{class e{constructor(){this.destroyNode=null}static#e=this.__NG_ELEMENT_ID__=()=>function gS(){const e=D(),t=yt(ue().index,e);return(Ze(t)?t:e)[L]}()}return e})(),mS=(()=>{class e{static#e=this.\u0275prov=ee({token:e,providedIn:"root",factory:()=>null})}return e})();const Lu={};function Am(...e){}class De{constructor({enableLongStackTrace:n=!1,shouldCoalesceEventChangeDetection:t=!1,shouldCoalesceRunChangeDetection:r=!1}){if(this.hasPendingMacrotasks=!1,this.hasPendingMicrotasks=!1,this.isStable=!0,this.onUnstable=new Ae(!1),this.onMicrotaskEmpty=new Ae(!1),this.onStable=new Ae(!1),this.onError=new Ae(!1),typeof Zone>"u")throw new E(908,!1);Zone.assertZonePatched();const o=this;o._nesting=0,o._outer=o._inner=Zone.current,Zone.TaskTrackingZoneSpec&&(o._inner=o._inner.fork(new Zone.TaskTrackingZoneSpec)),n&&Zone.longStackTraceZoneSpec&&(o._inner=o._inner.fork(Zone.longStackTraceZoneSpec)),o.shouldCoalesceEventChangeDetection=!r&&t,o.shouldCoalesceRunChangeDetection=r,o.lastRequestAnimationFrameId=-1,o.nativeRequestAnimationFrame=function vS(){const e="function"==typeof le.requestAnimationFrame;let n=le[e?"requestAnimationFrame":"setTimeout"],t=le[e?"cancelAnimationFrame":"clearTimeout"];if(typeof Zone<"u"&&n&&t){const r=n[Zone.__symbol__("OriginalDelegate")];r&&(n=r);const o=t[Zone.__symbol__("OriginalDelegate")];o&&(t=o)}return{nativeRequestAnimationFrame:n,nativeCancelAnimationFrame:t}}().nativeRequestAnimationFrame,function CS(e){const n=()=>{!function yS(e){e.isCheckStableRunning||-1!==e.lastRequestAnimationFrameId||(e.lastRequestAnimationFrameId=e.nativeRequestAnimationFrame.call(le,()=>{e.fakeTopEventTask||(e.fakeTopEventTask=Zone.root.scheduleEventTask("fakeTopEventTask",()=>{e.lastRequestAnimationFrameId=-1,Hu(e),e.isCheckStableRunning=!0,Vu(e),e.isCheckStableRunning=!1},void 0,()=>{},()=>{})),e.fakeTopEventTask.invoke()}),Hu(e))}(e)};e._inner=e._inner.fork({name:"angular",properties:{isAngularZone:!0},onInvokeTask:(t,r,o,i,s,a)=>{if(function DS(e){return!(!Array.isArray(e)||1!==e.length)&&!0===e[0].data?.__ignore_ng_zone__}(a))return t.invokeTask(o,i,s,a);try{return xm(e),t.invokeTask(o,i,s,a)}finally{(e.shouldCoalesceEventChangeDetection&&"eventTask"===i.type||e.shouldCoalesceRunChangeDetection)&&n(),Om(e)}},onInvoke:(t,r,o,i,s,a,l)=>{try{return xm(e),t.invoke(o,i,s,a,l)}finally{e.shouldCoalesceRunChangeDetection&&n(),Om(e)}},onHasTask:(t,r,o,i)=>{t.hasTask(o,i),r===o&&("microTask"==i.change?(e._hasPendingMicrotasks=i.microTask,Hu(e),Vu(e)):"macroTask"==i.change&&(e.hasPendingMacrotasks=i.macroTask))},onHandleError:(t,r,o,i)=>(t.handleError(o,i),e.runOutsideAngular(()=>e.onError.emit(i)),!1)})}(o)}static isInAngularZone(){return typeof Zone<"u"&&!0===Zone.current.get("isAngularZone")}static assertInAngularZone(){if(!De.isInAngularZone())throw new E(909,!1)}static assertNotInAngularZone(){if(De.isInAngularZone())throw new E(909,!1)}run(n,t,r){return this._inner.run(n,t,r)}runTask(n,t,r,o){const i=this._inner,s=i.scheduleEventTask("NgZoneEvent: "+o,n,_S,Am,Am);try{return i.runTask(s,t,r)}finally{i.cancelTask(s)}}runGuarded(n,t,r){return this._inner.runGuarded(n,t,r)}runOutsideAngular(n){return this._outer.run(n)}}const _S={};function Vu(e){if(0==e._nesting&&!e.hasPendingMicrotasks&&!e.isStable)try{e._nesting++,e.onMicrotaskEmpty.emit(null)}finally{if(e._nesting--,!e.hasPendingMicrotasks)try{e.runOutsideAngular(()=>e.onStable.emit(null))}finally{e.isStable=!0}}}function Hu(e){e.hasPendingMicrotasks=!!(e._hasPendingMicrotasks||(e.shouldCoalesceEventChangeDetection||e.shouldCoalesceRunChangeDetection)&&-1!==e.lastRequestAnimationFrameId)}function xm(e){e._nesting++,e.isStable&&(e.isStable=!1,e.onUnstable.emit(null))}function Om(e){e._nesting--,Vu(e)}class Rm{constructor(){this.hasPendingMicrotasks=!1,this.hasPendingMacrotasks=!1,this.isStable=!0,this.onUnstable=new Ae,this.onMicrotaskEmpty=new Ae,this.onStable=new Ae,this.onError=new Ae}run(n,t,r){return n.apply(t,r)}runGuarded(n,t,r){return n.apply(t,r)}runOutsideAngular(n){return n()}runTask(n,t,r,o){return n.apply(t,r)}}let fi=(()=>{class e{constructor(){this.handler=null,this.internalCallbacks=[]}execute(){this.executeInternalCallbacks(),this.handler?.execute()}executeInternalCallbacks(){const t=[...this.internalCallbacks];this.internalCallbacks.length=0;for(const r of t)r()}ngOnDestroy(){this.handler?.destroy(),this.handler=null,this.internalCallbacks.length=0}static#e=this.\u0275prov=ee({token:e,providedIn:"root",factory:()=>new e})}return e})();function ua(e,n,t){let r=t?e.styles:null,o=t?e.classes:null,i=0;if(null!==n)for(let s=0;s0&&Kg(e,t,i.join(" "))}}(p,Ie,y,r),void 0!==t&&function FS(e,n,t){const r=e.projection=[];for(let o=0;o{class e{static#e=this.__NG_ELEMENT_ID__=kS}return e})();function kS(){return function Um(e,n){let t;const r=n[e.index];return Qe(r)?t=r:(t=lm(r,n,null,e),n[e.index]=t,ea(n,t)),zm(t,n,e,r),new jm(t,e,n)}(ue(),D())}const LS=tn,jm=class extends LS{constructor(n,t,r){super(),this._lContainer=n,this._hostTNode=t,this._hostLView=r}get element(){return Lr(this._hostTNode,this._hostLView)}get injector(){return new He(this._hostTNode,this._hostLView)}get parentInjector(){const n=Ns(this._hostTNode,this._hostLView);if(Nc(n)){const t=Uo(n,this._hostLView),r=$o(n);return new He(t[S].data[r+8],t)}return new He(null,this._hostLView)}clear(){for(;this.length>0;)this.remove(this.length-1)}get(n){const t=$m(this._lContainer);return null!==t&&t[n]||null}get length(){return this._lContainer.length-Ne}createEmbeddedView(n,t,r){let o,i;"number"==typeof r?o=r:null!=r&&(o=r.index,i=r.injector);const a=n.createEmbeddedViewImpl(t||{},i,null);return this.insertImpl(a,o,qr(this._hostTNode,null)),a}createComponent(n,t,r,o,i){const s=n&&!function xo(e){return"function"==typeof e}(n);let a;if(s)a=t;else{const m=t||{};a=m.index,r=m.injector,o=m.projectableNodes,i=m.environmentInjector||m.ngModuleRef}const l=s?n:new gi(Y(n)),c=r||this.parentInjector;if(!i&&null==l.ngModule){const y=(s?c:this.parentInjector).get(Gt,null);y&&(i=y)}Y(l.componentType??{});const p=l.create(c,o,null,i);return this.insertImpl(p.hostView,a,qr(this._hostTNode,null)),p}insert(n,t){return this.insertImpl(n,t,!0)}insertImpl(n,t,r){const o=n._lView;if(function OI(e){return Qe(e[Te])}(o)){const a=this.indexOf(n);if(-1!==a)this.detach(a);else{const l=o[Te],c=new jm(l,l[We],l[Te]);c.detach(c.indexOf(n))}}const i=this._adjustIndex(t),s=this._lContainer;return oi(s,o,i,r),n.attachToViewContainerRef(),Th(Uu(s),i,n),n}move(n,t){return this.insert(n,t)}indexOf(n){const t=$m(this._lContainer);return null!==t?t.indexOf(n):-1}remove(n){const t=this._adjustIndex(n,-1),r=Xo(this._lContainer,t);r&&(ls(Uu(this._lContainer),t),Qs(r[S],r))}detach(n){const t=this._adjustIndex(n,-1),r=Xo(this._lContainer,t);return r&&null!=ls(Uu(this._lContainer),t)?new ai(r):null}_adjustIndex(n,t=0){return n??this.length+t}};function $m(e){return e[8]}function Uu(e){return e[8]||(e[8]=[])}let zm=function qm(e,n,t,r){if(e[qt])return;let o;o=8&t.type?fe(r):function VS(e,n){const t=e[L],r=t.createComment(""),o=tt(n,e);return Kn(t,Ys(t,o),r,function KM(e,n){return e.nextSibling(n)}(t,o),!1),r}(n,t),e[qt]=o},zu=()=>!1;function nv(e){return function ev(e){return"function"==typeof e&&void 0!==e[Hn]}(e)&&"function"==typeof e.set}function de(e){let n=function hv(e){return Object.getPrototypeOf(e.prototype).constructor}(e.type),t=!0;const r=[e];for(;n;){let o;if(kt(e))o=n.\u0275cmp||n.\u0275dir;else{if(n.\u0275cmp)throw new E(903,!1);o=n.\u0275dir}if(o){if(t){r.push(o);const s=e;s.inputs=ha(e.inputs),s.inputTransforms=ha(e.inputTransforms),s.declaredInputs=ha(e.declaredInputs),s.outputs=ha(e.outputs);const a=o.hostBindings;a&&lT(e,a);const l=o.viewQuery,c=o.contentQueries;if(l&&sT(e,l),c&&aT(e,c),oT(e,o),_b(e.outputs,o.outputs),kt(o)&&o.data.animation){const u=e.data;u.animation=(u.animation||[]).concat(o.data.animation)}}const i=o.features;if(i)for(let s=0;s=0;r--){const o=e[r];o.hostVars=n+=o.hostVars,o.hostAttrs=Ao(o.hostAttrs,t=Ao(t,o.hostAttrs))}}(r)}function oT(e,n){for(const t in n.inputs){if(!n.inputs.hasOwnProperty(t)||e.inputs.hasOwnProperty(t))continue;const r=n.inputs[t];if(void 0!==r&&(e.inputs[t]=r,e.declaredInputs[t]=n.declaredInputs[t],null!==n.inputTransforms)){const o=Array.isArray(r)?r[0]:r;if(!n.inputTransforms.hasOwnProperty(o))continue;e.inputTransforms??={},e.inputTransforms[o]=n.inputTransforms[o]}}}function ha(e){return e===zt?{}:e===oe?[]:e}function sT(e,n){const t=e.viewQuery;e.viewQuery=t?(r,o)=>{n(r,o),t(r,o)}:n}function aT(e,n){const t=e.contentQueries;e.contentQueries=t?(r,o,i)=>{n(r,o,i),t(r,o,i)}:n}function lT(e,n){const t=e.hostBindings;e.hostBindings=t?(r,o)=>{n(r,o),t(r,o)}:n}class tr{}class gT{}class Xu extends tr{constructor(n,t,r){super(),this._parent=t,this._bootstrapComponents=[],this.destroyCbs=[],this.componentFactoryResolver=new Hm(this);const o=function qe(e,n){const t=e[wh]||null;if(!t&&!0===n)throw new Error(`Type ${ke(e)} does not have '\u0275mod' property.`);return t}(n);this._bootstrapComponents=function Dt(e){return e instanceof Function?e():e}(o.bootstrap),this._r3Injector=Hp(n,t,[{provide:tr,useValue:this},{provide:la,useValue:this.componentFactoryResolver},...r],ke(n),new Set(["environment"])),this._r3Injector.resolveInjectorInitializers(),this.instance=this._r3Injector.get(n)}get injector(){return this._r3Injector}destroy(){const n=this._r3Injector;!n.destroyed&&n.destroy(),this.destroyCbs.forEach(t=>t()),this.destroyCbs=null}onDestroy(n){this.destroyCbs.push(n)}}class ed extends gT{constructor(n){super(),this.moduleType=n}create(n){return new Xu(this.moduleType,n,[])}}let vi=(()=>{class e{constructor(){this.taskId=0,this.pendingTasks=new Set,this.hasPendingTasks=new mb(!1)}get _hasPendingTasks(){return this.hasPendingTasks.value}add(){this._hasPendingTasks||this.hasPendingTasks.next(!0);const t=this.taskId++;return this.pendingTasks.add(t),t}remove(t){this.pendingTasks.delete(t),0===this.pendingTasks.size&&this._hasPendingTasks&&this.hasPendingTasks.next(!1)}ngOnDestroy(){this.pendingTasks.clear(),this._hasPendingTasks&&this.hasPendingTasks.next(!1)}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=ee({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();function ga(e){return!!function td(e){return null!==e&&("function"==typeof e||"object"==typeof e)}(e)&&(Array.isArray(e)||!(e instanceof Map)&&Symbol.iterator in e)}function nn(e,n,t){return e[n]=t}function xe(e,n,t){return!Object.is(e[n],t)&&(e[n]=t,!0)}function nr(e,n,t,r){const o=xe(e,n,t);return xe(e,n+1,r)||o}function k(e,n,t,r,o,i,s,a){const l=D(),c=K(),u=e+B,d=c.firstCreatePass?function bT(e,n,t,r,o,i,s,a,l){const c=n.consts,u=Gr(n,e,4,s||null,Zt(c,a));bu(n,t,u,Zt(c,l)),Is(n,u);const d=u.tView=wu(2,u,r,o,i,n.directiveRegistry,n.pipeRegistry,null,n.schemas,c,null);return null!==n.queries&&(n.queries.template(n,u),d.queries=n.queries.embeddedTView(u)),u}(u,c,l,n,t,r,o,i,s):c.data[u];Qt(d,!1);const h=yv(c,l,d,e);Bo()&&Ks(c,l,h,d),Je(h,l);const p=lm(h,l,h,d);return l[u]=p,ea(l,p),function Gm(e,n,t){return zu(e,n,t)}(p,d,l),Ds(d)&&Cu(c,l,d),null!=s&&Du(l,d,a),k}let yv=function Cv(e,n,t,r){return Yt(!0),n[L].createComment("")};function Ht(e,n,t,r){const o=D();return xe(o,Lt(),n)&&(K(),Xt(me(),o,e,n,t,r)),Ht}function no(e,n,t,r){return xe(e,Lt(),t)?n+H(t)+r:z}function wa(e,n){return e<<17|n<<2}function On(e){return e>>17&32767}function dd(e){return 2|e}function or(e){return(131068&e)>>2}function fd(e,n){return-131069&e|n<<2}function hd(e){return 1|e}function Kv(e,n,t,r){const o=e[t+1],i=null===n;let s=r?On(o):or(o),a=!1;for(;0!==s&&(!1===a||i);){const c=e[s+1];lN(e[s],n)&&(a=!0,e[s+1]=r?hd(c):dd(c)),s=r?On(c):or(c)}a&&(e[t+1]=r?dd(o):hd(o))}function lN(e,n){return null===e||null==n||(Array.isArray(e)?e[1]:e)===n||!(!Array.isArray(e)||"string"!=typeof n)&&wr(e,n)>=0}const Be={textEnd:0,key:0,keyEnd:0,value:0,valueEnd:0};function Jv(e){return e.substring(Be.key,Be.keyEnd)}function Xv(e,n){const t=Be.textEnd;return t===n?-1:(n=Be.keyEnd=function fN(e,n,t){for(;n32;)n++;return n}(e,Be.key=n,t),uo(e,n,t))}function uo(e,n,t){for(;n=0;t=Xv(n,t))vt(e,Jv(n),!0)}function i_(e,n){return n>=e.expandoStartIndex}function s_(e,n,t,r){const o=e.data;if(null===o[t+1]){const i=o[Ye()],s=i_(e,t);u_(i,r)&&null===n&&!s&&(n=!1),n=function vN(e,n,t,r){const o=function bc(e){const n=V.lFrame.currentDirectiveIndex;return-1===n?null:e[n]}(e);let i=r?n.residualClasses:n.residualStyles;if(null===o)0===(r?n.classBindings:n.styleBindings)&&(t=bi(t=gd(null,e,n,t,r),n.attrs,r),i=null);else{const s=n.directiveStylingLast;if(-1===s||e[s]!==o)if(t=gd(o,e,n,t,r),null===i){let l=function _N(e,n,t){const r=t?n.classBindings:n.styleBindings;if(0!==or(r))return e[On(r)]}(e,n,r);void 0!==l&&Array.isArray(l)&&(l=gd(null,e,n,l[1],r),l=bi(l,n.attrs,r),function yN(e,n,t,r){e[On(t?n.classBindings:n.styleBindings)]=r}(e,n,r,l))}else i=function CN(e,n,t){let r;const o=n.directiveEnd;for(let i=1+n.directiveStylingLast;i0)&&(c=!0)):u=t,o)if(0!==l){const h=On(e[a+1]);e[r+1]=wa(h,a),0!==h&&(e[h+1]=fd(e[h+1],r)),e[a+1]=function oN(e,n){return 131071&e|n<<17}(e[a+1],r)}else e[r+1]=wa(a,0),0!==a&&(e[a+1]=fd(e[a+1],r)),a=r;else e[r+1]=wa(l,0),0===a?a=r:e[l+1]=fd(e[l+1],r),l=r;c&&(e[r+1]=dd(e[r+1])),Kv(e,u,r,!0),Kv(e,u,r,!1),function aN(e,n,t,r,o){const i=o?e.residualClasses:e.residualStyles;null!=i&&"string"==typeof n&&wr(i,n)>=0&&(t[r+1]=hd(t[r+1]))}(n,u,e,r,i),s=wa(a,l),i?n.classBindings=s:n.styleBindings=s}(o,i,n,t,s,r)}}function gd(e,n,t,r,o){let i=null;const s=t.directiveEnd;let a=t.directiveStylingLast;for(-1===a?a=t.directiveStart:a++;a0;){const l=e[o],c=Array.isArray(l),u=c?l[1]:l,d=null===u;let h=t[o+1];h===z&&(h=d?oe:void 0);let p=d?Yl(h,r):u===r?h:void 0;if(c&&!Ia(p)&&(p=Yl(l,r)),Ia(p)&&(a=p,s))return a;const m=e[o+1];o=s?On(m):or(m)}if(null!==n){let l=i?n.residualClasses:n.residualStyles;null!=l&&(a=Yl(l,r))}return a}function Ia(e){return void 0!==e}function u_(e,n){return!!(e.flags&(n?8:16))}function sn(e,n,t){!function jt(e,n,t,r){const o=K(),i=pn(2);o.firstUpdatePass&&s_(o,null,i,r);const s=D();if(t!==z&&xe(s,i,t)){const a=o.data[Ye()];if(u_(a,r)&&!i_(o,i)){let l=r?a.classesWithoutHost:a.stylesWithoutHost;null!==l&&(t=Fl(l,t||"")),pd(o,a,s,t,r)}else!function bN(e,n,t,r,o,i,s,a){o===z&&(o=oe);let l=0,c=0,u=0(Yt(!0),Zs(r,o,function Cp(){return V.lFrame.currentNamespace}()));function J(e,n,t){const r=D(),o=K(),i=e+B,s=o.firstCreatePass?function QN(e,n,t,r,o){const i=n.consts,s=Zt(i,r),a=Gr(n,e,8,"ng-container",s);return null!==s&&ua(a,s,!0),bu(n,t,a,Zt(i,o)),null!==n.queries&&n.queries.elementStart(n,a),a}(i,o,r,n,t):o.data[i];Qt(s,!0);const a=m_(o,r,s,e);return r[i]=a,Bo()&&Ks(o,r,a,s),Je(a,r),Ds(s)&&(Cu(o,r,s),yu(o,s,r)),null!=t&&Du(r,s),J}function X(){let e=ue();const n=K();return Cc()?Dc():(e=e.parent,Qt(e,!1)),n.firstCreatePass&&(Is(n,e),uc(e)&&n.queries.elementEnd(e)),X}let m_=(e,n,t,r)=>(Yt(!0),fu(n[L],""));function Me(){return D()}const ho="en-US";let D_=ho;function j(e,n,t,r){const o=D(),i=K(),s=ue();return wd(i,o,o[L],s,e,n,r),j}function wd(e,n,t,r,o,i,s){const a=Ds(r),c=e.firstCreatePass&&function dm(e){return e.cleanup||(e.cleanup=[])}(e),u=n[ge],d=function um(e){return e[Sr]||(e[Sr]=[])}(n);let h=!0;if(3&r.type||s){const y=tt(r,n),I=s?s(y):y,M=d.length,w=s?G=>s(fe(G[r.index])):r.index;let x=null;if(!s&&a&&(x=function YA(e,n,t,r){const o=e.cleanup;if(null!=o)for(let i=0;il?a[l]:null}"string"==typeof s&&(i+=2)}return null}(e,n,o,r.index)),null!==x)(x.__ngLastListenerFn__||x).__ngNextListenerFn__=i,x.__ngLastListenerFn__=i,h=!1;else{i=Q_(r,n,u,i,!1);const G=t.listen(I,o,i);d.push(i,G),c&&c.push(o,w,M,M+1)}}else i=Q_(r,n,u,i,!1);const p=r.outputs;let m;if(h&&null!==p&&(m=p[o])){const y=m.length;if(y)for(let I=0;I-1?yt(e.index,n):n);let l=Z_(n,t,r,s),c=i.__ngNextListenerFn__;for(;c;)l=Z_(n,t,c,s)&&l,c=c.__ngNextListenerFn__;return o&&!1===l&&s.preventDefault(),l}}function v(e=1){return function WI(e){return(V.lFrame.contextLView=function ap(e,n){for(;e>0;)n=n[Tr],e--;return n}(e,V.lFrame.contextLView))[ge]}(e)}function Rn(e,n,t){return bd(e,"",n,"",t),Rn}function bd(e,n,t,r,o){const i=D(),s=no(i,n,t,r);return s!==z&&dt(K(),me(),i,e,s,i[L],o,!1),bd}function b(e,n=""){const t=D(),r=K(),o=e+B,i=r.firstCreatePass?Gr(r,o,1,n,null):r.data[o],s=hy(r,t,i,n,e);t[o]=s,Bo()&&Ks(r,t,s,i),Qt(i,!1)}let hy=(e,n,t,r,o)=>(Yt(!0),function du(e,n){return e.createText(n)}(n[L],r));function A(e){return q("",e,""),A}function q(e,n,t){const r=D(),o=no(r,e,n,t);return o!==z&&function mn(e,n,t){const r=ko(n,e);!function Vg(e,n,t){e.setValue(n,t)}(e[L],r,t)}(r,Ye(),o),q}function ht(e,n,t){nv(n)&&(n=n());const r=D();return xe(r,Lt(),n)&&dt(K(),me(),r,e,n,r[L],t,!1),ht}function Xe(e,n){const t=nv(e);return t&&e.set(n),t}function bt(e,n){const t=D(),r=K(),o=ue();return wd(r,t,t[L],o,e,n),bt}function Id(e,n,t,r,o){if(e=P(e),Array.isArray(e))for(let i=0;i>20;if(Gn(e)||!e.multi){const p=new jo(c,o,T),m=Md(l,n,o?u:u+h,d);-1===m?(Oc(Ts(a,s),i,l),Ed(i,e,n.length),n.push(l),a.directiveStart++,a.directiveEnd++,o&&(a.providerIndexes+=1048576),t.push(p),s.push(p)):(t[m]=p,s[m]=p)}else{const p=Md(l,n,u+h,d),m=Md(l,n,u,u+h),I=m>=0&&t[m];if(o&&!I||!o&&!(p>=0&&t[p])){Oc(Ts(a,s),i,l);const M=function b1(e,n,t,r,o){const i=new jo(e,t,T);return i.multi=[],i.index=n,i.componentProviders=0,wy(i,o,r&&!t),i}(o?w1:D1,t.length,o,r,c);!o&&I&&(t[m].providerFactory=M),Ed(i,e,n.length,0),n.push(l),a.directiveStart++,a.directiveEnd++,o&&(a.providerIndexes+=1048576),t.push(M),s.push(M)}else Ed(i,e,p>-1?p:m,wy(t[o?m:p],c,!o&&r));!o&&r&&I&&t[m].componentProviders++}}}function Ed(e,n,t,r){const o=Gn(n),i=function iI(e){return!!e.useClass}(n);if(o||i){const l=(i?P(n.useClass):n).prototype.ngOnDestroy;if(l){const c=e.destroyHooks||(e.destroyHooks=[]);if(!o&&n.multi){const u=c.indexOf(t);-1===u?c.push(t,[r,l]):c[u+1].push(r,l)}else c.push(t,l)}}}function wy(e,n,t){return t&&e.componentProviders++,e.multi.push(n)-1}function Md(e,n,t,r){for(let o=t;o{t.providersResolver=(r,o)=>function C1(e,n,t){const r=K();if(r.firstCreatePass){const o=kt(e);Id(t,r.data,r.blueprint,o,!0),Id(n,r.data,r.blueprint,o,!1)}}(r,o?o(e):e,n)}}function Aa(e,n,t,r){return function Iy(e,n,t,r,o,i){const s=n+t;return xe(e,s,o)?nn(e,s+1,i?r.call(i,o):r(o)):Ai(e,s+1)}(D(),nt(),e,n,t,r)}function Td(e,n,t,r,o){return function Ey(e,n,t,r,o,i,s){const a=n+t;return nr(e,a,o,i)?nn(e,a+2,s?r.call(s,o,i):r(o,i)):Ai(e,a+2)}(D(),nt(),e,n,t,r,o)}function Ue(e,n,t,r,o,i){return My(D(),nt(),e,n,t,r,o,i)}function Ai(e,n){const t=e[n];return t===z?void 0:t}function My(e,n,t,r,o,i,s,a){const l=n+t;return function ma(e,n,t,r,o){const i=nr(e,n,t,r);return xe(e,n+2,o)||i}(e,l,o,i,s)?nn(e,l+3,a?r.call(a,o,i,s):r(o,i,s)):Ai(e,l+3)}function Ay(e,n,t,r,o){const i=e+B,s=D(),a=function xr(e,n){return e[n]}(s,i);return function xi(e,n){return e[S].data[n].pure}(s,i)?My(s,nt(),n,a.transform,t,r,o,a):a.transform(t,r,o)}const Yy=new R(""),Fa=new R("");let kd,Fd=(()=>{class e{constructor(t,r,o){this._ngZone=t,this.registry=r,this._pendingCount=0,this._isZoneStable=!0,this._callbacks=[],this.taskTrackingZone=null,kd||(function Fx(e){kd=e}(o),o.addToWindow(r)),this._watchAngularEvents(),t.run(()=>{this.taskTrackingZone=typeof Zone>"u"?null:Zone.current.get("TaskTrackingZone")})}_watchAngularEvents(){this._ngZone.onUnstable.subscribe({next:()=>{this._isZoneStable=!1}}),this._ngZone.runOutsideAngular(()=>{this._ngZone.onStable.subscribe({next:()=>{De.assertNotInAngularZone(),queueMicrotask(()=>{this._isZoneStable=!0,this._runCallbacksIfReady()})}})})}increasePendingRequestCount(){return this._pendingCount+=1,this._pendingCount}decreasePendingRequestCount(){if(this._pendingCount-=1,this._pendingCount<0)throw new Error("pending async requests below zero");return this._runCallbacksIfReady(),this._pendingCount}isStable(){return this._isZoneStable&&0===this._pendingCount&&!this._ngZone.hasPendingMacrotasks}_runCallbacksIfReady(){if(this.isStable())queueMicrotask(()=>{for(;0!==this._callbacks.length;){let t=this._callbacks.pop();clearTimeout(t.timeoutId),t.doneCb()}});else{let t=this.getPendingTasks();this._callbacks=this._callbacks.filter(r=>!r.updateCb||!r.updateCb(t)||(clearTimeout(r.timeoutId),!1))}}getPendingTasks(){return this.taskTrackingZone?this.taskTrackingZone.macroTasks.map(t=>({source:t.source,creationLocation:t.creationLocation,data:t.data})):[]}addCallback(t,r,o){let i=-1;r&&r>0&&(i=setTimeout(()=>{this._callbacks=this._callbacks.filter(s=>s.timeoutId!==i),t()},r)),this._callbacks.push({doneCb:t,timeoutId:i,updateCb:o})}whenStable(t,r,o){if(o&&!this.taskTrackingZone)throw new Error('Task tracking zone is required when passing an update callback to whenStable(). Is "zone.js/plugins/task-tracking" loaded?');this.addCallback(t,r,o),this._runCallbacksIfReady()}getPendingRequestCount(){return this._pendingCount}registerApplication(t){this.registry.registerApplication(t,this)}unregisterApplication(t){this.registry.unregisterApplication(t)}findProviders(t,r,o){return[]}static#e=this.\u0275fac=function(r){return new(r||e)(re(De),re(Pd),re(Fa))};static#t=this.\u0275prov=ee({token:e,factory:e.\u0275fac})}return e})(),Pd=(()=>{class e{constructor(){this._applications=new Map}registerApplication(t,r){this._applications.set(t,r)}unregisterApplication(t){this._applications.delete(t)}unregisterAllApplications(){this._applications.clear()}getTestability(t){return this._applications.get(t)||null}getAllTestabilities(){return Array.from(this._applications.values())}getAllRootElements(){return Array.from(this._applications.keys())}findTestabilityInTree(t,r=!0){return kd?.findTestabilityInTree(this,t,r)??null}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=ee({token:e,factory:e.\u0275fac,providedIn:"platform"})}return e})();function Pa(e){return!!e&&"function"==typeof e.then}function Ky(e){return!!e&&"function"==typeof e.subscribe}const Px=new R("");let Ld=(()=>{class e{constructor(){this.initialized=!1,this.done=!1,this.donePromise=new Promise((t,r)=>{this.resolve=t,this.reject=r}),this.appInits=$(Px,{optional:!0})??[]}runInitializers(){if(this.initialized)return;const t=[];for(const o of this.appInits){const i=o();if(Pa(i))t.push(i);else if(Ky(i)){const s=new Promise((a,l)=>{i.subscribe({complete:a,error:l})});t.push(s)}}const r=()=>{this.done=!0,this.resolve()};Promise.all(t).then(()=>{r()}).catch(o=>{this.reject(o)}),0===t.length&&r(),this.initialized=!0}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=ee({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();const Jy=new R("");function tC(e,n){return Array.isArray(n)?n.reduce(tC,e):{...e,...n}}let sr=(()=>{class e{constructor(){this._bootstrapListeners=[],this._runningTick=!1,this._destroyed=!1,this._destroyListeners=[],this._views=[],this.internalErrorHandler=$(jp),this.afterRenderEffectManager=$(fi),this.externalTestViews=new Set,this.beforeRender=new Eo,this.afterTick=new Eo,this.componentTypes=[],this.components=[],this.isStable=$(vi).hasPendingTasks.pipe(Ol(t=>!t)),this._injector=$(Gt)}get destroyed(){return this._destroyed}get injector(){return this._injector}bootstrap(t,r){const o=t instanceof Mm;if(!this._injector.get(Ld).done)throw!o&&function zn(e){const n=Y(e)||Le(e)||ze(e);return null!==n&&n.standalone}(t),new E(405,!1);let s;s=o?t:this._injector.get(la).resolveComponentFactory(t),this.componentTypes.push(s.componentType);const a=function kx(e){return e.isBoundToModule}(s)?void 0:this._injector.get(tr),c=s.create(Ct.NULL,[],r||s.selector,a),u=c.location.nativeElement,d=c.injector.get(Yy,null);return d?.registerApplication(u),c.onDestroy(()=>{this.detachView(c.hostView),ka(this.components,c),d?.unregisterApplication(u)}),this._loadComponent(c),c}tick(){this._tick(!0)}_tick(t){if(this._runningTick)throw new E(101,!1);const r=W(null);try{this._runningTick=!0,this.detectChangesInAttachedViews(t)}catch(o){this.internalErrorHandler(o)}finally{this.afterTick.next(),this._runningTick=!1,W(r)}}detectChangesInAttachedViews(t){let r=0;const o=this.afterRenderEffectManager;for(;;){if(r===mm)throw new E(103,!1);if(t){const i=0===r;this.beforeRender.next(i);for(let{_lView:s,notifyErrorHandler:a}of this._views)Vx(s,i,a)}if(r++,o.executeInternalCallbacks(),![...this.externalTestViews.keys(),...this._views].some(({_lView:i})=>Vd(i))&&(o.execute(),![...this.externalTestViews.keys(),...this._views].some(({_lView:i})=>Vd(i))))break}}attachView(t){const r=t;this._views.push(r),r.attachToAppRef(this)}detachView(t){const r=t;ka(this._views,r),r.detachFromAppRef()}_loadComponent(t){this.attachView(t.hostView),this.tick(),this.components.push(t);const r=this._injector.get(Jy,[]);[...this._bootstrapListeners,...r].forEach(o=>o(t))}ngOnDestroy(){if(!this._destroyed)try{this._destroyListeners.forEach(t=>t()),this._views.slice().forEach(t=>t.destroy())}finally{this._destroyed=!0,this._views=[],this._bootstrapListeners=[],this._destroyListeners=[]}}onDestroy(t){return this._destroyListeners.push(t),()=>ka(this._destroyListeners,t)}destroy(){if(this._destroyed)throw new E(406,!1);const t=this._injector;t.destroy&&!t.destroyed&&t.destroy()}get viewCount(){return this._views.length}warnIfDestroyed(){}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=ee({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();function ka(e,n){const t=e.indexOf(n);t>-1&&e.splice(t,1)}function Vx(e,n,t){!n&&!Vd(e)||function Hx(e,n,t){let r;t?(r=0,e[O]|=1024):r=64&e[O]?0:1,na(e,n,r)}(e,t,n)}function Vd(e){return vc(e)}let Ux=(()=>{class e{constructor(){this.zone=$(De),this.applicationRef=$(sr)}initialize(){this._onMicrotaskEmptySubscription||(this._onMicrotaskEmptySubscription=this.zone.onMicrotaskEmpty.subscribe({next:()=>{this.zone.run(()=>{this.applicationRef.tick()})}}))}ngOnDestroy(){this._onMicrotaskEmptySubscription?.unsubscribe()}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=ee({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();function zx(){const e=$(De),n=$(Jt);return t=>e.runOutsideAngular(()=>n.handleError(t))}let qx=(()=>{class e{constructor(){this.subscription=new xt,this.initialized=!1,this.zone=$(De),this.pendingTasks=$(vi)}initialize(){if(this.initialized)return;this.initialized=!0;let t=null;!this.zone.isStable&&!this.zone.hasPendingMacrotasks&&!this.zone.hasPendingMicrotasks&&(t=this.pendingTasks.add()),this.zone.runOutsideAngular(()=>{this.subscription.add(this.zone.onStable.subscribe(()=>{De.assertNotInAngularZone(),queueMicrotask(()=>{null!==t&&!this.zone.hasPendingMacrotasks&&!this.zone.hasPendingMicrotasks&&(this.pendingTasks.remove(t),t=null)})}))}),this.subscription.add(this.zone.onUnstable.subscribe(()=>{De.assertInAngularZone(),t??=this.pendingTasks.add()}))}ngOnDestroy(){this.subscription.unsubscribe()}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=ee({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();const _n=new R("",{providedIn:"root",factory:()=>$(_n,te.Optional|te.SkipSelf)||function Wx(){return typeof $localize<"u"&&$localize.locale||ho}()}),Hd=new R("");let iC=(()=>{class e{constructor(t){this._injector=t,this._modules=[],this._destroyListeners=[],this._destroyed=!1}bootstrapModuleFactory(t,r){const o=function wS(e="zone.js",n){return"noop"===e?new Rm:"zone.js"===e?new De(n):e}(r?.ngZone,function oC(e){return{enableLongStackTrace:!1,shouldCoalesceEventChangeDetection:e?.eventCoalescing??!1,shouldCoalesceRunChangeDetection:e?.runCoalescing??!1}}({eventCoalescing:r?.ngZoneEventCoalescing,runCoalescing:r?.ngZoneRunCoalescing}));return o.run(()=>{const i=function vT(e,n,t){return new Xu(e,n,t)}(t.moduleType,this.injector,function rC(e){return[{provide:De,useFactory:e},{provide:br,multi:!0,useFactory:()=>{const n=$(Ux,{optional:!0});return()=>n.initialize()}},{provide:br,multi:!0,useFactory:()=>{const n=$(qx);return()=>{n.initialize()}}},{provide:jp,useFactory:zx}]}(()=>o)),s=i.injector.get(Jt,null);return o.runOutsideAngular(()=>{const a=o.onError.subscribe({next:l=>{s.handleError(l)}});i.onDestroy(()=>{ka(this._modules,i),a.unsubscribe()})}),function eC(e,n,t){try{const r=t();return Pa(r)?r.catch(o=>{throw n.runOutsideAngular(()=>e.handleError(o)),o}):r}catch(r){throw n.runOutsideAngular(()=>e.handleError(r)),r}}(s,o,()=>{const a=i.injector.get(Ld);return a.runInitializers(),a.donePromise.then(()=>(function w_(e){"string"==typeof e&&(D_=e.toLowerCase().replace(/_/g,"-"))}(i.injector.get(_n,ho)||ho),this._moduleDoBootstrap(i),i))})})}bootstrapModule(t,r=[]){const o=tC({},r);return function $x(e,n,t){const r=new ed(t);return Promise.resolve(r)}(0,0,t).then(i=>this.bootstrapModuleFactory(i,o))}_moduleDoBootstrap(t){const r=t.injector.get(sr);if(t._bootstrapComponents.length>0)t._bootstrapComponents.forEach(o=>r.bootstrap(o));else{if(!t.instance.ngDoBootstrap)throw new E(-403,!1);t.instance.ngDoBootstrap(r)}this._modules.push(t)}onDestroy(t){this._destroyListeners.push(t)}get injector(){return this._injector}destroy(){if(this._destroyed)throw new E(404,!1);this._modules.slice().forEach(r=>r.destroy()),this._destroyListeners.forEach(r=>r());const t=this._injector.get(Hd,null);t&&(t.forEach(r=>r()),t.clear()),this._destroyed=!0}get destroyed(){return this._destroyed}static#e=this.\u0275fac=function(r){return new(r||e)(re(Ct))};static#t=this.\u0275prov=ee({token:e,factory:e.\u0275fac,providedIn:"platform"})}return e})(),Fn=null;const sC=new R("");function aC(e,n,t=[]){const r=`Platform: ${n}`,o=new R(r);return(i=[])=>{let s=Bd();if(!s||s.injector.get(sC,!1)){const a=[...t,...i,{provide:o,useValue:!0}];e?e(a):function Yx(e){if(Fn&&!Fn.get(sC,!1))throw new E(400,!1);(function Xy(){!function nb(e){nh=e}(()=>{throw new E(600,!1)})})(),Fn=e;const n=e.get(iC);(function cC(e){e.get(cg,null)?.forEach(t=>t())})(e)}(function lC(e=[],n){return Ct.create({name:n,providers:[{provide:rc,useValue:"platform"},{provide:Hd,useValue:new Set([()=>Fn=null])},...e]})}(a,r))}return function Kx(e){const n=Bd();if(!n)throw new E(401,!1);return n}()}}function Bd(){return Fn?.get(iC)??null}let jd=(()=>{class e{static#e=this.__NG_ELEMENT_ID__=Xx}return e})();function Xx(e){return function eO(e,n,t){if(Wn(e)&&!t){const r=yt(e.index,n);return new ai(r,r)}return 47&e.type?new ai(n[be],n):null}(ue(),D(),!(16&~e))}class pC{constructor(){}supports(n){return ga(n)}create(n){return new iO(n)}}const oO=(e,n)=>n;class iO{constructor(n){this.length=0,this._linkedRecords=null,this._unlinkedRecords=null,this._previousItHead=null,this._itHead=null,this._itTail=null,this._additionsHead=null,this._additionsTail=null,this._movesHead=null,this._movesTail=null,this._removalsHead=null,this._removalsTail=null,this._identityChangesHead=null,this._identityChangesTail=null,this._trackByFn=n||oO}forEachItem(n){let t;for(t=this._itHead;null!==t;t=t._next)n(t)}forEachOperation(n){let t=this._itHead,r=this._removalsHead,o=0,i=null;for(;t||r;){const s=!r||t&&t.currentIndex{s=this._trackByFn(o,a),null!==t&&Object.is(t.trackById,s)?(r&&(t=this._verifyReinsertion(t,a,s,o)),Object.is(t.item,a)||this._addIdentityChange(t,a)):(t=this._mismatch(t,a,s,o),r=!0),t=t._next,o++}),this.length=o;return this._truncate(t),this.collection=n,this.isDirty}get isDirty(){return null!==this._additionsHead||null!==this._movesHead||null!==this._removalsHead||null!==this._identityChangesHead}_reset(){if(this.isDirty){let n;for(n=this._previousItHead=this._itHead;null!==n;n=n._next)n._nextPrevious=n._next;for(n=this._additionsHead;null!==n;n=n._nextAdded)n.previousIndex=n.currentIndex;for(this._additionsHead=this._additionsTail=null,n=this._movesHead;null!==n;n=n._nextMoved)n.previousIndex=n.currentIndex;this._movesHead=this._movesTail=null,this._removalsHead=this._removalsTail=null,this._identityChangesHead=this._identityChangesTail=null}}_mismatch(n,t,r,o){let i;return null===n?i=this._itTail:(i=n._prev,this._remove(n)),null!==(n=null===this._unlinkedRecords?null:this._unlinkedRecords.get(r,null))?(Object.is(n.item,t)||this._addIdentityChange(n,t),this._reinsertAfter(n,i,o)):null!==(n=null===this._linkedRecords?null:this._linkedRecords.get(r,o))?(Object.is(n.item,t)||this._addIdentityChange(n,t),this._moveAfter(n,i,o)):n=this._addAfter(new sO(t,r),i,o),n}_verifyReinsertion(n,t,r,o){let i=null===this._unlinkedRecords?null:this._unlinkedRecords.get(r,null);return null!==i?n=this._reinsertAfter(i,n._prev,o):n.currentIndex!=o&&(n.currentIndex=o,this._addToMoves(n,o)),n}_truncate(n){for(;null!==n;){const t=n._next;this._addToRemovals(this._unlink(n)),n=t}null!==this._unlinkedRecords&&this._unlinkedRecords.clear(),null!==this._additionsTail&&(this._additionsTail._nextAdded=null),null!==this._movesTail&&(this._movesTail._nextMoved=null),null!==this._itTail&&(this._itTail._next=null),null!==this._removalsTail&&(this._removalsTail._nextRemoved=null),null!==this._identityChangesTail&&(this._identityChangesTail._nextIdentityChange=null)}_reinsertAfter(n,t,r){null!==this._unlinkedRecords&&this._unlinkedRecords.remove(n);const o=n._prevRemoved,i=n._nextRemoved;return null===o?this._removalsHead=i:o._nextRemoved=i,null===i?this._removalsTail=o:i._prevRemoved=o,this._insertAfter(n,t,r),this._addToMoves(n,r),n}_moveAfter(n,t,r){return this._unlink(n),this._insertAfter(n,t,r),this._addToMoves(n,r),n}_addAfter(n,t,r){return this._insertAfter(n,t,r),this._additionsTail=null===this._additionsTail?this._additionsHead=n:this._additionsTail._nextAdded=n,n}_insertAfter(n,t,r){const o=null===t?this._itHead:t._next;return n._next=o,n._prev=t,null===o?this._itTail=n:o._prev=n,null===t?this._itHead=n:t._next=n,null===this._linkedRecords&&(this._linkedRecords=new gC),this._linkedRecords.put(n),n.currentIndex=r,n}_remove(n){return this._addToRemovals(this._unlink(n))}_unlink(n){null!==this._linkedRecords&&this._linkedRecords.remove(n);const t=n._prev,r=n._next;return null===t?this._itHead=r:t._next=r,null===r?this._itTail=t:r._prev=t,n}_addToMoves(n,t){return n.previousIndex===t||(this._movesTail=null===this._movesTail?this._movesHead=n:this._movesTail._nextMoved=n),n}_addToRemovals(n){return null===this._unlinkedRecords&&(this._unlinkedRecords=new gC),this._unlinkedRecords.put(n),n.currentIndex=null,n._nextRemoved=null,null===this._removalsTail?(this._removalsTail=this._removalsHead=n,n._prevRemoved=null):(n._prevRemoved=this._removalsTail,this._removalsTail=this._removalsTail._nextRemoved=n),n}_addIdentityChange(n,t){return n.item=t,this._identityChangesTail=null===this._identityChangesTail?this._identityChangesHead=n:this._identityChangesTail._nextIdentityChange=n,n}}class sO{constructor(n,t){this.item=n,this.trackById=t,this.currentIndex=null,this.previousIndex=null,this._nextPrevious=null,this._prev=null,this._next=null,this._prevDup=null,this._nextDup=null,this._prevRemoved=null,this._nextRemoved=null,this._nextAdded=null,this._nextMoved=null,this._nextIdentityChange=null}}class aO{constructor(){this._head=null,this._tail=null}add(n){null===this._head?(this._head=this._tail=n,n._nextDup=null,n._prevDup=null):(this._tail._nextDup=n,n._prevDup=this._tail,n._nextDup=null,this._tail=n)}get(n,t){let r;for(r=this._head;null!==r;r=r._nextDup)if((null===t||t<=r.currentIndex)&&Object.is(r.trackById,n))return r;return null}remove(n){const t=n._prevDup,r=n._nextDup;return null===t?this._head=r:t._nextDup=r,null===r?this._tail=t:r._prevDup=t,null===this._head}}class gC{constructor(){this.map=new Map}put(n){const t=n.trackById;let r=this.map.get(t);r||(r=new aO,this.map.set(t,r)),r.add(n)}get(n,t){const o=this.map.get(n);return o?o.get(n,t):null}remove(n){const t=n.trackById;return this.map.get(t).remove(n)&&this.map.delete(t),n}get isEmpty(){return 0===this.map.size}clear(){this.map.clear()}}function mC(e,n,t){const r=e.previousIndex;if(null===r)return r;let o=0;return t&&r{class e{static#e=this.\u0275prov=ee({token:e,providedIn:"root",factory:_C});constructor(t){this.factories=t}static create(t,r){if(null!=r){const o=r.factories.slice();t=t.concat(o)}return new e(t)}static extend(t){return{provide:e,useFactory:r=>e.create(t,r||_C()),deps:[[e,new Zl,new Wl]]}}find(t){const r=this.factories.find(o=>o.supports(t));if(null!=r)return r;throw new E(901,!1)}}return e})();const fO=aC(null,"core",[]);let hO=(()=>{class e{constructor(t){}static#e=this.\u0275fac=function(r){return new(r||e)(re(sr))};static#t=this.\u0275mod=Un({type:e});static#n=this.\u0275inj=wn({})}return e})();let $C=null;function ki(){return $C}class QO{}const lr=new R(""),sf=/\s+/,KC=[];let Vi=(()=>{class e{constructor(t,r){this._ngEl=t,this._renderer=r,this.initialClasses=KC,this.stateMap=new Map}set klass(t){this.initialClasses=null!=t?t.trim().split(sf):KC}set ngClass(t){this.rawClass="string"==typeof t?t.trim().split(sf):t}ngDoCheck(){for(const r of this.initialClasses)this._updateState(r,!0);const t=this.rawClass;if(Array.isArray(t)||t instanceof Set)for(const r of t)this._updateState(r,!0);else if(null!=t)for(const r of Object.keys(t))this._updateState(r,!!t[r]);this._applyStateDiff()}_updateState(t,r){const o=this.stateMap.get(t);void 0!==o?(o.enabled!==r&&(o.changed=!0,o.enabled=r),o.touched=!0):this.stateMap.set(t,{enabled:r,changed:!0,touched:!0})}_applyStateDiff(){for(const t of this.stateMap){const r=t[0],o=t[1];o.changed?(this._toggleClass(r,o.enabled),o.changed=!1):o.touched||(o.enabled&&this._toggleClass(r,!1),this.stateMap.delete(r)),o.touched=!1}}_toggleClass(t,r){(t=t.trim()).length>0&&t.split(sf).forEach(o=>{r?this._renderer.addClass(this._ngEl.nativeElement,o):this._renderer.removeClass(this._ngEl.nativeElement,o)})}static#e=this.\u0275fac=function(r){return new(r||e)(T(Vt),T(Jn))};static#t=this.\u0275dir=U({type:e,selectors:[["","ngClass",""]],inputs:{klass:[Ee.None,"class","klass"],ngClass:"ngClass"},standalone:!0})}return e})();class LR{constructor(n,t,r,o){this.$implicit=n,this.ngForOf=t,this.index=r,this.count=o}get first(){return 0===this.index}get last(){return this.index===this.count-1}get even(){return this.index%2==0}get odd(){return!this.even}}let _o=(()=>{class e{set ngForOf(t){this._ngForOf=t,this._ngForOfDirty=!0}set ngForTrackBy(t){this._trackByFn=t}get ngForTrackBy(){return this._trackByFn}constructor(t,r,o){this._viewContainer=t,this._template=r,this._differs=o,this._ngForOf=null,this._ngForOfDirty=!0,this._differ=null}set ngForTemplate(t){t&&(this._template=t)}ngDoCheck(){if(this._ngForOfDirty){this._ngForOfDirty=!1;const t=this._ngForOf;!this._differ&&t&&(this._differ=this._differs.find(t).create(this.ngForTrackBy))}if(this._differ){const t=this._differ.diff(this._ngForOf);t&&this._applyChanges(t)}}_applyChanges(t){const r=this._viewContainer;t.forEachOperation((o,i,s)=>{if(null==o.previousIndex)r.createEmbeddedView(this._template,new LR(o.item,this._ngForOf,-1,-1),null===s?void 0:s);else if(null==s)r.remove(null===i?void 0:i);else if(null!==i){const a=r.get(i);r.move(a,s),XC(a,o)}});for(let o=0,i=r.length;o{XC(r.get(o.currentIndex),o)})}static ngTemplateContextGuard(t,r){return!0}static#e=this.\u0275fac=function(r){return new(r||e)(T(tn),T(vn),T(qd))};static#t=this.\u0275dir=U({type:e,selectors:[["","ngFor","","ngForOf",""]],inputs:{ngForOf:"ngForOf",ngForTrackBy:"ngForTrackBy",ngForTemplate:"ngForTemplate"},standalone:!0})}return e})();function XC(e,n){e.context.$implicit=n.item}let cr=(()=>{class e{constructor(t,r){this._viewContainer=t,this._context=new VR,this._thenTemplateRef=null,this._elseTemplateRef=null,this._thenViewRef=null,this._elseViewRef=null,this._thenTemplateRef=r}set ngIf(t){this._context.$implicit=this._context.ngIf=t,this._updateView()}set ngIfThen(t){eD("ngIfThen",t),this._thenTemplateRef=t,this._thenViewRef=null,this._updateView()}set ngIfElse(t){eD("ngIfElse",t),this._elseTemplateRef=t,this._elseViewRef=null,this._updateView()}_updateView(){this._context.$implicit?this._thenViewRef||(this._viewContainer.clear(),this._elseViewRef=null,this._thenTemplateRef&&(this._thenViewRef=this._viewContainer.createEmbeddedView(this._thenTemplateRef,this._context))):this._elseViewRef||(this._viewContainer.clear(),this._thenViewRef=null,this._elseTemplateRef&&(this._elseViewRef=this._viewContainer.createEmbeddedView(this._elseTemplateRef,this._context)))}static ngTemplateContextGuard(t,r){return!0}static#e=this.\u0275fac=function(r){return new(r||e)(T(tn),T(vn))};static#t=this.\u0275dir=U({type:e,selectors:[["","ngIf",""]],inputs:{ngIf:"ngIf",ngIfThen:"ngIfThen",ngIfElse:"ngIfElse"},standalone:!0})}return e})();class VR{constructor(){this.$implicit=null,this.ngIf=null}}function eD(e,n){if(n&&!n.createEmbeddedView)throw new Error(`${e} must be a TemplateRef, but received '${ke(n)}'.`)}let rD=(()=>{class e{transform(t,r,o){if(null==t)return null;if(!this.supports(t))throw function Ut(e,n){return new E(2100,!1)}();return t.slice(r,o)}supports(t){return"string"==typeof t||Array.isArray(t)}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275pipe=ct({name:"slice",type:e,pure:!1,standalone:!0})}return e})(),uF=(()=>{class e{static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275mod=Un({type:e});static#n=this.\u0275inj=wn({})}return e})();function iD(e){return"server"===e}class UF extends QO{constructor(){super(...arguments),this.supportsDOMEvents=!0}}class ff extends UF{static makeCurrent(){!function ZO(e){$C??=e}(new ff)}onAndCancel(n,t,r){return n.addEventListener(t,r),()=>{n.removeEventListener(t,r)}}dispatchEvent(n,t){n.dispatchEvent(t)}remove(n){n.parentNode&&n.parentNode.removeChild(n)}createElement(n,t){return(t=t||this.getDefaultDocument()).createElement(n)}createHtmlDocument(){return document.implementation.createHTMLDocument("fakeTitle")}getDefaultDocument(){return document}isElementNode(n){return n.nodeType===Node.ELEMENT_NODE}isShadowRoot(n){return n instanceof DocumentFragment}getGlobalEventTarget(n,t){return"window"===t?window:"document"===t?n:"body"===t?n.body:null}getBaseHref(n){const t=function zF(){return ji=ji||document.querySelector("base"),ji?ji.getAttribute("href"):null}();return null==t?null:function GF(e){return new URL(e,document.baseURI).pathname}(t)}resetBaseElement(){ji=null}getUserAgent(){return window.navigator.userAgent}getCookie(n){return function PR(e,n){n=encodeURIComponent(n);for(const t of e.split(";")){const r=t.indexOf("="),[o,i]=-1==r?[t,""]:[t.slice(0,r),t.slice(r+1)];if(o.trim()===n)return decodeURIComponent(i)}return null}(document.cookie,n)}}let ji=null,WF=(()=>{class e{build(){return new XMLHttpRequest}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=ee({token:e,factory:e.\u0275fac})}return e})();const hf=new R("");let pD=(()=>{class e{constructor(t,r){this._zone=r,this._eventNameToPlugin=new Map,t.forEach(o=>{o.manager=this}),this._plugins=t.slice().reverse()}addEventListener(t,r,o){return this._findPluginFor(r).addEventListener(t,r,o)}getZone(){return this._zone}_findPluginFor(t){let r=this._eventNameToPlugin.get(t);if(r)return r;if(r=this._plugins.find(i=>i.supports(t)),!r)throw new E(5101,!1);return this._eventNameToPlugin.set(t,r),r}static#e=this.\u0275fac=function(r){return new(r||e)(re(hf),re(De))};static#t=this.\u0275prov=ee({token:e,factory:e.\u0275fac})}return e})();class gD{constructor(n){this._doc=n}}const pf="ng-app-id";let mD=(()=>{class e{constructor(t,r,o,i={}){this.doc=t,this.appId=r,this.nonce=o,this.platformId=i,this.styleRef=new Map,this.hostNodes=new Set,this.styleNodesInDOM=this.collectServerRenderedStyles(),this.platformIsServer=iD(i),this.resetHostNodes()}addStyles(t){for(const r of t)1===this.changeUsageCount(r,1)&&this.onStyleAdded(r)}removeStyles(t){for(const r of t)this.changeUsageCount(r,-1)<=0&&this.onStyleRemoved(r)}ngOnDestroy(){const t=this.styleNodesInDOM;t&&(t.forEach(r=>r.remove()),t.clear());for(const r of this.getAllStyles())this.onStyleRemoved(r);this.resetHostNodes()}addHost(t){this.hostNodes.add(t);for(const r of this.getAllStyles())this.addStyleToHost(t,r)}removeHost(t){this.hostNodes.delete(t)}getAllStyles(){return this.styleRef.keys()}onStyleAdded(t){for(const r of this.hostNodes)this.addStyleToHost(r,t)}onStyleRemoved(t){const r=this.styleRef;r.get(t)?.elements?.forEach(o=>o.remove()),r.delete(t)}collectServerRenderedStyles(){const t=this.doc.head?.querySelectorAll(`style[${pf}="${this.appId}"]`);if(t?.length){const r=new Map;return t.forEach(o=>{null!=o.textContent&&r.set(o.textContent,o)}),r}return null}changeUsageCount(t,r){const o=this.styleRef;if(o.has(t)){const i=o.get(t);return i.usage+=r,i.usage}return o.set(t,{usage:r,elements:[]}),r}getStyleElement(t,r){const o=this.styleNodesInDOM,i=o?.get(r);if(i?.parentNode===t)return o.delete(r),i.removeAttribute(pf),i;{const s=this.doc.createElement("style");return this.nonce&&s.setAttribute("nonce",this.nonce),s.textContent=r,this.platformIsServer&&s.setAttribute(pf,this.appId),t.appendChild(s),s}}addStyleToHost(t,r){const o=this.getStyleElement(t,r),i=this.styleRef,s=i.get(r)?.elements;s?s.push(o):i.set(r,{elements:[o],usage:1})}resetHostNodes(){const t=this.hostNodes;t.clear(),t.add(this.doc.head)}static#e=this.\u0275fac=function(r){return new(r||e)(re(lr),re(ks),re(ug,8),re(Vr))};static#t=this.\u0275prov=ee({token:e,factory:e.\u0275fac})}return e})();const gf={svg:"http://www.w3.org/2000/svg",xhtml:"http://www.w3.org/1999/xhtml",xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/",math:"http://www.w3.org/1998/MathML/"},mf=/%COMP%/g,KF=new R("",{providedIn:"root",factory:()=>!0});function _D(e,n){return n.map(t=>t.replace(mf,e))}let yD=(()=>{class e{constructor(t,r,o,i,s,a,l,c=null){this.eventManager=t,this.sharedStylesHost=r,this.appId=o,this.removeStylesOnCompDestroy=i,this.doc=s,this.platformId=a,this.ngZone=l,this.nonce=c,this.rendererByCompId=new Map,this.platformIsServer=iD(a),this.defaultRenderer=new vf(t,s,l,this.platformIsServer)}createRenderer(t,r){if(!t||!r)return this.defaultRenderer;this.platformIsServer&&r.encapsulation===Ot.ShadowDom&&(r={...r,encapsulation:Ot.Emulated});const o=this.getOrCreateRenderer(t,r);return o instanceof DD?o.applyToHost(t):o instanceof _f&&o.applyStyles(),o}getOrCreateRenderer(t,r){const o=this.rendererByCompId;let i=o.get(r.id);if(!i){const s=this.doc,a=this.ngZone,l=this.eventManager,c=this.sharedStylesHost,u=this.removeStylesOnCompDestroy,d=this.platformIsServer;switch(r.encapsulation){case Ot.Emulated:i=new DD(l,c,r,this.appId,u,s,a,d);break;case Ot.ShadowDom:return new tP(l,c,t,r,s,a,this.nonce,d);default:i=new _f(l,c,r,u,s,a,d)}o.set(r.id,i)}return i}ngOnDestroy(){this.rendererByCompId.clear()}static#e=this.\u0275fac=function(r){return new(r||e)(re(pD),re(mD),re(ks),re(KF),re(lr),re(Vr),re(De),re(ug))};static#t=this.\u0275prov=ee({token:e,factory:e.\u0275fac})}return e})();class vf{constructor(n,t,r,o){this.eventManager=n,this.doc=t,this.ngZone=r,this.platformIsServer=o,this.data=Object.create(null),this.throwOnSyntheticProps=!0,this.destroyNode=null}destroy(){}createElement(n,t){return t?this.doc.createElementNS(gf[t]||t,n):this.doc.createElement(n)}createComment(n){return this.doc.createComment(n)}createText(n){return this.doc.createTextNode(n)}appendChild(n,t){(CD(n)?n.content:n).appendChild(t)}insertBefore(n,t,r){n&&(CD(n)?n.content:n).insertBefore(t,r)}removeChild(n,t){n&&n.removeChild(t)}selectRootElement(n,t){let r="string"==typeof n?this.doc.querySelector(n):n;if(!r)throw new E(-5104,!1);return t||(r.textContent=""),r}parentNode(n){return n.parentNode}nextSibling(n){return n.nextSibling}setAttribute(n,t,r,o){if(o){t=o+":"+t;const i=gf[o];i?n.setAttributeNS(i,t,r):n.setAttribute(t,r)}else n.setAttribute(t,r)}removeAttribute(n,t,r){if(r){const o=gf[r];o?n.removeAttributeNS(o,t):n.removeAttribute(`${r}:${t}`)}else n.removeAttribute(t)}addClass(n,t){n.classList.add(t)}removeClass(n,t){n.classList.remove(t)}setStyle(n,t,r,o){o&(Nn.DashCase|Nn.Important)?n.style.setProperty(t,r,o&Nn.Important?"important":""):n.style[t]=r}removeStyle(n,t,r){r&Nn.DashCase?n.style.removeProperty(t):n.style[t]=""}setProperty(n,t,r){null!=n&&(n[t]=r)}setValue(n,t){n.nodeValue=t}listen(n,t,r){if("string"==typeof n&&!(n=ki().getGlobalEventTarget(this.doc,n)))throw new Error(`Unsupported event target ${n} for event ${t}`);return this.eventManager.addEventListener(n,t,this.decoratePreventDefault(r))}decoratePreventDefault(n){return t=>{if("__ngUnwrap__"===t)return n;!1===(this.platformIsServer?this.ngZone.runGuarded(()=>n(t)):n(t))&&t.preventDefault()}}}function CD(e){return"TEMPLATE"===e.tagName&&void 0!==e.content}class tP extends vf{constructor(n,t,r,o,i,s,a,l){super(n,i,s,l),this.sharedStylesHost=t,this.hostEl=r,this.shadowRoot=r.attachShadow({mode:"open"}),this.sharedStylesHost.addHost(this.shadowRoot);const c=_D(o.id,o.styles);for(const u of c){const d=document.createElement("style");a&&d.setAttribute("nonce",a),d.textContent=u,this.shadowRoot.appendChild(d)}}nodeOrShadowRoot(n){return n===this.hostEl?this.shadowRoot:n}appendChild(n,t){return super.appendChild(this.nodeOrShadowRoot(n),t)}insertBefore(n,t,r){return super.insertBefore(this.nodeOrShadowRoot(n),t,r)}removeChild(n,t){return super.removeChild(this.nodeOrShadowRoot(n),t)}parentNode(n){return this.nodeOrShadowRoot(super.parentNode(this.nodeOrShadowRoot(n)))}destroy(){this.sharedStylesHost.removeHost(this.shadowRoot)}}class _f extends vf{constructor(n,t,r,o,i,s,a,l){super(n,i,s,a),this.sharedStylesHost=t,this.removeStylesOnCompDestroy=o,this.styles=l?_D(l,r.styles):r.styles}applyStyles(){this.sharedStylesHost.addStyles(this.styles)}destroy(){this.removeStylesOnCompDestroy&&this.sharedStylesHost.removeStyles(this.styles)}}class DD extends _f{constructor(n,t,r,o,i,s,a,l){const c=o+"-"+r.id;super(n,t,r,i,s,a,l,c),this.contentAttr=function JF(e){return"_ngcontent-%COMP%".replace(mf,e)}(c),this.hostAttr=function XF(e){return"_nghost-%COMP%".replace(mf,e)}(c)}applyToHost(n){this.applyStyles(),this.setAttribute(n,this.hostAttr,"")}createElement(n,t){const r=super.createElement(n,t);return super.setAttribute(r,this.contentAttr,""),r}}let nP=(()=>{class e extends gD{constructor(t){super(t)}supports(t){return!0}addEventListener(t,r,o){return t.addEventListener(r,o,!1),()=>this.removeEventListener(t,r,o)}removeEventListener(t,r,o){return t.removeEventListener(r,o)}static#e=this.\u0275fac=function(r){return new(r||e)(re(lr))};static#t=this.\u0275prov=ee({token:e,factory:e.\u0275fac})}return e})();const wD=["alt","control","meta","shift"],rP={"\b":"Backspace","\t":"Tab","\x7f":"Delete","\x1b":"Escape",Del:"Delete",Esc:"Escape",Left:"ArrowLeft",Right:"ArrowRight",Up:"ArrowUp",Down:"ArrowDown",Menu:"ContextMenu",Scroll:"ScrollLock",Win:"OS"},oP={alt:e=>e.altKey,control:e=>e.ctrlKey,meta:e=>e.metaKey,shift:e=>e.shiftKey};let iP=(()=>{class e extends gD{constructor(t){super(t)}supports(t){return null!=e.parseEventName(t)}addEventListener(t,r,o){const i=e.parseEventName(r),s=e.eventCallback(i.fullKey,o,this.manager.getZone());return this.manager.getZone().runOutsideAngular(()=>ki().onAndCancel(t,i.domEventName,s))}static parseEventName(t){const r=t.toLowerCase().split("."),o=r.shift();if(0===r.length||"keydown"!==o&&"keyup"!==o)return null;const i=e._normalizeKey(r.pop());let s="",a=r.indexOf("code");if(a>-1&&(r.splice(a,1),s="code."),wD.forEach(c=>{const u=r.indexOf(c);u>-1&&(r.splice(u,1),s+=c+".")}),s+=i,0!=r.length||0===i.length)return null;const l={};return l.domEventName=o,l.fullKey=s,l}static matchEventFullKeyCode(t,r){let o=rP[t.key]||t.key,i="";return r.indexOf("code.")>-1&&(o=t.code,i="code."),!(null==o||!o)&&(o=o.toLowerCase()," "===o?o="space":"."===o&&(o="dot"),wD.forEach(s=>{s!==o&&(0,oP[s])(t)&&(i+=s+".")}),i+=o,i===r)}static eventCallback(t,r,o){return i=>{e.matchEventFullKeyCode(i,t)&&o.runGuarded(()=>r(i))}}static _normalizeKey(t){return"esc"===t?"escape":t}static#e=this.\u0275fac=function(r){return new(r||e)(re(lr))};static#t=this.\u0275prov=ee({token:e,factory:e.\u0275fac})}return e})();const cP=aC(fO,"browser",[{provide:Vr,useValue:"browser"},{provide:cg,useValue:function sP(){ff.makeCurrent()},multi:!0},{provide:lr,useFactory:function lP(){return function UE(e){jc=e}(document),document},deps:[]}]),uP=new R(""),ED=[{provide:Fa,useClass:class qF{addToWindow(n){le.getAngularTestability=(r,o=!0)=>{const i=n.findTestabilityInTree(r,o);if(null==i)throw new E(5103,!1);return i},le.getAllAngularTestabilities=()=>n.getAllTestabilities(),le.getAllAngularRootElements=()=>n.getAllRootElements(),le.frameworkStabilizers||(le.frameworkStabilizers=[]),le.frameworkStabilizers.push(r=>{const o=le.getAllAngularTestabilities();let i=o.length;const s=function(){i--,0==i&&r()};o.forEach(a=>{a.whenStable(s)})})}findTestabilityInTree(n,t,r){return null==t?null:n.getTestability(t)??(r?ki().isShadowRoot(t)?this.findTestabilityInTree(n,t.host,!0):this.findTestabilityInTree(n,t.parentElement,!0):null)}},deps:[]},{provide:Yy,useClass:Fd,deps:[De,Pd,Fa]},{provide:Fd,useClass:Fd,deps:[De,Pd,Fa]}],MD=[{provide:rc,useValue:"root"},{provide:Jt,useFactory:function aP(){return new Jt},deps:[]},{provide:hf,useClass:nP,multi:!0,deps:[lr,De,Vr]},{provide:hf,useClass:iP,multi:!0,deps:[lr]},yD,mD,pD,{provide:Tm,useExisting:yD},{provide:class gF{},useClass:WF,deps:[]},[]];let dP=(()=>{class e{constructor(t){}static withServerTransition(t){return{ngModule:e,providers:[{provide:ks,useValue:t.appId}]}}static#e=this.\u0275fac=function(r){return new(r||e)(re(uP,12))};static#t=this.\u0275mod=Un({type:e});static#n=this.\u0275inj=wn({providers:[...MD,...ED],imports:[uF,hO]})}return e})();function ur(e){return this instanceof ur?(this.v=e,this):new ur(e)}function _P(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t,n=e[Symbol.asyncIterator];return n?n.call(e):(e=function OD(e){var n="function"==typeof Symbol&&Symbol.iterator,t=n&&e[n],r=0;if(t)return t.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(n?"Object is not iterable.":"Symbol.iterator is not defined.")}(e),t={},r("next"),r("throw"),r("return"),t[Symbol.asyncIterator]=function(){return this},t);function r(i){t[i]=e[i]&&function(s){return new Promise(function(a,l){!function o(i,s,a,l){Promise.resolve(l).then(function(c){i({value:c,done:a})},s)}(a,l,(s=e[i](s)).done,s.value)})}}}const RD=e=>e&&"number"==typeof e.length&&"function"!=typeof e;function FD(e){return $e(e?.then)}function PD(e){return $e(e[Nl])}function kD(e){return Symbol.asyncIterator&&$e(e?.[Symbol.asyncIterator])}function LD(e){return new TypeError(`You provided ${null!==e&&"object"==typeof e?"an invalid object":`'${e}'`} where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.`)}const VD=function CP(){return"function"==typeof Symbol&&Symbol.iterator?Symbol.iterator:"@@iterator"}();function HD(e){return $e(e?.[VD])}function BD(e){return function vP(e,n,t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var o,r=t.apply(e,n||[]),i=[];return o={},s("next"),s("throw"),s("return"),o[Symbol.asyncIterator]=function(){return this},o;function s(h){r[h]&&(o[h]=function(p){return new Promise(function(m,y){i.push([h,p,m,y])>1||a(h,p)})})}function a(h,p){try{!function l(h){h.value instanceof ur?Promise.resolve(h.value.v).then(c,u):d(i[0][2],h)}(r[h](p))}catch(m){d(i[0][3],m)}}function c(h){a("next",h)}function u(h){a("throw",h)}function d(h,p){h(p),i.shift(),i.length&&a(i[0][0],i[0][1])}}(this,arguments,function*(){const t=e.getReader();try{for(;;){const{value:r,done:o}=yield ur(t.read());if(o)return yield ur(void 0);yield yield ur(r)}}finally{t.releaseLock()}})}function jD(e){return $e(e?.getReader)}function sl(e){if(e instanceof Mt)return e;if(null!=e){if(PD(e))return function DP(e){return new Mt(n=>{const t=e[Nl]();if($e(t.subscribe))return t.subscribe(n);throw new TypeError("Provided object does not correctly implement Symbol.observable")})}(e);if(RD(e))return function wP(e){return new Mt(n=>{for(let t=0;t{e.then(t=>{n.closed||(n.next(t),n.complete())},t=>n.error(t)).then(null,ch)})}(e);if(kD(e))return $D(e);if(HD(e))return function IP(e){return new Mt(n=>{for(const t of e)if(n.next(t),n.closed)return;n.complete()})}(e);if(jD(e))return function EP(e){return $D(BD(e))}(e)}throw LD(e)}function $D(e){return new Mt(n=>{(function MP(e,n){var t,r,o,i;return function gP(e,n,t,r){return new(t||(t=Promise))(function(i,s){function a(u){try{c(r.next(u))}catch(d){s(d)}}function l(u){try{c(r.throw(u))}catch(d){s(d)}}function c(u){u.done?i(u.value):function o(i){return i instanceof t?i:new t(function(s){s(i)})}(u.value).then(a,l)}c((r=r.apply(e,n||[])).next())})}(this,void 0,void 0,function*(){try{for(t=_P(e);!(r=yield t.next()).done;)if(n.next(r.value),n.closed)return}catch(s){o={error:s}}finally{try{r&&!r.done&&(i=t.return)&&(yield i.call(t))}finally{if(o)throw o.error}}n.complete()})})(e,n).catch(t=>n.error(t))})}function dr(e,n,t,r=0,o=!1){const i=n.schedule(function(){t(),o?e.add(this.schedule(null,r)):this.unsubscribe()},r);if(e.add(i),!o)return i}function UD(e,n=0){return Al((t,r)=>{t.subscribe(new xl(r,o=>dr(r,e,()=>r.next(o),n),()=>dr(r,e,()=>r.complete(),n),o=>dr(r,e,()=>r.error(o),n)))})}function zD(e,n=0){return Al((t,r)=>{r.add(e.schedule(()=>t.subscribe(r),n))})}function GD(e,n){if(!e)throw new Error("Iterable cannot be null");return new Mt(t=>{dr(t,n,()=>{const r=e[Symbol.asyncIterator]();dr(t,n,()=>{r.next().then(o=>{o.done?t.complete():t.next(o.value)})},0,!0)})})}const{isArray:FP}=Array,{getPrototypeOf:PP,prototype:kP,keys:LP}=Object;const{isArray:jP}=Array;function zP(e,n){return e.reduce((t,r,o)=>(t[r]=n[o],t),{})}function GP(...e){const n=function BP(e){return $e(function Cf(e){return e[e.length-1]}(e))?e.pop():void 0}(e),{args:t,keys:r}=function VP(e){if(1===e.length){const n=e[0];if(FP(n))return{args:n,keys:null};if(function HP(e){return e&&"object"==typeof e&&PP(e)===kP}(n)){const t=LP(n);return{args:t.map(r=>n[r]),keys:t}}}return{args:e,keys:null}}(e),o=new Mt(i=>{const{length:s}=t;if(!s)return void i.complete();const a=new Array(s);let l=s,c=s;for(let u=0;u{d||(d=!0,c--),a[u]=h},()=>l--,void 0,()=>{(!l||!d)&&(c||i.next(r?zP(r,a):a),i.complete())}))}});return n?o.pipe(function UP(e){return Ol(n=>function $P(e,n){return jP(n)?e(...n):e(n)}(e,n))}(n)):o}let qD=(()=>{class e{constructor(t,r){this._renderer=t,this._elementRef=r,this.onChange=o=>{},this.onTouched=()=>{}}setProperty(t,r){this._renderer.setProperty(this._elementRef.nativeElement,t,r)}registerOnTouched(t){this.onTouched=t}registerOnChange(t){this.onChange=t}setDisabledState(t){this.setProperty("disabled",t)}static#e=this.\u0275fac=function(r){return new(r||e)(T(Jn),T(Vt))};static#t=this.\u0275dir=U({type:e})}return e})(),fr=(()=>{class e extends qD{static#e=this.\u0275fac=(()=>{let t;return function(o){return(t||(t=Ke(e)))(o||e)}})();static#t=this.\u0275dir=U({type:e,features:[de]})}return e})();const an=new R(""),qP={provide:an,useExisting:pe(()=>Df),multi:!0};let Df=(()=>{class e extends fr{writeValue(t){this.setProperty("checked",t)}static#e=this.\u0275fac=(()=>{let t;return function(o){return(t||(t=Ke(e)))(o||e)}})();static#t=this.\u0275dir=U({type:e,selectors:[["input","type","checkbox","formControlName",""],["input","type","checkbox","formControl",""],["input","type","checkbox","ngModel",""]],hostBindings:function(r,o){1&r&&j("change",function(s){return o.onChange(s.target.checked)})("blur",function(){return o.onTouched()})},features:[we([qP]),de]})}return e})();const WP={provide:an,useExisting:pe(()=>Ui),multi:!0},QP=new R("");let Ui=(()=>{class e extends qD{constructor(t,r,o){super(t,r),this._compositionMode=o,this._composing=!1,null==this._compositionMode&&(this._compositionMode=!function ZP(){const e=ki()?ki().getUserAgent():"";return/android (\d+)/.test(e.toLowerCase())}())}writeValue(t){this.setProperty("value",t??"")}_handleInput(t){(!this._compositionMode||this._compositionMode&&!this._composing)&&this.onChange(t)}_compositionStart(){this._composing=!0}_compositionEnd(t){this._composing=!1,this._compositionMode&&this.onChange(t)}static#e=this.\u0275fac=function(r){return new(r||e)(T(Jn),T(Vt),T(QP,8))};static#t=this.\u0275dir=U({type:e,selectors:[["input","formControlName","",3,"type","checkbox"],["textarea","formControlName",""],["input","formControl","",3,"type","checkbox"],["textarea","formControl",""],["input","ngModel","",3,"type","checkbox"],["textarea","ngModel",""],["","ngDefaultControl",""]],hostBindings:function(r,o){1&r&&j("input",function(s){return o._handleInput(s.target.value)})("blur",function(){return o.onTouched()})("compositionstart",function(){return o._compositionStart()})("compositionend",function(s){return o._compositionEnd(s.target.value)})},features:[we([WP]),de]})}return e})();const et=new R(""),kn=new R("");function nw(e){return null!=e}function rw(e){return Pa(e)?function RP(e,n){return n?function OP(e,n){if(null!=e){if(PD(e))return function SP(e,n){return sl(e).pipe(zD(n),UD(n))}(e,n);if(RD(e))return function NP(e,n){return new Mt(t=>{let r=0;return n.schedule(function(){r===e.length?t.complete():(t.next(e[r++]),t.closed||this.schedule())})})}(e,n);if(FD(e))return function TP(e,n){return sl(e).pipe(zD(n),UD(n))}(e,n);if(kD(e))return GD(e,n);if(HD(e))return function AP(e,n){return new Mt(t=>{let r;return dr(t,n,()=>{r=e[VD](),dr(t,n,()=>{let o,i;try{({value:o,done:i}=r.next())}catch(s){return void t.error(s)}i?t.complete():t.next(o)},0,!0)}),()=>$e(r?.return)&&r.return()})}(e,n);if(jD(e))return function xP(e,n){return GD(BD(e),n)}(e,n)}throw LD(e)}(e,n):sl(e)}(e):e}function ow(e){let n={};return e.forEach(t=>{n=null!=t?{...n,...t}:n}),0===Object.keys(n).length?null:n}function iw(e,n){return n.map(t=>t(e))}function sw(e){return e.map(n=>function KP(e){return!e.validate}(n)?n:t=>n.validate(t))}function wf(e){return null!=e?function aw(e){if(!e)return null;const n=e.filter(nw);return 0==n.length?null:function(t){return ow(iw(t,n))}}(sw(e)):null}function bf(e){return null!=e?function lw(e){if(!e)return null;const n=e.filter(nw);return 0==n.length?null:function(t){return GP(iw(t,n).map(rw)).pipe(Ol(ow))}}(sw(e)):null}function cw(e,n){return null===e?[n]:Array.isArray(e)?[...e,n]:[e,n]}function If(e){return e?Array.isArray(e)?e:[e]:[]}function ll(e,n){return Array.isArray(e)?e.includes(n):e===n}function fw(e,n){const t=If(n);return If(e).forEach(o=>{ll(t,o)||t.push(o)}),t}function hw(e,n){return If(n).filter(t=>!ll(e,t))}class pw{constructor(){this._rawValidators=[],this._rawAsyncValidators=[],this._onDestroyCallbacks=[]}get value(){return this.control?this.control.value:null}get valid(){return this.control?this.control.valid:null}get invalid(){return this.control?this.control.invalid:null}get pending(){return this.control?this.control.pending:null}get disabled(){return this.control?this.control.disabled:null}get enabled(){return this.control?this.control.enabled:null}get errors(){return this.control?this.control.errors:null}get pristine(){return this.control?this.control.pristine:null}get dirty(){return this.control?this.control.dirty:null}get touched(){return this.control?this.control.touched:null}get status(){return this.control?this.control.status:null}get untouched(){return this.control?this.control.untouched:null}get statusChanges(){return this.control?this.control.statusChanges:null}get valueChanges(){return this.control?this.control.valueChanges:null}get path(){return null}_setValidators(n){this._rawValidators=n||[],this._composedValidatorFn=wf(this._rawValidators)}_setAsyncValidators(n){this._rawAsyncValidators=n||[],this._composedAsyncValidatorFn=bf(this._rawAsyncValidators)}get validator(){return this._composedValidatorFn||null}get asyncValidator(){return this._composedAsyncValidatorFn||null}_registerOnDestroy(n){this._onDestroyCallbacks.push(n)}_invokeOnDestroyCallbacks(){this._onDestroyCallbacks.forEach(n=>n()),this._onDestroyCallbacks=[]}reset(n=void 0){this.control&&this.control.reset(n)}hasError(n,t){return!!this.control&&this.control.hasError(n,t)}getError(n,t){return this.control?this.control.getError(n,t):null}}class st extends pw{get formDirective(){return null}get path(){return null}}class Ln extends pw{constructor(){super(...arguments),this._parent=null,this.name=null,this.valueAccessor=null}}class gw{constructor(n){this._cd=n}get isTouched(){return!!this._cd?.control?.touched}get isUntouched(){return!!this._cd?.control?.untouched}get isPristine(){return!!this._cd?.control?.pristine}get isDirty(){return!!this._cd?.control?.dirty}get isValid(){return!!this._cd?.control?.valid}get isInvalid(){return!!this._cd?.control?.invalid}get isPending(){return!!this._cd?.control?.pending}get isSubmitted(){return!!this._cd?.submitted}}let cl=(()=>{class e extends gw{constructor(t){super(t)}static#e=this.\u0275fac=function(r){return new(r||e)(T(Ln,2))};static#t=this.\u0275dir=U({type:e,selectors:[["","formControlName",""],["","ngModel",""],["","formControl",""]],hostVars:14,hostBindings:function(r,o){2&r&&ba("ng-untouched",o.isUntouched)("ng-touched",o.isTouched)("ng-pristine",o.isPristine)("ng-dirty",o.isDirty)("ng-valid",o.isValid)("ng-invalid",o.isInvalid)("ng-pending",o.isPending)},features:[de]})}return e})();const zi="VALID",dl="INVALID",yo="PENDING",Gi="DISABLED";function fl(e){return null!=e&&!Array.isArray(e)&&"object"==typeof e}class Nf{constructor(n,t){this._pendingDirty=!1,this._hasOwnPendingAsyncValidator=!1,this._pendingTouched=!1,this._onCollectionChange=()=>{},this._parent=null,this.pristine=!0,this.touched=!1,this._onDisabledChange=[],this._assignValidators(n),this._assignAsyncValidators(t)}get validator(){return this._composedValidatorFn}set validator(n){this._rawValidators=this._composedValidatorFn=n}get asyncValidator(){return this._composedAsyncValidatorFn}set asyncValidator(n){this._rawAsyncValidators=this._composedAsyncValidatorFn=n}get parent(){return this._parent}get valid(){return this.status===zi}get invalid(){return this.status===dl}get pending(){return this.status==yo}get disabled(){return this.status===Gi}get enabled(){return this.status!==Gi}get dirty(){return!this.pristine}get untouched(){return!this.touched}get updateOn(){return this._updateOn?this._updateOn:this.parent?this.parent.updateOn:"change"}setValidators(n){this._assignValidators(n)}setAsyncValidators(n){this._assignAsyncValidators(n)}addValidators(n){this.setValidators(fw(n,this._rawValidators))}addAsyncValidators(n){this.setAsyncValidators(fw(n,this._rawAsyncValidators))}removeValidators(n){this.setValidators(hw(n,this._rawValidators))}removeAsyncValidators(n){this.setAsyncValidators(hw(n,this._rawAsyncValidators))}hasValidator(n){return ll(this._rawValidators,n)}hasAsyncValidator(n){return ll(this._rawAsyncValidators,n)}clearValidators(){this.validator=null}clearAsyncValidators(){this.asyncValidator=null}markAsTouched(n={}){this.touched=!0,this._parent&&!n.onlySelf&&this._parent.markAsTouched(n)}markAllAsTouched(){this.markAsTouched({onlySelf:!0}),this._forEachChild(n=>n.markAllAsTouched())}markAsUntouched(n={}){this.touched=!1,this._pendingTouched=!1,this._forEachChild(t=>{t.markAsUntouched({onlySelf:!0})}),this._parent&&!n.onlySelf&&this._parent._updateTouched(n)}markAsDirty(n={}){this.pristine=!1,this._parent&&!n.onlySelf&&this._parent.markAsDirty(n)}markAsPristine(n={}){this.pristine=!0,this._pendingDirty=!1,this._forEachChild(t=>{t.markAsPristine({onlySelf:!0})}),this._parent&&!n.onlySelf&&this._parent._updatePristine(n)}markAsPending(n={}){this.status=yo,!1!==n.emitEvent&&this.statusChanges.emit(this.status),this._parent&&!n.onlySelf&&this._parent.markAsPending(n)}disable(n={}){const t=this._parentMarkedDirty(n.onlySelf);this.status=Gi,this.errors=null,this._forEachChild(r=>{r.disable({...n,onlySelf:!0})}),this._updateValue(),!1!==n.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._updateAncestors({...n,skipPristineCheck:t}),this._onDisabledChange.forEach(r=>r(!0))}enable(n={}){const t=this._parentMarkedDirty(n.onlySelf);this.status=zi,this._forEachChild(r=>{r.enable({...n,onlySelf:!0})}),this.updateValueAndValidity({onlySelf:!0,emitEvent:n.emitEvent}),this._updateAncestors({...n,skipPristineCheck:t}),this._onDisabledChange.forEach(r=>r(!1))}_updateAncestors(n){this._parent&&!n.onlySelf&&(this._parent.updateValueAndValidity(n),n.skipPristineCheck||this._parent._updatePristine(),this._parent._updateTouched())}setParent(n){this._parent=n}getRawValue(){return this.value}updateValueAndValidity(n={}){this._setInitialStatus(),this._updateValue(),this.enabled&&(this._cancelExistingSubscription(),this.errors=this._runValidator(),this.status=this._calculateStatus(),(this.status===zi||this.status===yo)&&this._runAsyncValidator(n.emitEvent)),!1!==n.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._parent&&!n.onlySelf&&this._parent.updateValueAndValidity(n)}_updateTreeValidity(n={emitEvent:!0}){this._forEachChild(t=>t._updateTreeValidity(n)),this.updateValueAndValidity({onlySelf:!0,emitEvent:n.emitEvent})}_setInitialStatus(){this.status=this._allControlsDisabled()?Gi:zi}_runValidator(){return this.validator?this.validator(this):null}_runAsyncValidator(n){if(this.asyncValidator){this.status=yo,this._hasOwnPendingAsyncValidator=!0;const t=rw(this.asyncValidator(this));this._asyncValidationSubscription=t.subscribe(r=>{this._hasOwnPendingAsyncValidator=!1,this.setErrors(r,{emitEvent:n})})}}_cancelExistingSubscription(){this._asyncValidationSubscription&&(this._asyncValidationSubscription.unsubscribe(),this._hasOwnPendingAsyncValidator=!1)}setErrors(n,t={}){this.errors=n,this._updateControlsErrors(!1!==t.emitEvent)}get(n){let t=n;return null==t||(Array.isArray(t)||(t=t.split(".")),0===t.length)?null:t.reduce((r,o)=>r&&r._find(o),this)}getError(n,t){const r=t?this.get(t):this;return r&&r.errors?r.errors[n]:null}hasError(n,t){return!!this.getError(n,t)}get root(){let n=this;for(;n._parent;)n=n._parent;return n}_updateControlsErrors(n){this.status=this._calculateStatus(),n&&this.statusChanges.emit(this.status),this._parent&&this._parent._updateControlsErrors(n)}_initObservables(){this.valueChanges=new Ae,this.statusChanges=new Ae}_calculateStatus(){return this._allControlsDisabled()?Gi:this.errors?dl:this._hasOwnPendingAsyncValidator||this._anyControlsHaveStatus(yo)?yo:this._anyControlsHaveStatus(dl)?dl:zi}_anyControlsHaveStatus(n){return this._anyControls(t=>t.status===n)}_anyControlsDirty(){return this._anyControls(n=>n.dirty)}_anyControlsTouched(){return this._anyControls(n=>n.touched)}_updatePristine(n={}){this.pristine=!this._anyControlsDirty(),this._parent&&!n.onlySelf&&this._parent._updatePristine(n)}_updateTouched(n={}){this.touched=this._anyControlsTouched(),this._parent&&!n.onlySelf&&this._parent._updateTouched(n)}_registerOnCollectionChange(n){this._onCollectionChange=n}_setUpdateStrategy(n){fl(n)&&null!=n.updateOn&&(this._updateOn=n.updateOn)}_parentMarkedDirty(n){return!n&&!(!this._parent||!this._parent.dirty)&&!this._parent._anyControlsDirty()}_find(n){return null}_assignValidators(n){this._rawValidators=Array.isArray(n)?n.slice():n,this._composedValidatorFn=function nk(e){return Array.isArray(e)?wf(e):e||null}(this._rawValidators)}_assignAsyncValidators(n){this._rawAsyncValidators=Array.isArray(n)?n.slice():n,this._composedAsyncValidatorFn=function rk(e){return Array.isArray(e)?bf(e):e||null}(this._rawAsyncValidators)}}const Co=new R("CallSetDisabledState",{providedIn:"root",factory:()=>hl}),hl="always";function qi(e,n,t=hl){(function xf(e,n){const t=function uw(e){return e._rawValidators}(e);null!==n.validator?e.setValidators(cw(t,n.validator)):"function"==typeof t&&e.setValidators([t]);const r=function dw(e){return e._rawAsyncValidators}(e);null!==n.asyncValidator?e.setAsyncValidators(cw(r,n.asyncValidator)):"function"==typeof r&&e.setAsyncValidators([r]);const o=()=>e.updateValueAndValidity();ml(n._rawValidators,o),ml(n._rawAsyncValidators,o)})(e,n),n.valueAccessor.writeValue(e.value),(e.disabled||"always"===t)&&n.valueAccessor.setDisabledState?.(e.disabled),function sk(e,n){n.valueAccessor.registerOnChange(t=>{e._pendingValue=t,e._pendingChange=!0,e._pendingDirty=!0,"change"===e.updateOn&&yw(e,n)})}(e,n),function lk(e,n){const t=(r,o)=>{n.valueAccessor.writeValue(r),o&&n.viewToModelUpdate(r)};e.registerOnChange(t),n._registerOnDestroy(()=>{e._unregisterOnChange(t)})}(e,n),function ak(e,n){n.valueAccessor.registerOnTouched(()=>{e._pendingTouched=!0,"blur"===e.updateOn&&e._pendingChange&&yw(e,n),"submit"!==e.updateOn&&e.markAsTouched()})}(e,n),function ik(e,n){if(n.valueAccessor.setDisabledState){const t=r=>{n.valueAccessor.setDisabledState(r)};e.registerOnDisabledChange(t),n._registerOnDestroy(()=>{e._unregisterOnDisabledChange(t)})}}(e,n)}function ml(e,n){e.forEach(t=>{t.registerOnValidatorChange&&t.registerOnValidatorChange(n)})}function yw(e,n){e._pendingDirty&&e.markAsDirty(),e.setValue(e._pendingValue,{emitModelToViewChange:!1}),n.viewToModelUpdate(e._pendingValue),e._pendingChange=!1}function ww(e,n){const t=e.indexOf(n);t>-1&&e.splice(t,1)}function bw(e){return"object"==typeof e&&null!==e&&2===Object.keys(e).length&&"value"in e&&"disabled"in e}Promise.resolve();const Iw=class extends Nf{constructor(n=null,t,r){super(function Sf(e){return(fl(e)?e.validators:e)||null}(t),function Tf(e,n){return(fl(n)?n.asyncValidators:e)||null}(r,t)),this.defaultValue=null,this._onChange=[],this._pendingChange=!1,this._applyFormState(n),this._setUpdateStrategy(t),this._initObservables(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator}),fl(t)&&(t.nonNullable||t.initialValueIsDefault)&&(this.defaultValue=bw(n)?n.value:n)}setValue(n,t={}){this.value=this._pendingValue=n,this._onChange.length&&!1!==t.emitModelToViewChange&&this._onChange.forEach(r=>r(this.value,!1!==t.emitViewToModelChange)),this.updateValueAndValidity(t)}patchValue(n,t={}){this.setValue(n,t)}reset(n=this.defaultValue,t={}){this._applyFormState(n),this.markAsPristine(t),this.markAsUntouched(t),this.setValue(this.value,t),this._pendingChange=!1}_updateValue(){}_anyControls(n){return!1}_allControlsDisabled(){return this.disabled}registerOnChange(n){this._onChange.push(n)}_unregisterOnChange(n){ww(this._onChange,n)}registerOnDisabledChange(n){this._onDisabledChange.push(n)}_unregisterOnDisabledChange(n){ww(this._onDisabledChange,n)}_forEachChild(n){}_syncPendingControls(){return!("submit"!==this.updateOn||(this._pendingDirty&&this.markAsDirty(),this._pendingTouched&&this.markAsTouched(),!this._pendingChange)||(this.setValue(this._pendingValue,{onlySelf:!0,emitModelToViewChange:!1}),0))}_applyFormState(n){bw(n)?(this.value=this._pendingValue=n.value,n.disabled?this.disable({onlySelf:!0,emitEvent:!1}):this.enable({onlySelf:!0,emitEvent:!1})):this.value=this._pendingValue=n}},mk={provide:Ln,useExisting:pe(()=>Zi)},Sw=Promise.resolve();let Zi=(()=>{class e extends Ln{constructor(t,r,o,i,s,a){super(),this._changeDetectorRef=s,this.callSetDisabledState=a,this.control=new Iw,this._registered=!1,this.name="",this.update=new Ae,this._parent=t,this._setValidators(r),this._setAsyncValidators(o),this.valueAccessor=function Ff(e,n){if(!n)return null;let t,r,o;return Array.isArray(n),n.forEach(i=>{i.constructor===Ui?t=i:function dk(e){return Object.getPrototypeOf(e.constructor)===fr}(i)?r=i:o=i}),o||r||t||null}(0,i)}ngOnChanges(t){if(this._checkForErrors(),!this._registered||"name"in t){if(this._registered&&(this._checkName(),this.formDirective)){const r=t.name.previousValue;this.formDirective.removeControl({name:r,path:this._getPath(r)})}this._setUpControl()}"isDisabled"in t&&this._updateDisabled(t),function Rf(e,n){if(!e.hasOwnProperty("model"))return!1;const t=e.model;return!!t.isFirstChange()||!Object.is(n,t.currentValue)}(t,this.viewModel)&&(this._updateValue(this.model),this.viewModel=this.model)}ngOnDestroy(){this.formDirective&&this.formDirective.removeControl(this)}get path(){return this._getPath(this.name)}get formDirective(){return this._parent?this._parent.formDirective:null}viewToModelUpdate(t){this.viewModel=t,this.update.emit(t)}_setUpControl(){this._setUpdateStrategy(),this._isStandalone()?this._setUpStandalone():this.formDirective.addControl(this),this._registered=!0}_setUpdateStrategy(){this.options&&null!=this.options.updateOn&&(this.control._updateOn=this.options.updateOn)}_isStandalone(){return!this._parent||!(!this.options||!this.options.standalone)}_setUpStandalone(){qi(this.control,this,this.callSetDisabledState),this.control.updateValueAndValidity({emitEvent:!1})}_checkForErrors(){this._isStandalone()||this._checkParentType(),this._checkName()}_checkParentType(){}_checkName(){this.options&&this.options.name&&(this.name=this.options.name),this._isStandalone()}_updateValue(t){Sw.then(()=>{this.control.setValue(t,{emitViewToModelChange:!1}),this._changeDetectorRef?.markForCheck()})}_updateDisabled(t){const r=t.isDisabled.currentValue,o=0!==r&&function Qd(e){return"boolean"==typeof e?e:null!=e&&"false"!==e}(r);Sw.then(()=>{o&&!this.control.disabled?this.control.disable():!o&&this.control.disabled&&this.control.enable(),this._changeDetectorRef?.markForCheck()})}_getPath(t){return this._parent?function pl(e,n){return[...n.path,e]}(t,this._parent):[t]}static#e=this.\u0275fac=function(r){return new(r||e)(T(st,9),T(et,10),T(kn,10),T(an,10),T(jd,8),T(Co,8))};static#t=this.\u0275dir=U({type:e,selectors:[["","ngModel","",3,"formControlName","",3,"formControl",""]],inputs:{name:"name",isDisabled:[Ee.None,"disabled","isDisabled"],model:[Ee.None,"ngModel","model"],options:[Ee.None,"ngModelOptions","options"]},outputs:{update:"ngModelChange"},exportAs:["ngModel"],features:[we([mk]),de,fn]})}return e})();const Dk={provide:an,useExisting:pe(()=>kf),multi:!0};let kf=(()=>{class e extends fr{writeValue(t){this.setProperty("value",parseFloat(t))}registerOnChange(t){this.onChange=r=>{t(""==r?null:parseFloat(r))}}static#e=this.\u0275fac=(()=>{let t;return function(o){return(t||(t=Ke(e)))(o||e)}})();static#t=this.\u0275dir=U({type:e,selectors:[["input","type","range","formControlName",""],["input","type","range","formControl",""],["input","type","range","ngModel",""]],hostBindings:function(r,o){1&r&&j("change",function(s){return o.onChange(s.target.value)})("input",function(s){return o.onChange(s.target.value)})("blur",function(){return o.onTouched()})},features:[we([Dk]),de]})}return e})();const Sk={provide:an,useExisting:pe(()=>Qi),multi:!0};function Fw(e,n){return null==e?`${n}`:(n&&"object"==typeof n&&(n="Object"),`${e}: ${n}`.slice(0,50))}let Qi=(()=>{class e extends fr{constructor(){super(...arguments),this._optionMap=new Map,this._idCounter=0,this._compareWith=Object.is}set compareWith(t){this._compareWith=t}writeValue(t){this.value=t;const o=Fw(this._getOptionId(t),t);this.setProperty("value",o)}registerOnChange(t){this.onChange=r=>{this.value=this._getOptionValue(r),t(this.value)}}_registerOption(){return(this._idCounter++).toString()}_getOptionId(t){for(const r of this._optionMap.keys())if(this._compareWith(this._optionMap.get(r),t))return r;return null}_getOptionValue(t){const r=function Tk(e){return e.split(":")[0]}(t);return this._optionMap.has(r)?this._optionMap.get(r):t}static#e=this.\u0275fac=(()=>{let t;return function(o){return(t||(t=Ke(e)))(o||e)}})();static#t=this.\u0275dir=U({type:e,selectors:[["select","formControlName","",3,"multiple",""],["select","formControl","",3,"multiple",""],["select","ngModel","",3,"multiple",""]],hostBindings:function(r,o){1&r&&j("change",function(s){return o.onChange(s.target.value)})("blur",function(){return o.onTouched()})},inputs:{compareWith:"compareWith"},features:[we([Sk]),de]})}return e})(),Bf=(()=>{class e{constructor(t,r,o){this._element=t,this._renderer=r,this._select=o,this._select&&(this.id=this._select._registerOption())}set ngValue(t){null!=this._select&&(this._select._optionMap.set(this.id,t),this._setElementValue(Fw(this.id,t)),this._select.writeValue(this._select.value))}set value(t){this._setElementValue(t),this._select&&this._select.writeValue(this._select.value)}_setElementValue(t){this._renderer.setProperty(this._element.nativeElement,"value",t)}ngOnDestroy(){this._select&&(this._select._optionMap.delete(this.id),this._select.writeValue(this._select.value))}static#e=this.\u0275fac=function(r){return new(r||e)(T(Vt),T(Jn),T(Qi,9))};static#t=this.\u0275dir=U({type:e,selectors:[["option"]],inputs:{ngValue:"ngValue",value:"value"}})}return e})();const Nk={provide:an,useExisting:pe(()=>jf),multi:!0};function Pw(e,n){return null==e?`${n}`:("string"==typeof n&&(n=`'${n}'`),n&&"object"==typeof n&&(n="Object"),`${e}: ${n}`.slice(0,50))}let jf=(()=>{class e extends fr{constructor(){super(...arguments),this._optionMap=new Map,this._idCounter=0,this._compareWith=Object.is}set compareWith(t){this._compareWith=t}writeValue(t){let r;if(this.value=t,Array.isArray(t)){const o=t.map(i=>this._getOptionId(i));r=(i,s)=>{i._setSelected(o.indexOf(s.toString())>-1)}}else r=(o,i)=>{o._setSelected(!1)};this._optionMap.forEach(r)}registerOnChange(t){this.onChange=r=>{const o=[],i=r.selectedOptions;if(void 0!==i){const s=i;for(let a=0;a{let t;return function(o){return(t||(t=Ke(e)))(o||e)}})();static#t=this.\u0275dir=U({type:e,selectors:[["select","multiple","","formControlName",""],["select","multiple","","formControl",""],["select","multiple","","ngModel",""]],hostBindings:function(r,o){1&r&&j("change",function(s){return o.onChange(s.target)})("blur",function(){return o.onTouched()})},inputs:{compareWith:"compareWith"},features:[we([Nk]),de]})}return e})(),$f=(()=>{class e{constructor(t,r,o){this._element=t,this._renderer=r,this._select=o,this._select&&(this.id=this._select._registerOption(this))}set ngValue(t){null!=this._select&&(this._value=t,this._setElementValue(Pw(this.id,t)),this._select.writeValue(this._select.value))}set value(t){this._select?(this._value=t,this._setElementValue(Pw(this.id,t)),this._select.writeValue(this._select.value)):this._setElementValue(t)}_setElementValue(t){this._renderer.setProperty(this._element.nativeElement,"value",t)}_setSelected(t){this._renderer.setProperty(this._element.nativeElement,"selected",t)}ngOnDestroy(){this._select&&(this._select._optionMap.delete(this.id),this._select.writeValue(this._select.value))}static#e=this.\u0275fac=function(r){return new(r||e)(T(Vt),T(Jn),T(jf,9))};static#t=this.\u0275dir=U({type:e,selectors:[["option"]],inputs:{ngValue:"ngValue",value:"value"}})}return e})(),Hk=(()=>{class e{static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275mod=Un({type:e});static#n=this.\u0275inj=wn({})}return e})(),jk=(()=>{class e{static withConfig(t){return{ngModule:e,providers:[{provide:Co,useValue:t.callSetDisabledState??hl}]}}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275mod=Un({type:e});static#n=this.\u0275inj=wn({imports:[Hk]})}return e})();class Gw{constructor(){this.riskHotspotsSettings=null,this.coverageInfoSettings=null}}class $k{constructor(){this.showLineCoverage=!0,this.showBranchCoverage=!0,this.showMethodCoverage=!0,this.visibleMetrics=[],this.groupingMaximum=0,this.grouping=0,this.historyComparisionDate="",this.historyComparisionType="",this.filter="",this.sortBy="name",this.sortOrder="asc",this.collapseStates=[]}}class Uk{constructor(n){this.et="",this.et=n.et,this.cl=n.cl,this.ucl=n.ucl,this.cal=n.cal,this.tl=n.tl,this.lcq=n.lcq,this.cb=n.cb,this.tb=n.tb,this.bcq=n.bcq,this.cm=n.cm,this.tm=n.tm,this.mcq=n.mcq}get coverageRatioText(){return 0===this.tl?"-":this.cl+"/"+this.cal}get branchCoverageRatioText(){return 0===this.tb?"-":this.cb+"/"+this.tb}get methodCoverageRatioText(){return 0===this.tm?"-":this.cm+"/"+this.tm}}class At{static roundNumber(n){return Math.floor(n*Math.pow(10,At.maximumDecimalPlacesForCoverageQuotas))/Math.pow(10,At.maximumDecimalPlacesForCoverageQuotas)}static getNthOrLastIndexOf(n,t,r){let o=0,i=-1,s=-1;for(;o{this.historicCoverages.push(new Uk(r))}),this.metrics=n.metrics}get coverage(){return 0===this.coverableLines?NaN:At.roundNumber(100*this.coveredLines/this.coverableLines)}visible(n,t){if(""!==n&&-1===this.name.toLowerCase().indexOf(n.toLowerCase()))return!1;if(""===t||null===this.currentHistoricCoverage)return!0;if("allChanges"===t){if(this.coveredLines===this.currentHistoricCoverage.cl&&this.uncoveredLines===this.currentHistoricCoverage.ucl&&this.coverableLines===this.currentHistoricCoverage.cal&&this.totalLines===this.currentHistoricCoverage.tl&&this.coveredBranches===this.currentHistoricCoverage.cb&&this.totalBranches===this.currentHistoricCoverage.tb&&this.coveredMethods===this.currentHistoricCoverage.cm&&this.totalMethods===this.currentHistoricCoverage.tm)return!1}else if("lineCoverageIncreaseOnly"===t){let r=this.coverage;if(isNaN(r)||r<=this.currentHistoricCoverage.lcq)return!1}else if("lineCoverageDecreaseOnly"===t){let r=this.coverage;if(isNaN(r)||r>=this.currentHistoricCoverage.lcq)return!1}else if("branchCoverageIncreaseOnly"===t){let r=this.branchCoverage;if(isNaN(r)||r<=this.currentHistoricCoverage.bcq)return!1}else if("branchCoverageDecreaseOnly"===t){let r=this.branchCoverage;if(isNaN(r)||r>=this.currentHistoricCoverage.bcq)return!1}else if("methodCoverageIncreaseOnly"===t){let r=this.methodCoverage;if(isNaN(r)||r<=this.currentHistoricCoverage.mcq)return!1}else if("methodCoverageDecreaseOnly"===t){let r=this.methodCoverage;if(isNaN(r)||r>=this.currentHistoricCoverage.mcq)return!1}return!0}updateCurrentHistoricCoverage(n){if(this.currentHistoricCoverage=null,""!==n)for(let t=0;t-1&&null===t}visible(n,t){if(""!==n&&this.name.toLowerCase().indexOf(n.toLowerCase())>-1)return!0;for(let r=0;r{class e{get nativeWindow(){return function zk(){return window}()}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=ee({token:e,factory:e.\u0275fac})}return e})(),Gk=(()=>{class e{constructor(){this.translations={}}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275cmp=un({type:e,selectors:[["pro-button"]],inputs:{translations:"translations"},decls:3,vars:1,consts:[["href","https://reportgenerator.io/pro","target","_blank",1,"pro-button","pro-button-tiny",3,"title"]],template:function(r,o){1&r&&(b(0,"\xa0"),C(1,"a",0),b(2,"PRO"),_()),2&r&&(f(),Rn("title",o.translations.methodCoverageProVersion))},encapsulation:2})}return e})();function qk(e,n){if(1&e){const t=Me();C(0,"div",3)(1,"label")(2,"input",4),bt("ngModelChange",function(o){Z(t);const i=v();return Xe(i.showBranchCoverage,o)||(i.showBranchCoverage=o),Q(o)}),j("change",function(){Z(t);const o=v();return Q(o.showBranchCoverageChange.emit(o.showBranchCoverage))}),_(),b(3),_()()}if(2&e){const t=v();f(2),ht("ngModel",t.showBranchCoverage),f(),q(" ",t.translations.branchCoverage,"")}}function Wk(e,n){1&e&&N(0,"pro-button",9),2&e&&g("translations",v().translations)}function Zk(e,n){1&e&&N(0,"pro-button",9),2&e&&g("translations",v(2).translations)}function Qk(e,n){1&e&&(C(0,"a",13),N(1,"i",14),_()),2&e&&g("href",v().$implicit.explanationUrl,Sn)}function Yk(e,n){if(1&e){const t=Me();C(0,"div",3)(1,"label")(2,"input",11),j("change",function(){const o=Z(t).$implicit;return Q(v(2).toggleMetric(o))}),_(),b(3),_(),b(4,"\xa0"),k(5,Qk,2,1,"a",12),_()}if(2&e){const t=n.$implicit,r=v(2);f(2),g("checked",r.isMetricSelected(t))("disabled",!r.methodCoverageAvailable),f(),q(" ",t.name,""),f(2),g("ngIf",t.explanationUrl)}}function Kk(e,n){if(1&e&&(J(0),N(1,"br")(2,"br"),C(3,"b"),b(4),_(),k(5,Zk,1,1,"pro-button",7)(6,Yk,6,4,"div",10),X()),2&e){const t=v();f(4),A(t.translations.metrics),f(),g("ngIf",!t.methodCoverageAvailable),f(),g("ngForOf",t.metrics)}}let Jk=(()=>{class e{constructor(){this.visible=!1,this.visibleChange=new Ae,this.translations={},this.branchCoverageAvailable=!1,this.methodCoverageAvailable=!1,this.metrics=[],this.showLineCoverage=!1,this.showLineCoverageChange=new Ae,this.showBranchCoverage=!1,this.showBranchCoverageChange=new Ae,this.showMethodCoverage=!1,this.showMethodCoverageChange=new Ae,this.visibleMetrics=[],this.visibleMetricsChange=new Ae}isMetricSelected(t){return void 0!==this.visibleMetrics.find(r=>r.name===t.name)}toggleMetric(t){let r=this.visibleMetrics.find(o=>o.name===t.name);r?this.visibleMetrics.splice(this.visibleMetrics.indexOf(r),1):this.visibleMetrics.push(t),this.visibleMetrics=[...this.visibleMetrics],this.visibleMetricsChange.emit(this.visibleMetrics)}close(){this.visible=!1,this.visibleChange.emit(this.visible)}cancelEvent(t){t.stopPropagation()}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275cmp=un({type:e,selectors:[["popup"]],inputs:{visible:"visible",translations:"translations",branchCoverageAvailable:"branchCoverageAvailable",methodCoverageAvailable:"methodCoverageAvailable",metrics:"metrics",showLineCoverage:"showLineCoverage",showBranchCoverage:"showBranchCoverage",showMethodCoverage:"showMethodCoverage",visibleMetrics:"visibleMetrics"},outputs:{visibleChange:"visibleChange",showLineCoverageChange:"showLineCoverageChange",showBranchCoverageChange:"showBranchCoverageChange",showMethodCoverageChange:"showMethodCoverageChange",visibleMetricsChange:"visibleMetricsChange"},decls:17,vars:9,consts:[[1,"popup-container",3,"click"],[1,"popup",3,"click"],[1,"close",3,"click"],[1,"mt-1"],["type","checkbox",3,"ngModelChange","change","ngModel"],["class","mt-1",4,"ngIf"],["type","checkbox",3,"ngModelChange","change","ngModel","disabled"],[3,"translations",4,"ngIf"],[4,"ngIf"],[3,"translations"],["class","mt-1",4,"ngFor","ngForOf"],["type","checkbox",3,"change","checked","disabled"],["target","_blank",3,"href",4,"ngIf"],["target","_blank",3,"href"],[1,"icon-info-circled"]],template:function(r,o){1&r&&(C(0,"div",0),j("click",function(){return o.close()}),C(1,"div",1),j("click",function(s){return o.cancelEvent(s)}),C(2,"div",2),j("click",function(){return o.close()}),b(3,"X"),_(),C(4,"b"),b(5),_(),C(6,"div",3)(7,"label")(8,"input",4),bt("ngModelChange",function(s){return Xe(o.showLineCoverage,s)||(o.showLineCoverage=s),s}),j("change",function(){return o.showLineCoverageChange.emit(o.showLineCoverage)}),_(),b(9),_()(),k(10,qk,4,2,"div",5),C(11,"div",3)(12,"label")(13,"input",6),bt("ngModelChange",function(s){return Xe(o.showMethodCoverage,s)||(o.showMethodCoverage=s),s}),j("change",function(){return o.showMethodCoverageChange.emit(o.showMethodCoverage)}),_(),b(14),_(),k(15,Wk,1,1,"pro-button",7),_(),k(16,Kk,7,3,"ng-container",8),_()()),2&r&&(f(5),A(o.translations.coverageTypes),f(3),ht("ngModel",o.showLineCoverage),f(),q(" ",o.translations.coverage,""),f(),g("ngIf",o.branchCoverageAvailable),f(3),ht("ngModel",o.showMethodCoverage),g("disabled",!o.methodCoverageAvailable),f(),q(" ",o.translations.methodCoverage,""),f(),g("ngIf",!o.methodCoverageAvailable),f(),g("ngIf",o.metrics.length>0))},dependencies:[_o,cr,Df,cl,Zi,Gk],encapsulation:2})}return e})();function Xk(e,n){1&e&&N(0,"td",3)}function e2(e,n){1&e&&N(0,"td"),2&e&&sn("green ",v().greenClass,"")}function t2(e,n){1&e&&N(0,"td"),2&e&&sn("red ",v().redClass,"")}let Ww=(()=>{class e{constructor(){this.grayVisible=!0,this.greenVisible=!1,this.redVisible=!1,this.greenClass="",this.redClass="",this._percentage=NaN}get percentage(){return this._percentage}set percentage(t){this._percentage=t,this.grayVisible=isNaN(t),this.greenVisible=!isNaN(t)&&Math.round(t)>0,this.redVisible=!isNaN(t)&&100-Math.round(t)>0,this.greenClass="covered"+Math.round(t),this.redClass="covered"+(100-Math.round(t))}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275cmp=un({type:e,selectors:[["coverage-bar"]],inputs:{percentage:"percentage"},decls:4,vars:3,consts:[[1,"coverage"],["class","gray covered100",4,"ngIf"],[3,"class",4,"ngIf"],[1,"gray","covered100"]],template:function(r,o){1&r&&(C(0,"table",0),k(1,Xk,1,0,"td",1)(2,e2,1,3,"td",2)(3,t2,1,3,"td",2),_()),2&r&&(f(),g("ngIf",o.grayVisible),f(),g("ngIf",o.greenVisible),f(),g("ngIf",o.redVisible))},dependencies:[cr],encapsulation:2,changeDetection:0})}return e})();const n2=["codeelement-row",""],r2=(e,n)=>({"icon-plus":e,"icon-minus":n});function o2(e,n){if(1&e&&(C(0,"th",5),b(1),_()),2&e){const t=v();f(),A(t.element.coveredLines)}}function i2(e,n){if(1&e&&(C(0,"th",5),b(1),_()),2&e){const t=v();f(),A(t.element.uncoveredLines)}}function s2(e,n){if(1&e&&(C(0,"th",5),b(1),_()),2&e){const t=v();f(),A(t.element.coverableLines)}}function a2(e,n){if(1&e&&(C(0,"th",5),b(1),_()),2&e){const t=v();f(),A(t.element.totalLines)}}function l2(e,n){if(1&e&&(C(0,"th",6),b(1),_()),2&e){const t=v();g("title",t.element.coverageRatioText),f(),A(t.element.coveragePercentage)}}function c2(e,n){if(1&e&&(C(0,"th",5),N(1,"coverage-bar",7),_()),2&e){const t=v();f(),g("percentage",t.element.coverage)}}function u2(e,n){if(1&e&&(C(0,"th",5),b(1),_()),2&e){const t=v();f(),A(t.element.coveredBranches)}}function d2(e,n){if(1&e&&(C(0,"th",5),b(1),_()),2&e){const t=v();f(),A(t.element.totalBranches)}}function f2(e,n){if(1&e&&(C(0,"th",6),b(1),_()),2&e){const t=v();g("title",t.element.branchCoverageRatioText),f(),A(t.element.branchCoveragePercentage)}}function h2(e,n){if(1&e&&(C(0,"th",5),N(1,"coverage-bar",7),_()),2&e){const t=v();f(),g("percentage",t.element.branchCoverage)}}function p2(e,n){if(1&e&&(C(0,"th",5),b(1),_()),2&e){const t=v();f(),A(t.element.coveredMethods)}}function g2(e,n){if(1&e&&(C(0,"th",5),b(1),_()),2&e){const t=v();f(),A(t.element.totalMethods)}}function m2(e,n){if(1&e&&(C(0,"th",6),b(1),_()),2&e){const t=v();g("title",t.element.methodCoverageRatioText),f(),A(t.element.methodCoveragePercentage)}}function v2(e,n){if(1&e&&(C(0,"th",5),N(1,"coverage-bar",7),_()),2&e){const t=v();f(),g("percentage",t.element.methodCoverage)}}function _2(e,n){1&e&&N(0,"th",5)}let y2=(()=>{class e{constructor(){this.collapsed=!1,this.lineCoverageAvailable=!1,this.branchCoverageAvailable=!1,this.methodCoverageAvailable=!1,this.visibleMetrics=[]}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275cmp=un({type:e,selectors:[["","codeelement-row",""]],inputs:{element:"element",collapsed:"collapsed",lineCoverageAvailable:"lineCoverageAvailable",branchCoverageAvailable:"branchCoverageAvailable",methodCoverageAvailable:"methodCoverageAvailable",visibleMetrics:"visibleMetrics"},attrs:n2,decls:19,vars:20,consts:[["href","#",3,"click"],[3,"ngClass"],["class","right",4,"ngIf"],["class","right",3,"title",4,"ngIf"],["class","right",4,"ngFor","ngForOf"],[1,"right"],[1,"right",3,"title"],[3,"percentage"]],template:function(r,o){1&r&&(C(0,"th")(1,"a",0),j("click",function(s){return o.element.toggleCollapse(s)}),N(2,"i",1),b(3),_()(),k(4,o2,2,1,"th",2)(5,i2,2,1,"th",2)(6,s2,2,1,"th",2)(7,a2,2,1,"th",2)(8,l2,2,2,"th",3)(9,c2,2,1,"th",2)(10,u2,2,1,"th",2)(11,d2,2,1,"th",2)(12,f2,2,2,"th",3)(13,h2,2,1,"th",2)(14,p2,2,1,"th",2)(15,g2,2,1,"th",2)(16,m2,2,2,"th",3)(17,v2,2,1,"th",2)(18,_2,1,0,"th",4)),2&r&&(f(2),g("ngClass",Td(17,r2,o.element.collapsed,!o.element.collapsed)),f(),q(" ",o.element.name,""),f(),g("ngIf",o.lineCoverageAvailable),f(),g("ngIf",o.lineCoverageAvailable),f(),g("ngIf",o.lineCoverageAvailable),f(),g("ngIf",o.lineCoverageAvailable),f(),g("ngIf",o.lineCoverageAvailable),f(),g("ngIf",o.lineCoverageAvailable),f(),g("ngIf",o.branchCoverageAvailable),f(),g("ngIf",o.branchCoverageAvailable),f(),g("ngIf",o.branchCoverageAvailable),f(),g("ngIf",o.branchCoverageAvailable),f(),g("ngIf",o.methodCoverageAvailable),f(),g("ngIf",o.methodCoverageAvailable),f(),g("ngIf",o.methodCoverageAvailable),f(),g("ngIf",o.methodCoverageAvailable),f(),g("ngForOf",o.visibleMetrics))},dependencies:[Vi,_o,cr,Ww],encapsulation:2,changeDetection:0})}return e})();const C2=["coverage-history-chart",""];let D2=(()=>{class e{constructor(){this.path=null,this._historicCoverages=[]}get historicCoverages(){return this._historicCoverages}set historicCoverages(t){if(this._historicCoverages=t,t.length>1){let r="";for(let o=0;o({historiccoverageoffset:e});function b2(e,n){if(1&e&&(C(0,"a",5),b(1),_()),2&e){const t=v();g("href",t.clazz.reportPath,Sn),f(),A(t.clazz.name)}}function I2(e,n){if(1&e&&(J(0),b(1),X()),2&e){const t=v();f(),A(t.clazz.name)}}function E2(e,n){if(1&e&&(J(0),C(1,"div"),b(2),_(),C(3,"div",7),b(4),_(),X()),2&e){const t=v(2);f(),sn("currenthistory ",t.getClassName(t.clazz.coveredLines,t.clazz.currentHistoricCoverage.cl),""),f(),q(" ",t.clazz.coveredLines," "),f(),g("title",t.clazz.currentHistoricCoverage.et),f(),q(" ",t.clazz.currentHistoricCoverage.cl," ")}}function M2(e,n){if(1&e&&(J(0),b(1),X()),2&e){const t=v(2);f(),q(" ",t.clazz.coveredLines," ")}}function S2(e,n){if(1&e&&(C(0,"td",6),k(1,E2,5,6,"ng-container",1)(2,M2,2,1,"ng-container",1),_()),2&e){const t=v();f(),g("ngIf",null!==t.clazz.currentHistoricCoverage),f(),g("ngIf",null===t.clazz.currentHistoricCoverage)}}function T2(e,n){if(1&e&&(J(0),C(1,"div"),b(2),_(),C(3,"div",7),b(4),_(),X()),2&e){const t=v(2);f(),sn("currenthistory ",t.getClassName(t.clazz.currentHistoricCoverage.ucl,t.clazz.uncoveredLines),""),f(),q(" ",t.clazz.uncoveredLines," "),f(),g("title",t.clazz.currentHistoricCoverage.et),f(),q(" ",t.clazz.currentHistoricCoverage.ucl," ")}}function N2(e,n){if(1&e&&(J(0),b(1),X()),2&e){const t=v(2);f(),q(" ",t.clazz.uncoveredLines," ")}}function A2(e,n){if(1&e&&(C(0,"td",6),k(1,T2,5,6,"ng-container",1)(2,N2,2,1,"ng-container",1),_()),2&e){const t=v();f(),g("ngIf",null!==t.clazz.currentHistoricCoverage),f(),g("ngIf",null===t.clazz.currentHistoricCoverage)}}function x2(e,n){if(1&e&&(J(0),C(1,"div",8),b(2),_(),C(3,"div",7),b(4),_(),X()),2&e){const t=v(2);f(2),A(t.clazz.coverableLines),f(),g("title",t.clazz.currentHistoricCoverage.et),f(),A(t.clazz.currentHistoricCoverage.cal)}}function O2(e,n){if(1&e&&(J(0),b(1),X()),2&e){const t=v(2);f(),q(" ",t.clazz.coverableLines," ")}}function R2(e,n){if(1&e&&(C(0,"td",6),k(1,x2,5,3,"ng-container",1)(2,O2,2,1,"ng-container",1),_()),2&e){const t=v();f(),g("ngIf",null!==t.clazz.currentHistoricCoverage),f(),g("ngIf",null===t.clazz.currentHistoricCoverage)}}function F2(e,n){if(1&e&&(J(0),C(1,"div",8),b(2),_(),C(3,"div",7),b(4),_(),X()),2&e){const t=v(2);f(2),A(t.clazz.totalLines),f(),g("title",t.clazz.currentHistoricCoverage.et),f(),A(t.clazz.currentHistoricCoverage.tl)}}function P2(e,n){if(1&e&&(J(0),b(1),X()),2&e){const t=v(2);f(),q(" ",t.clazz.totalLines," ")}}function k2(e,n){if(1&e&&(C(0,"td",6),k(1,F2,5,3,"ng-container",1)(2,P2,2,1,"ng-container",1),_()),2&e){const t=v();f(),g("ngIf",null!==t.clazz.currentHistoricCoverage),f(),g("ngIf",null===t.clazz.currentHistoricCoverage)}}function L2(e,n){if(1&e&&N(0,"div",11),2&e){const t=v(2);Rn("title",t.translations.history+": "+t.translations.coverage),g("historicCoverages",t.clazz.lineCoverageHistory)("ngClass",Aa(3,qf,null!==t.clazz.currentHistoricCoverage))}}function V2(e,n){if(1&e&&(J(0),C(1,"div"),b(2),_(),C(3,"div",7),b(4),_(),X()),2&e){const t=v(2);f(),sn("currenthistory ",t.getClassName(t.clazz.coverage,t.clazz.currentHistoricCoverage.lcq),""),f(),q(" ",t.clazz.coveragePercentage," "),f(),g("title",t.clazz.currentHistoricCoverage.et+": "+t.clazz.currentHistoricCoverage.coverageRatioText),f(),q("",t.clazz.currentHistoricCoverage.lcq,"%")}}function H2(e,n){if(1&e&&(J(0),b(1),X()),2&e){const t=v(2);f(),q(" ",t.clazz.coveragePercentage," ")}}function B2(e,n){if(1&e&&(C(0,"td",9),k(1,L2,1,5,"div",10)(2,V2,5,6,"ng-container",1)(3,H2,2,1,"ng-container",1),_()),2&e){const t=v();g("title",t.clazz.coverageRatioText),f(),g("ngIf",t.clazz.lineCoverageHistory.length>1),f(),g("ngIf",null!==t.clazz.currentHistoricCoverage),f(),g("ngIf",null===t.clazz.currentHistoricCoverage)}}function j2(e,n){if(1&e&&(C(0,"td",6),N(1,"coverage-bar",12),_()),2&e){const t=v();f(),g("percentage",t.clazz.coverage)}}function $2(e,n){if(1&e&&(J(0),C(1,"div"),b(2),_(),C(3,"div",7),b(4),_(),X()),2&e){const t=v(2);f(),sn("currenthistory ",t.getClassName(t.clazz.coveredBranches,t.clazz.currentHistoricCoverage.cb),""),f(),q(" ",t.clazz.coveredBranches," "),f(),g("title",t.clazz.currentHistoricCoverage.et),f(),q(" ",t.clazz.currentHistoricCoverage.cb," ")}}function U2(e,n){if(1&e&&(J(0),b(1),X()),2&e){const t=v(2);f(),q(" ",t.clazz.coveredBranches," ")}}function z2(e,n){if(1&e&&(C(0,"td",6),k(1,$2,5,6,"ng-container",1)(2,U2,2,1,"ng-container",1),_()),2&e){const t=v();f(),g("ngIf",null!==t.clazz.currentHistoricCoverage),f(),g("ngIf",null===t.clazz.currentHistoricCoverage)}}function G2(e,n){if(1&e&&(J(0),C(1,"div",8),b(2),_(),C(3,"div",7),b(4),_(),X()),2&e){const t=v(2);f(2),A(t.clazz.totalBranches),f(),g("title",t.clazz.currentHistoricCoverage.et),f(),A(t.clazz.currentHistoricCoverage.tb)}}function q2(e,n){if(1&e&&(J(0),b(1),X()),2&e){const t=v(2);f(),q(" ",t.clazz.totalBranches," ")}}function W2(e,n){if(1&e&&(C(0,"td",6),k(1,G2,5,3,"ng-container",1)(2,q2,2,1,"ng-container",1),_()),2&e){const t=v();f(),g("ngIf",null!==t.clazz.currentHistoricCoverage),f(),g("ngIf",null===t.clazz.currentHistoricCoverage)}}function Z2(e,n){if(1&e&&N(0,"div",14),2&e){const t=v(2);Rn("title",t.translations.history+": "+t.translations.branchCoverage),g("historicCoverages",t.clazz.branchCoverageHistory)("ngClass",Aa(3,qf,null!==t.clazz.currentHistoricCoverage))}}function Q2(e,n){if(1&e&&(J(0),C(1,"div"),b(2),_(),C(3,"div",7),b(4),_(),X()),2&e){const t=v(2);f(),sn("currenthistory ",t.getClassName(t.clazz.branchCoverage,t.clazz.currentHistoricCoverage.bcq),""),f(),q(" ",t.clazz.branchCoveragePercentage," "),f(),g("title",t.clazz.currentHistoricCoverage.et+": "+t.clazz.currentHistoricCoverage.branchCoverageRatioText),f(),q("",t.clazz.currentHistoricCoverage.bcq,"%")}}function Y2(e,n){if(1&e&&(J(0),b(1),X()),2&e){const t=v(2);f(),q(" ",t.clazz.branchCoveragePercentage," ")}}function K2(e,n){if(1&e&&(C(0,"td",9),k(1,Z2,1,5,"div",13)(2,Q2,5,6,"ng-container",1)(3,Y2,2,1,"ng-container",1),_()),2&e){const t=v();g("title",t.clazz.branchCoverageRatioText),f(),g("ngIf",t.clazz.branchCoverageHistory.length>1),f(),g("ngIf",null!==t.clazz.currentHistoricCoverage),f(),g("ngIf",null===t.clazz.currentHistoricCoverage)}}function J2(e,n){if(1&e&&(C(0,"td",6),N(1,"coverage-bar",12),_()),2&e){const t=v();f(),g("percentage",t.clazz.branchCoverage)}}function X2(e,n){if(1&e&&(J(0),C(1,"div"),b(2),_(),C(3,"div",7),b(4),_(),X()),2&e){const t=v(2);f(),sn("currenthistory ",t.getClassName(t.clazz.coveredMethods,t.clazz.currentHistoricCoverage.cm),""),f(),q(" ",t.clazz.coveredMethods," "),f(),g("title",t.clazz.currentHistoricCoverage.et),f(),q(" ",t.clazz.currentHistoricCoverage.cm," ")}}function eL(e,n){if(1&e&&(J(0),b(1),X()),2&e){const t=v(2);f(),q(" ",t.clazz.coveredMethods," ")}}function tL(e,n){if(1&e&&(C(0,"td",6),k(1,X2,5,6,"ng-container",1)(2,eL,2,1,"ng-container",1),_()),2&e){const t=v();f(),g("ngIf",null!==t.clazz.currentHistoricCoverage),f(),g("ngIf",null===t.clazz.currentHistoricCoverage)}}function nL(e,n){if(1&e&&(J(0),C(1,"div",8),b(2),_(),C(3,"div",7),b(4),_(),X()),2&e){const t=v(2);f(2),A(t.clazz.totalMethods),f(),g("title",t.clazz.currentHistoricCoverage.et),f(),A(t.clazz.currentHistoricCoverage.tm)}}function rL(e,n){if(1&e&&(J(0),b(1),X()),2&e){const t=v(2);f(),q(" ",t.clazz.totalMethods," ")}}function oL(e,n){if(1&e&&(C(0,"td",6),k(1,nL,5,3,"ng-container",1)(2,rL,2,1,"ng-container",1),_()),2&e){const t=v();f(),g("ngIf",null!==t.clazz.currentHistoricCoverage),f(),g("ngIf",null===t.clazz.currentHistoricCoverage)}}function iL(e,n){if(1&e&&N(0,"div",16),2&e){const t=v(2);Rn("title",t.translations.history+": "+t.translations.methodCoverage),g("historicCoverages",t.clazz.methodCoverageHistory)("ngClass",Aa(3,qf,null!==t.clazz.currentHistoricCoverage))}}function sL(e,n){if(1&e&&(J(0),C(1,"div"),b(2),_(),C(3,"div",7),b(4),_(),X()),2&e){const t=v(2);f(),sn("currenthistory ",t.getClassName(t.clazz.methodCoverage,t.clazz.currentHistoricCoverage.mcq),""),f(),q(" ",t.clazz.methodCoveragePercentage," "),f(),g("title",t.clazz.currentHistoricCoverage.et+": "+t.clazz.currentHistoricCoverage.methodCoverageRatioText),f(),q("",t.clazz.currentHistoricCoverage.mcq,"%")}}function aL(e,n){if(1&e&&(J(0),b(1),X()),2&e){const t=v(2);f(),q(" ",t.clazz.methodCoveragePercentage," ")}}function lL(e,n){if(1&e&&(C(0,"td",9),k(1,iL,1,5,"div",15)(2,sL,5,6,"ng-container",1)(3,aL,2,1,"ng-container",1),_()),2&e){const t=v();g("title",t.clazz.methodCoverageRatioText),f(),g("ngIf",t.clazz.methodCoverageHistory.length>1),f(),g("ngIf",null!==t.clazz.currentHistoricCoverage),f(),g("ngIf",null===t.clazz.currentHistoricCoverage)}}function cL(e,n){if(1&e&&(C(0,"td",6),N(1,"coverage-bar",12),_()),2&e){const t=v();f(),g("percentage",t.clazz.methodCoverage)}}function uL(e,n){if(1&e&&(C(0,"td",6),b(1),_()),2&e){const t=n.$implicit,r=v();f(),A(r.clazz.metrics[t.abbreviation])}}let dL=(()=>{class e{constructor(){this.translations={},this.lineCoverageAvailable=!1,this.branchCoverageAvailable=!1,this.methodCoverageAvailable=!1,this.visibleMetrics=[],this.historyComparisionDate=""}getClassName(t,r){return t>r?"lightgreen":t({"icon-up-dir_active":e,"icon-down-dir_active":n,"icon-down-dir":t});function fL(e,n){if(1&e){const t=Me();C(0,"popup",29),bt("visibleChange",function(o){Z(t);const i=v(2);return Xe(i.popupVisible,o)||(i.popupVisible=o),Q(o)})("showLineCoverageChange",function(o){Z(t);const i=v(2);return Xe(i.settings.showLineCoverage,o)||(i.settings.showLineCoverage=o),Q(o)})("showBranchCoverageChange",function(o){Z(t);const i=v(2);return Xe(i.settings.showBranchCoverage,o)||(i.settings.showBranchCoverage=o),Q(o)})("showMethodCoverageChange",function(o){Z(t);const i=v(2);return Xe(i.settings.showMethodCoverage,o)||(i.settings.showMethodCoverage=o),Q(o)})("visibleMetricsChange",function(o){Z(t);const i=v(2);return Xe(i.settings.visibleMetrics,o)||(i.settings.visibleMetrics=o),Q(o)}),_()}if(2&e){const t=v(2);ht("visible",t.popupVisible),g("translations",t.translations)("branchCoverageAvailable",t.branchCoverageAvailable)("methodCoverageAvailable",t.methodCoverageAvailable)("metrics",t.metrics),ht("showLineCoverage",t.settings.showLineCoverage)("showBranchCoverage",t.settings.showBranchCoverage)("showMethodCoverage",t.settings.showMethodCoverage)("visibleMetrics",t.settings.visibleMetrics)}}function hL(e,n){if(1&e&&(J(0),b(1),X()),2&e){const t=v(2);f(),A(t.translations.noGrouping)}}function pL(e,n){if(1&e&&(J(0),b(1),X()),2&e){const t=v(2);f(),A(t.translations.byAssembly)}}function gL(e,n){if(1&e&&(J(0),b(1),X()),2&e){const t=v(2);f(),A(t.translations.byNamespace+" "+t.settings.grouping)}}function mL(e,n){if(1&e&&(C(0,"option",33),b(1),_()),2&e){const t=n.$implicit;g("value",t),f(),A(t)}}function vL(e,n){1&e&&N(0,"br")}function _L(e,n){if(1&e&&(C(0,"option",41),b(1),_()),2&e){const t=v(4);f(),q(" ",t.translations.branchCoverageIncreaseOnly," ")}}function yL(e,n){if(1&e&&(C(0,"option",42),b(1),_()),2&e){const t=v(4);f(),q(" ",t.translations.branchCoverageDecreaseOnly," ")}}function CL(e,n){if(1&e&&(C(0,"option",43),b(1),_()),2&e){const t=v(4);f(),q(" ",t.translations.methodCoverageIncreaseOnly," ")}}function DL(e,n){if(1&e&&(C(0,"option",44),b(1),_()),2&e){const t=v(4);f(),q(" ",t.translations.methodCoverageDecreaseOnly," ")}}function wL(e,n){if(1&e){const t=Me();C(0,"div")(1,"select",30),bt("ngModelChange",function(o){Z(t);const i=v(3);return Xe(i.settings.historyComparisionType,o)||(i.settings.historyComparisionType=o),Q(o)}),C(2,"option",31),b(3),_(),C(4,"option",34),b(5),_(),C(6,"option",35),b(7),_(),C(8,"option",36),b(9),_(),k(10,_L,2,1,"option",37)(11,yL,2,1,"option",38)(12,CL,2,1,"option",39)(13,DL,2,1,"option",40),_()()}if(2&e){const t=v(3);f(),ht("ngModel",t.settings.historyComparisionType),f(2),A(t.translations.filter),f(2),A(t.translations.allChanges),f(2),A(t.translations.lineCoverageIncreaseOnly),f(2),A(t.translations.lineCoverageDecreaseOnly),f(),g("ngIf",t.branchCoverageAvailable),f(),g("ngIf",t.branchCoverageAvailable),f(),g("ngIf",t.methodCoverageAvailable),f(),g("ngIf",t.methodCoverageAvailable)}}function bL(e,n){if(1&e){const t=Me();J(0),C(1,"div"),b(2),C(3,"select",30),bt("ngModelChange",function(o){Z(t);const i=v(2);return Xe(i.settings.historyComparisionDate,o)||(i.settings.historyComparisionDate=o),Q(o)}),j("ngModelChange",function(){return Z(t),Q(v(2).updateCurrentHistoricCoverage())}),C(4,"option",31),b(5),_(),k(6,mL,2,2,"option",32),_()(),k(7,vL,1,0,"br",0)(8,wL,14,9,"div",0),X()}if(2&e){const t=v(2);f(2),q(" ",t.translations.compareHistory," "),f(),ht("ngModel",t.settings.historyComparisionDate),f(2),A(t.translations.date),f(),g("ngForOf",t.historicCoverageExecutionTimes),f(),g("ngIf",""!==t.settings.historyComparisionDate),f(),g("ngIf",""!==t.settings.historyComparisionDate)}}function IL(e,n){1&e&&N(0,"col",45)}function EL(e,n){1&e&&N(0,"col",46)}function ML(e,n){1&e&&N(0,"col",47)}function SL(e,n){1&e&&N(0,"col",48)}function TL(e,n){1&e&&N(0,"col",49)}function NL(e,n){1&e&&N(0,"col",50)}function AL(e,n){1&e&&N(0,"col",45)}function xL(e,n){1&e&&N(0,"col",48)}function OL(e,n){1&e&&N(0,"col",49)}function RL(e,n){1&e&&N(0,"col",50)}function FL(e,n){1&e&&N(0,"col",45)}function PL(e,n){1&e&&N(0,"col",48)}function kL(e,n){1&e&&N(0,"col",49)}function LL(e,n){1&e&&N(0,"col",50)}function VL(e,n){1&e&&N(0,"col",50)}function HL(e,n){if(1&e&&(C(0,"th",51),b(1),_()),2&e){const t=v(2);f(),A(t.translations.coverage)}}function BL(e,n){if(1&e&&(C(0,"th",52),b(1),_()),2&e){const t=v(2);f(),A(t.translations.branchCoverage)}}function jL(e,n){if(1&e&&(C(0,"th",52),b(1),_()),2&e){const t=v(2);f(),A(t.translations.methodCoverage)}}function $L(e,n){if(1&e&&(C(0,"th",53),b(1),_()),2&e){const t=v(2);Ht("colspan",t.settings.visibleMetrics.length),f(),A(t.translations.metrics)}}function UL(e,n){if(1&e){const t=Me();C(0,"th",54)(1,"a",3),j("click",function(o){return Z(t),Q(v(2).updateSorting("covered",o))}),N(2,"i",25),b(3),_()()}if(2&e){const t=v(2);f(2),g("ngClass",Ue(2,Et,"covered"===t.settings.sortBy&&"desc"===t.settings.sortOrder,"covered"===t.settings.sortBy&&"asc"===t.settings.sortOrder,"covered"!==t.settings.sortBy)),f(),A(t.translations.covered)}}function zL(e,n){if(1&e){const t=Me();C(0,"th",54)(1,"a",3),j("click",function(o){return Z(t),Q(v(2).updateSorting("uncovered",o))}),N(2,"i",25),b(3),_()()}if(2&e){const t=v(2);f(2),g("ngClass",Ue(2,Et,"uncovered"===t.settings.sortBy&&"desc"===t.settings.sortOrder,"uncovered"===t.settings.sortBy&&"asc"===t.settings.sortOrder,"uncovered"!==t.settings.sortBy)),f(),A(t.translations.uncovered)}}function GL(e,n){if(1&e){const t=Me();C(0,"th",54)(1,"a",3),j("click",function(o){return Z(t),Q(v(2).updateSorting("coverable",o))}),N(2,"i",25),b(3),_()()}if(2&e){const t=v(2);f(2),g("ngClass",Ue(2,Et,"coverable"===t.settings.sortBy&&"desc"===t.settings.sortOrder,"coverable"===t.settings.sortBy&&"asc"===t.settings.sortOrder,"coverable"!==t.settings.sortBy)),f(),A(t.translations.coverable)}}function qL(e,n){if(1&e){const t=Me();C(0,"th",54)(1,"a",3),j("click",function(o){return Z(t),Q(v(2).updateSorting("total",o))}),N(2,"i",25),b(3),_()()}if(2&e){const t=v(2);f(2),g("ngClass",Ue(2,Et,"total"===t.settings.sortBy&&"desc"===t.settings.sortOrder,"total"===t.settings.sortBy&&"asc"===t.settings.sortOrder,"total"!==t.settings.sortBy)),f(),A(t.translations.total)}}function WL(e,n){if(1&e){const t=Me();C(0,"th",55)(1,"a",3),j("click",function(o){return Z(t),Q(v(2).updateSorting("coverage",o))}),N(2,"i",25),b(3),_()()}if(2&e){const t=v(2);f(2),g("ngClass",Ue(2,Et,"coverage"===t.settings.sortBy&&"desc"===t.settings.sortOrder,"coverage"===t.settings.sortBy&&"asc"===t.settings.sortOrder,"coverage"!==t.settings.sortBy)),f(),A(t.translations.percentage)}}function ZL(e,n){if(1&e){const t=Me();C(0,"th",54)(1,"a",3),j("click",function(o){return Z(t),Q(v(2).updateSorting("covered_branches",o))}),N(2,"i",25),b(3),_()()}if(2&e){const t=v(2);f(2),g("ngClass",Ue(2,Et,"covered_branches"===t.settings.sortBy&&"desc"===t.settings.sortOrder,"covered_branches"===t.settings.sortBy&&"asc"===t.settings.sortOrder,"covered_branches"!==t.settings.sortBy)),f(),A(t.translations.covered)}}function QL(e,n){if(1&e){const t=Me();C(0,"th",54)(1,"a",3),j("click",function(o){return Z(t),Q(v(2).updateSorting("total_branches",o))}),N(2,"i",25),b(3),_()()}if(2&e){const t=v(2);f(2),g("ngClass",Ue(2,Et,"total_branches"===t.settings.sortBy&&"desc"===t.settings.sortOrder,"total_branches"===t.settings.sortBy&&"asc"===t.settings.sortOrder,"total_branches"!==t.settings.sortBy)),f(),A(t.translations.total)}}function YL(e,n){if(1&e){const t=Me();C(0,"th",55)(1,"a",3),j("click",function(o){return Z(t),Q(v(2).updateSorting("branchcoverage",o))}),N(2,"i",25),b(3),_()()}if(2&e){const t=v(2);f(2),g("ngClass",Ue(2,Et,"branchcoverage"===t.settings.sortBy&&"desc"===t.settings.sortOrder,"branchcoverage"===t.settings.sortBy&&"asc"===t.settings.sortOrder,"branchcoverage"!==t.settings.sortBy)),f(),A(t.translations.percentage)}}function KL(e,n){if(1&e){const t=Me();C(0,"th",54)(1,"a",3),j("click",function(o){return Z(t),Q(v(2).updateSorting("covered_methods",o))}),N(2,"i",25),b(3),_()()}if(2&e){const t=v(2);f(2),g("ngClass",Ue(2,Et,"covered_methods"===t.settings.sortBy&&"desc"===t.settings.sortOrder,"covered_methods"===t.settings.sortBy&&"asc"===t.settings.sortOrder,"covered_methods"!==t.settings.sortBy)),f(),A(t.translations.covered)}}function JL(e,n){if(1&e){const t=Me();C(0,"th",54)(1,"a",3),j("click",function(o){return Z(t),Q(v(2).updateSorting("total_methods",o))}),N(2,"i",25),b(3),_()()}if(2&e){const t=v(2);f(2),g("ngClass",Ue(2,Et,"total_methods"===t.settings.sortBy&&"desc"===t.settings.sortOrder,"total_methods"===t.settings.sortBy&&"asc"===t.settings.sortOrder,"total_methods"!==t.settings.sortBy)),f(),A(t.translations.total)}}function XL(e,n){if(1&e){const t=Me();C(0,"th",55)(1,"a",3),j("click",function(o){return Z(t),Q(v(2).updateSorting("methodcoverage",o))}),N(2,"i",25),b(3),_()()}if(2&e){const t=v(2);f(2),g("ngClass",Ue(2,Et,"methodcoverage"===t.settings.sortBy&&"desc"===t.settings.sortOrder,"methodcoverage"===t.settings.sortBy&&"asc"===t.settings.sortOrder,"methodcoverage"!==t.settings.sortBy)),f(),A(t.translations.percentage)}}function eV(e,n){if(1&e){const t=Me();C(0,"th")(1,"a",3),j("click",function(o){const i=Z(t).$implicit;return Q(v(2).updateSorting(i.abbreviation,o))}),N(2,"i",25),b(3),_(),C(4,"a",56),N(5,"i",57),_()()}if(2&e){const t=n.$implicit,r=v(2);f(2),g("ngClass",Ue(3,Et,r.settings.sortBy===t.abbreviation&&"desc"===r.settings.sortOrder,r.settings.sortBy===t.abbreviation&&"asc"===r.settings.sortOrder,r.settings.sortBy!==t.abbreviation)),f(),A(t.name),f(),Rn("href",t.explanationUrl,Sn)}}function tV(e,n){if(1&e&&N(0,"tr",59),2&e){const t=v().$implicit,r=v(2);g("element",t)("collapsed",t.collapsed)("lineCoverageAvailable",r.settings.showLineCoverage)("branchCoverageAvailable",r.branchCoverageAvailable&&r.settings.showBranchCoverage)("methodCoverageAvailable",r.methodCoverageAvailable&&r.settings.showMethodCoverage)("visibleMetrics",r.settings.visibleMetrics)}}function nV(e,n){if(1&e&&N(0,"tr",61),2&e){const t=v().$implicit,r=v(3);g("clazz",t)("translations",r.translations)("lineCoverageAvailable",r.settings.showLineCoverage)("branchCoverageAvailable",r.branchCoverageAvailable&&r.settings.showBranchCoverage)("methodCoverageAvailable",r.methodCoverageAvailable&&r.settings.showMethodCoverage)("visibleMetrics",r.settings.visibleMetrics)("historyComparisionDate",r.settings.historyComparisionDate)}}function rV(e,n){if(1&e&&(J(0),k(1,nV,1,7,"tr",60),X()),2&e){const t=n.$implicit,r=v().$implicit,o=v(2);f(),g("ngIf",!r.collapsed&&t.visible(o.settings.filter,o.settings.historyComparisionType))}}function oV(e,n){if(1&e&&N(0,"tr",64),2&e){const t=v().$implicit,r=v(5);g("clazz",t)("translations",r.translations)("lineCoverageAvailable",r.settings.showLineCoverage)("branchCoverageAvailable",r.branchCoverageAvailable&&r.settings.showBranchCoverage)("methodCoverageAvailable",r.methodCoverageAvailable&&r.settings.showMethodCoverage)("visibleMetrics",r.settings.visibleMetrics)("historyComparisionDate",r.settings.historyComparisionDate)}}function iV(e,n){if(1&e&&(J(0),k(1,oV,1,7,"tr",63),X()),2&e){const t=n.$implicit,r=v(2).$implicit,o=v(3);f(),g("ngIf",!r.collapsed&&t.visible(o.settings.filter,o.settings.historyComparisionType))}}function sV(e,n){if(1&e&&(J(0),N(1,"tr",62),k(2,iV,2,1,"ng-container",28),X()),2&e){const t=v().$implicit,r=v(3);f(),g("element",t)("collapsed",t.collapsed)("lineCoverageAvailable",r.settings.showLineCoverage)("branchCoverageAvailable",r.branchCoverageAvailable&&r.settings.showBranchCoverage)("methodCoverageAvailable",r.methodCoverageAvailable&&r.settings.showMethodCoverage)("visibleMetrics",r.settings.visibleMetrics),f(),g("ngForOf",t.classes)}}function aV(e,n){if(1&e&&(J(0),k(1,sV,3,7,"ng-container",0),X()),2&e){const t=n.$implicit,r=v().$implicit,o=v(2);f(),g("ngIf",!r.collapsed&&t.visible(o.settings.filter,o.settings.historyComparisionType))}}function lV(e,n){if(1&e&&(J(0),k(1,tV,1,6,"tr",58)(2,rV,2,1,"ng-container",28)(3,aV,2,1,"ng-container",28),X()),2&e){const t=n.$implicit,r=v(2);f(),g("ngIf",t.visible(r.settings.filter,r.settings.historyComparisionType)),f(),g("ngForOf",t.classes),f(),g("ngForOf",t.subElements)}}function cV(e,n){if(1&e){const t=Me();C(0,"div"),k(1,fL,1,9,"popup",1),C(2,"div",2)(3,"div")(4,"a",3),j("click",function(o){return Z(t),Q(v().collapseAll(o))}),b(5),_(),b(6," | "),C(7,"a",3),j("click",function(o){return Z(t),Q(v().expandAll(o))}),b(8),_()(),C(9,"div",4)(10,"span",5),k(11,hL,2,1,"ng-container",0)(12,pL,2,1,"ng-container",0)(13,gL,2,1,"ng-container",0),_(),N(14,"br"),b(15),C(16,"input",6),bt("ngModelChange",function(o){Z(t);const i=v();return Xe(i.settings.grouping,o)||(i.settings.grouping=o),Q(o)}),j("ngModelChange",function(){return Z(t),Q(v().updateCoverageInfo())}),_()(),C(17,"div",4),k(18,bL,9,6,"ng-container",0),_(),C(19,"div",7)(20,"div")(21,"button",8),j("click",function(){return Z(t),Q(v().popupVisible=!0)}),N(22,"i",9),b(23),_()(),N(24,"br"),C(25,"div")(26,"span"),b(27),_(),C(28,"input",10),bt("ngModelChange",function(o){Z(t);const i=v();return Xe(i.settings.filter,o)||(i.settings.filter=o),Q(o)}),_()()()(),C(29,"div",11)(30,"table",12)(31,"colgroup"),N(32,"col",13),k(33,IL,1,0,"col",14)(34,EL,1,0,"col",15)(35,ML,1,0,"col",16)(36,SL,1,0,"col",17)(37,TL,1,0,"col",18)(38,NL,1,0,"col",19)(39,AL,1,0,"col",14)(40,xL,1,0,"col",17)(41,OL,1,0,"col",18)(42,RL,1,0,"col",19)(43,FL,1,0,"col",14)(44,PL,1,0,"col",17)(45,kL,1,0,"col",18)(46,LL,1,0,"col",19)(47,VL,1,0,"col",20),_(),C(48,"thead")(49,"tr",21),N(50,"th"),k(51,HL,2,1,"th",22)(52,BL,2,1,"th",23)(53,jL,2,1,"th",23)(54,$L,2,2,"th",24),_(),C(55,"tr")(56,"th")(57,"a",3),j("click",function(o){return Z(t),Q(v().updateSorting("name",o))}),N(58,"i",25),b(59),_()(),k(60,UL,4,6,"th",26)(61,zL,4,6,"th",26)(62,GL,4,6,"th",26)(63,qL,4,6,"th",26)(64,WL,4,6,"th",27)(65,ZL,4,6,"th",26)(66,QL,4,6,"th",26)(67,YL,4,6,"th",27)(68,KL,4,6,"th",26)(69,JL,4,6,"th",26)(70,XL,4,6,"th",27)(71,eV,6,7,"th",28),_()(),C(72,"tbody"),k(73,lV,4,3,"ng-container",28),_()()()()}if(2&e){const t=v();f(),g("ngIf",t.popupVisible),f(4),A(t.translations.collapseAll),f(3),A(t.translations.expandAll),f(3),g("ngIf",-1===t.settings.grouping),f(),g("ngIf",0===t.settings.grouping),f(),g("ngIf",t.settings.grouping>0),f(2),q(" ",t.translations.grouping," "),f(),g("max",t.settings.groupingMaximum),ht("ngModel",t.settings.grouping),f(2),g("ngIf",t.historicCoverageExecutionTimes.length>0),f(5),A(t.metrics.length>0?t.translations.selectCoverageTypesAndMetrics:t.translations.selectCoverageTypes),f(4),q("",t.translations.filter," "),f(),ht("ngModel",t.settings.filter),f(5),g("ngIf",t.settings.showLineCoverage),f(),g("ngIf",t.settings.showLineCoverage),f(),g("ngIf",t.settings.showLineCoverage),f(),g("ngIf",t.settings.showLineCoverage),f(),g("ngIf",t.settings.showLineCoverage),f(),g("ngIf",t.settings.showLineCoverage),f(),g("ngIf",t.branchCoverageAvailable&&t.settings.showBranchCoverage),f(),g("ngIf",t.branchCoverageAvailable&&t.settings.showBranchCoverage),f(),g("ngIf",t.branchCoverageAvailable&&t.settings.showBranchCoverage),f(),g("ngIf",t.branchCoverageAvailable&&t.settings.showBranchCoverage),f(),g("ngIf",t.methodCoverageAvailable&&t.settings.showMethodCoverage),f(),g("ngIf",t.methodCoverageAvailable&&t.settings.showMethodCoverage),f(),g("ngIf",t.methodCoverageAvailable&&t.settings.showMethodCoverage),f(),g("ngIf",t.methodCoverageAvailable&&t.settings.showMethodCoverage),f(),g("ngForOf",t.settings.visibleMetrics),f(4),g("ngIf",t.settings.showLineCoverage),f(),g("ngIf",t.branchCoverageAvailable&&t.settings.showBranchCoverage),f(),g("ngIf",t.methodCoverageAvailable&&t.settings.showMethodCoverage),f(),g("ngIf",t.settings.visibleMetrics.length>0),f(4),g("ngClass",Ue(47,Et,"name"===t.settings.sortBy&&"desc"===t.settings.sortOrder,"name"===t.settings.sortBy&&"asc"===t.settings.sortOrder,"name"!==t.settings.sortBy)),f(),A(t.translations.name),f(),g("ngIf",t.settings.showLineCoverage),f(),g("ngIf",t.settings.showLineCoverage),f(),g("ngIf",t.settings.showLineCoverage),f(),g("ngIf",t.settings.showLineCoverage),f(),g("ngIf",t.settings.showLineCoverage),f(),g("ngIf",t.branchCoverageAvailable&&t.settings.showBranchCoverage),f(),g("ngIf",t.branchCoverageAvailable&&t.settings.showBranchCoverage),f(),g("ngIf",t.branchCoverageAvailable&&t.settings.showBranchCoverage),f(),g("ngIf",t.methodCoverageAvailable&&t.settings.showMethodCoverage),f(),g("ngIf",t.methodCoverageAvailable&&t.settings.showMethodCoverage),f(),g("ngIf",t.methodCoverageAvailable&&t.settings.showMethodCoverage),f(),g("ngForOf",t.settings.visibleMetrics),f(2),g("ngForOf",t.codeElements)}}let uV=(()=>{class e{constructor(t){this.queryString="",this.historicCoverageExecutionTimes=[],this.branchCoverageAvailable=!1,this.methodCoverageAvailable=!1,this.metrics=[],this.codeElements=[],this.translations={},this.popupVisible=!1,this.settings=new $k,this.window=t.nativeWindow}ngOnInit(){this.historicCoverageExecutionTimes=this.window.historicCoverageExecutionTimes,this.branchCoverageAvailable=this.window.branchCoverageAvailable,this.methodCoverageAvailable=this.window.methodCoverageAvailable,this.metrics=this.window.metrics,this.translations=this.window.translations,At.maximumDecimalPlacesForCoverageQuotas=this.window.maximumDecimalPlacesForCoverageQuotas;let t=!1;if(void 0!==this.window.history&&void 0!==this.window.history.replaceState&&null!==this.window.history.state&&null!=this.window.history.state.coverageInfoSettings)console.log("Coverage info: Restoring from history",this.window.history.state.coverageInfoSettings),t=!0,this.settings=JSON.parse(JSON.stringify(this.window.history.state.coverageInfoSettings));else{let o=0,i=this.window.assemblies;for(let s=0;s-1&&(this.queryString=window.location.href.substring(r)),this.updateCoverageInfo(),t&&this.restoreCollapseState()}onBeforeUnload(){if(this.saveCollapseState(),void 0!==this.window.history&&void 0!==this.window.history.replaceState){console.log("Coverage info: Updating history",this.settings);let t=new Gw;null!==window.history.state&&(t=JSON.parse(JSON.stringify(this.window.history.state))),t.coverageInfoSettings=JSON.parse(JSON.stringify(this.settings)),window.history.replaceState(t,"")}}updateCoverageInfo(){let t=(new Date).getTime(),r=this.window.assemblies,o=[],i=0;if(0===this.settings.grouping)for(let l=0;l{for(let o=0;o{for(let i=0;it&&(o[i].collapsed=this.settings.collapseStates[t]),t++,r(o[i].subElements)};r(this.codeElements)}static#e=this.\u0275fac=function(r){return new(r||e)(T(Gf))};static#t=this.\u0275cmp=un({type:e,selectors:[["coverage-info"]],hostBindings:function(r,o){1&r&&j("beforeunload",function(){return o.onBeforeUnload()},0,lu)},decls:1,vars:1,consts:[[4,"ngIf"],[3,"visible","translations","branchCoverageAvailable","methodCoverageAvailable","metrics","showLineCoverage","showBranchCoverage","showMethodCoverage","visibleMetrics","visibleChange","showLineCoverageChange","showBranchCoverageChange","showMethodCoverageChange","visibleMetricsChange",4,"ngIf"],[1,"customizebox"],["href","#",3,"click"],[1,"col-center"],[1,"slider-label"],["type","range","step","1","min","-1",3,"ngModelChange","max","ngModel"],[1,"col-right"],["type","button",3,"click"],[1,"icon-cog"],["type","text",3,"ngModelChange","ngModel"],[1,"table-responsive"],[1,"overview","table-fixed","stripped"],[1,"column-min-200"],["class","column90",4,"ngIf"],["class","column105",4,"ngIf"],["class","column100",4,"ngIf"],["class","column70",4,"ngIf"],["class","column98",4,"ngIf"],["class","column112",4,"ngIf"],["class","column112",4,"ngFor","ngForOf"],[1,"header"],["class","center","colspan","6",4,"ngIf"],["class","center","colspan","4",4,"ngIf"],["class","center",4,"ngIf"],[1,"icon-down-dir",3,"ngClass"],["class","right",4,"ngIf"],["class","center","colspan","2",4,"ngIf"],[4,"ngFor","ngForOf"],[3,"visibleChange","showLineCoverageChange","showBranchCoverageChange","showMethodCoverageChange","visibleMetricsChange","visible","translations","branchCoverageAvailable","methodCoverageAvailable","metrics","showLineCoverage","showBranchCoverage","showMethodCoverage","visibleMetrics"],[3,"ngModelChange","ngModel"],["value",""],[3,"value",4,"ngFor","ngForOf"],[3,"value"],["value","allChanges"],["value","lineCoverageIncreaseOnly"],["value","lineCoverageDecreaseOnly"],["value","branchCoverageIncreaseOnly",4,"ngIf"],["value","branchCoverageDecreaseOnly",4,"ngIf"],["value","methodCoverageIncreaseOnly",4,"ngIf"],["value","methodCoverageDecreaseOnly",4,"ngIf"],["value","branchCoverageIncreaseOnly"],["value","branchCoverageDecreaseOnly"],["value","methodCoverageIncreaseOnly"],["value","methodCoverageDecreaseOnly"],[1,"column90"],[1,"column105"],[1,"column100"],[1,"column70"],[1,"column98"],[1,"column112"],["colspan","6",1,"center"],["colspan","4",1,"center"],[1,"center"],[1,"right"],["colspan","2",1,"center"],["target","_blank",3,"href"],[1,"icon-info-circled"],["codeelement-row","",3,"element","collapsed","lineCoverageAvailable","branchCoverageAvailable","methodCoverageAvailable","visibleMetrics",4,"ngIf"],["codeelement-row","",3,"element","collapsed","lineCoverageAvailable","branchCoverageAvailable","methodCoverageAvailable","visibleMetrics"],["class-row","",3,"clazz","translations","lineCoverageAvailable","branchCoverageAvailable","methodCoverageAvailable","visibleMetrics","historyComparisionDate",4,"ngIf"],["class-row","",3,"clazz","translations","lineCoverageAvailable","branchCoverageAvailable","methodCoverageAvailable","visibleMetrics","historyComparisionDate"],["codeelement-row","",1,"namespace",3,"element","collapsed","lineCoverageAvailable","branchCoverageAvailable","methodCoverageAvailable","visibleMetrics"],["class","namespace","class-row","",3,"clazz","translations","lineCoverageAvailable","branchCoverageAvailable","methodCoverageAvailable","visibleMetrics","historyComparisionDate",4,"ngIf"],["class-row","",1,"namespace",3,"clazz","translations","lineCoverageAvailable","branchCoverageAvailable","methodCoverageAvailable","visibleMetrics","historyComparisionDate"]],template:function(r,o){1&r&&k(0,cV,74,51,"div",0),2&r&&g("ngIf",o.codeElements.length>0)},dependencies:[Vi,_o,cr,Bf,$f,Ui,kf,Qi,cl,Zi,Jk,y2,dL],encapsulation:2})}return e})();class dV{constructor(){this.assembly="",this.numberOfRiskHotspots=10,this.filter="",this.sortBy="",this.sortOrder="asc"}}const _l=(e,n,t)=>({"icon-up-dir_active":e,"icon-down-dir_active":n,"icon-down-dir":t}),fV=(e,n)=>({lightred:e,lightgreen:n});function hV(e,n){if(1&e&&(C(0,"option",16),b(1),_()),2&e){const t=n.$implicit;g("value",t),f(),A(t)}}function pV(e,n){if(1&e&&(C(0,"span"),b(1),_()),2&e){const t=v(2);f(),A(t.translations.top)}}function gV(e,n){1&e&&(C(0,"option",23),b(1,"20"),_())}function mV(e,n){1&e&&(C(0,"option",24),b(1,"50"),_())}function vV(e,n){1&e&&(C(0,"option",25),b(1,"100"),_())}function _V(e,n){if(1&e&&(C(0,"option",16),b(1),_()),2&e){const t=v(3);g("value",t.totalNumberOfRiskHotspots),f(),A(t.translations.all)}}function yV(e,n){if(1&e){const t=Me();C(0,"select",17),bt("ngModelChange",function(o){Z(t);const i=v(2);return Xe(i.settings.numberOfRiskHotspots,o)||(i.settings.numberOfRiskHotspots=o),Q(o)}),C(1,"option",18),b(2,"10"),_(),k(3,gV,2,0,"option",19)(4,mV,2,0,"option",20)(5,vV,2,0,"option",21)(6,_V,2,2,"option",22),_()}if(2&e){const t=v(2);ht("ngModel",t.settings.numberOfRiskHotspots),f(3),g("ngIf",t.totalNumberOfRiskHotspots>10),f(),g("ngIf",t.totalNumberOfRiskHotspots>20),f(),g("ngIf",t.totalNumberOfRiskHotspots>50),f(),g("ngIf",t.totalNumberOfRiskHotspots>100)}}function CV(e,n){1&e&&N(0,"col",26)}function DV(e,n){if(1&e){const t=Me();C(0,"th")(1,"a",13),j("click",function(o){const i=Z(t).index;return Q(v(2).updateSorting(""+i,o))}),N(2,"i",14),b(3),_(),C(4,"a",27),N(5,"i",28),_()()}if(2&e){const t=n.$implicit,r=n.index,o=v(2);f(2),g("ngClass",Ue(3,_l,o.settings.sortBy===""+r&&"desc"===o.settings.sortOrder,o.settings.sortBy===""+r&&"asc"===o.settings.sortOrder,o.settings.sortBy!==""+r)),f(),A(t.name),f(),Rn("href",t.explanationUrl,Sn)}}function wV(e,n){if(1&e&&(C(0,"td",32),b(1),_()),2&e){const t=n.$implicit;g("ngClass",Td(2,fV,t.exceeded,!t.exceeded)),f(),A(t.value)}}function bV(e,n){if(1&e&&(C(0,"tr")(1,"td"),b(2),_(),C(3,"td")(4,"a",29),b(5),_()(),C(6,"td",30)(7,"a",29),b(8),_()(),k(9,wV,2,5,"td",31),_()),2&e){const t=n.$implicit,r=v(2);f(2),A(t.assembly),f(2),g("href",t.reportPath+r.queryString,Sn),f(),A(t.class),f(),g("title",t.methodName),f(),g("href",t.reportPath+r.queryString+"#file"+t.fileIndex+"_line"+t.line,Sn),f(),q(" ",t.methodShortName," "),f(),g("ngForOf",t.metrics)}}function IV(e,n){if(1&e){const t=Me();C(0,"div")(1,"div",1)(2,"div")(3,"select",2),bt("ngModelChange",function(o){Z(t);const i=v();return Xe(i.settings.assembly,o)||(i.settings.assembly=o),Q(o)}),j("ngModelChange",function(){return Z(t),Q(v().updateRiskHotpots())}),C(4,"option",3),b(5),_(),k(6,hV,2,2,"option",4),_()(),C(7,"div",5),k(8,pV,2,1,"span",0)(9,yV,7,5,"select",6),_(),N(10,"div",5),C(11,"div",7)(12,"span"),b(13),_(),C(14,"input",8),bt("ngModelChange",function(o){Z(t);const i=v();return Xe(i.settings.filter,o)||(i.settings.filter=o),Q(o)}),j("ngModelChange",function(){return Z(t),Q(v().updateRiskHotpots())}),_()()(),C(15,"div",9)(16,"table",10)(17,"colgroup"),N(18,"col",11)(19,"col",11)(20,"col",11),k(21,CV,1,0,"col",12),_(),C(22,"thead")(23,"tr")(24,"th")(25,"a",13),j("click",function(o){return Z(t),Q(v().updateSorting("assembly",o))}),N(26,"i",14),b(27),_()(),C(28,"th")(29,"a",13),j("click",function(o){return Z(t),Q(v().updateSorting("class",o))}),N(30,"i",14),b(31),_()(),C(32,"th")(33,"a",13),j("click",function(o){return Z(t),Q(v().updateSorting("method",o))}),N(34,"i",14),b(35),_()(),k(36,DV,6,7,"th",15),_()(),C(37,"tbody"),k(38,bV,10,7,"tr",15),function Ny(e,n){const t=K();let r;const o=e+B;t.firstCreatePass?(r=function P1(e,n){if(n)for(let t=n.length-1;t>=0;t--){const r=n[t];if(e===r.name)return r}}(n,t.pipeRegistry),t.data[o]=r,r.onDestroy&&(t.destroyHooks??=[]).push(o,r.onDestroy)):r=t.data[o];const i=r.factory||(r.factory=$n(r.type)),a=at(T);try{const l=Ss(!1),c=i();return Ss(l),function a1(e,n,t,r){t>=e.data.length&&(e.data[t]=null,e.blueprint[t]=null),n[t]=r}(t,D(),o,c),c}finally{at(a)}}(39,"slice"),_()()()()}if(2&e){const t=v();f(3),ht("ngModel",t.settings.assembly),f(2),A(t.translations.assembly),f(),g("ngForOf",t.assemblies),f(2),g("ngIf",t.totalNumberOfRiskHotspots>10),f(),g("ngIf",t.totalNumberOfRiskHotspots>10),f(4),q("",t.translations.filter," "),f(),ht("ngModel",t.settings.filter),f(7),g("ngForOf",t.riskHotspotMetrics),f(5),g("ngClass",Ue(20,_l,"assembly"===t.settings.sortBy&&"desc"===t.settings.sortOrder,"assembly"===t.settings.sortBy&&"asc"===t.settings.sortOrder,"assembly"!==t.settings.sortBy)),f(),A(t.translations.assembly),f(3),g("ngClass",Ue(24,_l,"class"===t.settings.sortBy&&"desc"===t.settings.sortOrder,"class"===t.settings.sortBy&&"asc"===t.settings.sortOrder,"class"!==t.settings.sortBy)),f(),A(t.translations.class),f(3),g("ngClass",Ue(28,_l,"method"===t.settings.sortBy&&"desc"===t.settings.sortOrder,"method"===t.settings.sortBy&&"asc"===t.settings.sortOrder,"method"!==t.settings.sortBy)),f(),A(t.translations.method),f(),g("ngForOf",t.riskHotspotMetrics),f(2),g("ngForOf",Ay(39,16,t.riskHotspots,0,t.settings.numberOfRiskHotspots))}}let EV=(()=>{class e{constructor(t){this.queryString="",this.riskHotspotMetrics=[],this.riskHotspots=[],this.totalNumberOfRiskHotspots=0,this.assemblies=[],this.translations={},this.settings=new dV,this.window=t.nativeWindow}ngOnInit(){this.riskHotspotMetrics=this.window.riskHotspotMetrics,this.translations=this.window.translations,void 0!==this.window.history&&void 0!==this.window.history.replaceState&&null!==this.window.history.state&&null!=this.window.history.state.riskHotspotsSettings&&(console.log("Risk hotspots: Restoring from history",this.window.history.state.riskHotspotsSettings),this.settings=JSON.parse(JSON.stringify(this.window.history.state.riskHotspotsSettings)));const t=window.location.href.indexOf("?");t>-1&&(this.queryString=window.location.href.substring(t)),this.updateRiskHotpots()}onDonBeforeUnlodad(){if(void 0!==this.window.history&&void 0!==this.window.history.replaceState){console.log("Risk hotspots: Updating history",this.settings);let t=new Gw;null!==window.history.state&&(t=JSON.parse(JSON.stringify(this.window.history.state))),t.riskHotspotsSettings=JSON.parse(JSON.stringify(this.settings)),window.history.replaceState(t,"")}}updateRiskHotpots(){const t=this.window.riskHotspots;if(this.totalNumberOfRiskHotspots=t.length,0===this.assemblies.length){let s=[];for(let a=0;a0)},dependencies:[Vi,_o,cr,Bf,$f,Ui,Qi,cl,Zi,rD],encapsulation:2})}return e})(),MV=(()=>{class e{static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275mod=Un({type:e,bootstrap:[EV,uV]});static#n=this.\u0275inj=wn({providers:[Gf],imports:[dP,jk]})}return e})();cP().bootstrapModule(MV).catch(e=>console.error(e))}},wo=>{wo(wo.s=403)}]); \ No newline at end of file diff --git a/coveragereport/mysqlconnector.dll_ActivitySourceHelper.html b/coveragereport/mysqlconnector.dll_ActivitySourceHelper.html new file mode 100644 index 0000000..b662c8d --- /dev/null +++ b/coveragereport/mysqlconnector.dll_ActivitySourceHelper.html @@ -0,0 +1,176 @@ + + + + + + + +MySqlConnector.Utilities.ActivitySourceHelper - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:MySqlConnector.Utilities.ActivitySourceHelper
Assembly:mysqlconnector.dll
File(s):/_/src/MySqlConnector/Utilities/ActivitySourceHelper.cs
+
+
+
+
+
+
+
Line coverage
+
+
40%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:8
Uncovered lines:12
Coverable lines:20
Total lines:65
Line coverage:40%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+
+ +++++ + + + + + + + + +
MethodBlocks covered Blocks not covered
StartActivity(...)47
SetException(...)017
CopyTags(...)216
ActivitySourceHelper()50
GetVersion()50
+
+

File(s)

+

/_/src/MySqlConnector/Utilities/ActivitySourceHelper.cs

+

File '/_/src/MySqlConnector/Utilities/ActivitySourceHelper.cs' does not exist (any more).

+
+
+ + \ No newline at end of file diff --git a/coveragereport/mysqlconnector.dll_ArraySegmentHolder_T_.html b/coveragereport/mysqlconnector.dll_ArraySegmentHolder_T_.html new file mode 100644 index 0000000..9d351e6 --- /dev/null +++ b/coveragereport/mysqlconnector.dll_ArraySegmentHolder_T_.html @@ -0,0 +1,171 @@ + + + + + + + +MySqlConnector.Protocol.Serialization.ArraySegmentHolder<T> - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:MySqlConnector.Protocol.Serialization.ArraySegmentHolder<T>
Assembly:mysqlconnector.dll
File(s):/_/src/MySqlConnector/Protocol/Serialization/ArraySegmentHolder.cs
+
+
+
+
+
+
+
Line coverage
+
+
57%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:4
Uncovered lines:3
Coverable lines:7
Total lines:21
Line coverage:57.1%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+
+ +++++ + + + + +
MethodBlocks covered Blocks not covered
Clear()44
+
+

File(s)

+

/_/src/MySqlConnector/Protocol/Serialization/ArraySegmentHolder.cs

+

File '/_/src/MySqlConnector/Protocol/Serialization/ArraySegmentHolder.cs' does not exist (any more).

+
+
+ + \ No newline at end of file diff --git a/coveragereport/mysqlconnector.dll_AuthGSSAPI.html b/coveragereport/mysqlconnector.dll_AuthGSSAPI.html new file mode 100644 index 0000000..7ff2ea2 --- /dev/null +++ b/coveragereport/mysqlconnector.dll_AuthGSSAPI.html @@ -0,0 +1,168 @@ + + + + + + + +MySqlConnector.Protocol.Serialization.AuthGSSAPI - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:MySqlConnector.Protocol.Serialization.AuthGSSAPI
Assembly:mysqlconnector.dll
File(s):/_/src/MySqlConnector/Protocol/Serialization/AuthGSSAPI.cs
+
+
+
+
+
+
+
Line coverage
+
+
0%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:0
Uncovered lines:14
Coverable lines:14
Total lines:235
Line coverage:0%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+
+ +++++ + + + + + +
MethodBlocks covered Blocks not covered
GetServicePrincipalName(...)07
AuthenticateAsync()070
+
+

File(s)

+

/_/src/MySqlConnector/Protocol/Serialization/AuthGSSAPI.cs

+

File '/_/src/MySqlConnector/Protocol/Serialization/AuthGSSAPI.cs' does not exist (any more).

+
+
+ + \ No newline at end of file diff --git a/coveragereport/mysqlconnector.dll_AuthenticationMethodSwitchRequestPayload.html b/coveragereport/mysqlconnector.dll_AuthenticationMethodSwitchRequestPayload.html new file mode 100644 index 0000000..416e0ab --- /dev/null +++ b/coveragereport/mysqlconnector.dll_AuthenticationMethodSwitchRequestPayload.html @@ -0,0 +1,170 @@ + + + + + + + +MySqlConnector.Protocol.Payloads.AuthenticationMethodSwitchRequestPayload - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:MySqlConnector.Protocol.Payloads.AuthenticationMethodSwitchRequestPayload
Assembly:mysqlconnector.dll
File(s):/_/src/MySqlConnector/Protocol/Payloads/AuthenticationMethodSwitchRequestPayload.cs
+
+
+
+
+
+
+
Line coverage
+
+
0%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:0
Uncovered lines:13
Coverable lines:13
Total lines:40
Line coverage:0%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+
+ +++++ + + + + + +
MethodBlocks covered Blocks not covered
Create(...)015
AuthenticationMethodSwitchRequestPayload(...)01
+
+

File(s)

+

/_/src/MySqlConnector/Protocol/Payloads/AuthenticationMethodSwitchRequestPayload.cs

+

File '/_/src/MySqlConnector/Protocol/Payloads/AuthenticationMethodSwitchRequestPayload.cs' does not exist (any more).

+
+
+ + \ No newline at end of file diff --git a/coveragereport/mysqlconnector.dll_AuthenticationMoreDataPayload.html b/coveragereport/mysqlconnector.dll_AuthenticationMoreDataPayload.html new file mode 100644 index 0000000..8a10daf --- /dev/null +++ b/coveragereport/mysqlconnector.dll_AuthenticationMoreDataPayload.html @@ -0,0 +1,169 @@ + + + + + + + +MySqlConnector.Protocol.Payloads.AuthenticationMoreDataPayload - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:MySqlConnector.Protocol.Payloads.AuthenticationMoreDataPayload
Assembly:mysqlconnector.dll
File(s):/_/src/MySqlConnector/Protocol/Payloads/AuthenticationMoreDataPayload.cs
+
+
+
+
+
+
+
Line coverage
+
+
0%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:0
Uncovered lines:5
Coverable lines:5
Total lines:19
Line coverage:0%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+
+ +++++ + + + + + +
MethodBlocks covered Blocks not covered
Create(...)07
AuthenticationMoreDataPayload(...)01
+
+

File(s)

+

/_/src/MySqlConnector/Protocol/Payloads/AuthenticationMoreDataPayload.cs

+

File '/_/src/MySqlConnector/Protocol/Payloads/AuthenticationMoreDataPayload.cs' does not exist (any more).

+
+
+ + \ No newline at end of file diff --git a/coveragereport/mysqlconnector.dll_AuthenticationPlugins.html b/coveragereport/mysqlconnector.dll_AuthenticationPlugins.html new file mode 100644 index 0000000..c59662f --- /dev/null +++ b/coveragereport/mysqlconnector.dll_AuthenticationPlugins.html @@ -0,0 +1,170 @@ + + + + + + + +MySqlConnector.Authentication.AuthenticationPlugins - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:MySqlConnector.Authentication.AuthenticationPlugins
Assembly:mysqlconnector.dll
File(s):/_/src/MySqlConnector/Authentication/AuthenticationPlugins.cs
+
+
+
+
+
+
+
Line coverage
+
+
0%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:0
Uncovered lines:10
Coverable lines:10
Total lines:40
Line coverage:0%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+
+ +++++ + + + + + + +
MethodBlocks covered Blocks not covered
Register(...)012
TryGetPlugin(...)08
AuthenticationPlugins()03
+
+

File(s)

+

/_/src/MySqlConnector/Authentication/AuthenticationPlugins.cs

+

File '/_/src/MySqlConnector/Authentication/AuthenticationPlugins.cs' does not exist (any more).

+
+
+ + \ No newline at end of file diff --git a/coveragereport/mysqlconnector.dll_AuthenticationUtility.html b/coveragereport/mysqlconnector.dll_AuthenticationUtility.html new file mode 100644 index 0000000..d2cb701 --- /dev/null +++ b/coveragereport/mysqlconnector.dll_AuthenticationUtility.html @@ -0,0 +1,174 @@ + + + + + + + +MySqlConnector.Protocol.Serialization.AuthenticationUtility - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:MySqlConnector.Protocol.Serialization.AuthenticationUtility
Assembly:mysqlconnector.dll
File(s):/_/src/MySqlConnector/Protocol/Serialization/AuthenticationUtility.cs
+
+
+
+
+
+
+
Line coverage
+
+
43%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:14
Uncovered lines:18
Coverable lines:32
Total lines:108
Line coverage:43.7%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+ +

File(s)

+

/_/src/MySqlConnector/Protocol/Serialization/AuthenticationUtility.cs

+

File '/_/src/MySqlConnector/Protocol/Serialization/AuthenticationUtility.cs' does not exist (any more).

+
+
+ + \ No newline at end of file diff --git a/coveragereport/mysqlconnector.dll_BinaryBooleanColumnReader.html b/coveragereport/mysqlconnector.dll_BinaryBooleanColumnReader.html new file mode 100644 index 0000000..f0bf502 --- /dev/null +++ b/coveragereport/mysqlconnector.dll_BinaryBooleanColumnReader.html @@ -0,0 +1,173 @@ + + + + + + + +MySqlConnector.ColumnReaders.BinaryBooleanColumnReader - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:MySqlConnector.ColumnReaders.BinaryBooleanColumnReader
Assembly:mysqlconnector.dll
File(s):/_/src/MySqlConnector/ColumnReaders/BinaryBooleanColumnReader.cs
+
+
+
+
+
+
+
Line coverage
+
+
0%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:0
Uncovered lines:4
Coverable lines:4
Total lines:19
Line coverage:0%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+
+ +++++ + + + + + + + +
MethodBlocks covered Blocks not covered
BinaryBooleanColumnReader()02
ReadValue(...)02
TryReadInt32(...)03
DoReadValue(...)02
+
+

File(s)

+

/_/src/MySqlConnector/ColumnReaders/BinaryBooleanColumnReader.cs

+

File '/_/src/MySqlConnector/ColumnReaders/BinaryBooleanColumnReader.cs' does not exist (any more).

+
+
+ + \ No newline at end of file diff --git a/coveragereport/mysqlconnector.dll_BinaryDateTimeColumnReader.html b/coveragereport/mysqlconnector.dll_BinaryDateTimeColumnReader.html new file mode 100644 index 0000000..124a288 --- /dev/null +++ b/coveragereport/mysqlconnector.dll_BinaryDateTimeColumnReader.html @@ -0,0 +1,168 @@ + + + + + + + +MySqlConnector.ColumnReaders.BinaryDateTimeColumnReader - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:MySqlConnector.ColumnReaders.BinaryDateTimeColumnReader
Assembly:mysqlconnector.dll
File(s):/_/src/MySqlConnector/ColumnReaders/BinaryDateTimeColumnReader.cs
+
+
+
+
+
+
+
Line coverage
+
+
0%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:0
Uncovered lines:28
Coverable lines:28
Total lines:62
Line coverage:0%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+
+ +++++ + + + + + +
MethodBlocks covered Blocks not covered
BinaryDateTimeColumnReader(...)05
ReadValue(...)039
+
+

File(s)

+

/_/src/MySqlConnector/ColumnReaders/BinaryDateTimeColumnReader.cs

+

File '/_/src/MySqlConnector/ColumnReaders/BinaryDateTimeColumnReader.cs' does not exist (any more).

+
+
+ + \ No newline at end of file diff --git a/coveragereport/mysqlconnector.dll_BinaryDoubleColumnReader.html b/coveragereport/mysqlconnector.dll_BinaryDoubleColumnReader.html new file mode 100644 index 0000000..c9cabe8 --- /dev/null +++ b/coveragereport/mysqlconnector.dll_BinaryDoubleColumnReader.html @@ -0,0 +1,169 @@ + + + + + + + +MySqlConnector.ColumnReaders.BinaryDoubleColumnReader - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:MySqlConnector.ColumnReaders.BinaryDoubleColumnReader
Assembly:mysqlconnector.dll
File(s):/_/src/MySqlConnector/ColumnReaders/BinaryDoubleColumnReader.cs
+
+
+
+
+
+
+
Line coverage
+
+
0%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:0
Uncovered lines:2
Coverable lines:2
Total lines:12
Line coverage:0%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+
+ +++++ + + + + + +
MethodBlocks covered Blocks not covered
BinaryDoubleColumnReader()02
ReadValue(...)02
+
+

File(s)

+

/_/src/MySqlConnector/ColumnReaders/BinaryDoubleColumnReader.cs

+

File '/_/src/MySqlConnector/ColumnReaders/BinaryDoubleColumnReader.cs' does not exist (any more).

+
+
+ + \ No newline at end of file diff --git a/coveragereport/mysqlconnector.dll_BinaryFloatColumnReader.html b/coveragereport/mysqlconnector.dll_BinaryFloatColumnReader.html new file mode 100644 index 0000000..fb86e61 --- /dev/null +++ b/coveragereport/mysqlconnector.dll_BinaryFloatColumnReader.html @@ -0,0 +1,169 @@ + + + + + + + +MySqlConnector.ColumnReaders.BinaryFloatColumnReader - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:MySqlConnector.ColumnReaders.BinaryFloatColumnReader
Assembly:mysqlconnector.dll
File(s):/_/src/MySqlConnector/ColumnReaders/BinaryFloatColumnReader.cs
+
+
+
+
+
+
+
Line coverage
+
+
0%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:0
Uncovered lines:2
Coverable lines:2
Total lines:12
Line coverage:0%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+
+ +++++ + + + + + +
MethodBlocks covered Blocks not covered
BinaryFloatColumnReader()02
ReadValue(...)02
+
+

File(s)

+

/_/src/MySqlConnector/ColumnReaders/BinaryFloatColumnReader.cs

+

File '/_/src/MySqlConnector/ColumnReaders/BinaryFloatColumnReader.cs' does not exist (any more).

+
+
+ + \ No newline at end of file diff --git a/coveragereport/mysqlconnector.dll_BinarySignedInt16ColumnReader.html b/coveragereport/mysqlconnector.dll_BinarySignedInt16ColumnReader.html new file mode 100644 index 0000000..8d10da6 --- /dev/null +++ b/coveragereport/mysqlconnector.dll_BinarySignedInt16ColumnReader.html @@ -0,0 +1,173 @@ + + + + + + + +MySqlConnector.ColumnReaders.BinarySignedInt16ColumnReader - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:MySqlConnector.ColumnReaders.BinarySignedInt16ColumnReader
Assembly:mysqlconnector.dll
File(s):/_/src/MySqlConnector/ColumnReaders/BinarySignedInt16ColumnReader.cs
+
+
+
+
+
+
+
Line coverage
+
+
0%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:0
Uncovered lines:4
Coverable lines:4
Total lines:20
Line coverage:0%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+
+ +++++ + + + + + + + +
MethodBlocks covered Blocks not covered
BinarySignedInt16ColumnReader()02
ReadValue(...)02
TryReadInt32(...)03
DoReadValue(...)02
+
+

File(s)

+

/_/src/MySqlConnector/ColumnReaders/BinarySignedInt16ColumnReader.cs

+

File '/_/src/MySqlConnector/ColumnReaders/BinarySignedInt16ColumnReader.cs' does not exist (any more).

+
+
+ + \ No newline at end of file diff --git a/coveragereport/mysqlconnector.dll_BinarySignedInt32ColumnReader.html b/coveragereport/mysqlconnector.dll_BinarySignedInt32ColumnReader.html new file mode 100644 index 0000000..ff1c90f --- /dev/null +++ b/coveragereport/mysqlconnector.dll_BinarySignedInt32ColumnReader.html @@ -0,0 +1,173 @@ + + + + + + + +MySqlConnector.ColumnReaders.BinarySignedInt32ColumnReader - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:MySqlConnector.ColumnReaders.BinarySignedInt32ColumnReader
Assembly:mysqlconnector.dll
File(s):/_/src/MySqlConnector/ColumnReaders/BinarySignedInt32ColumnReader.cs
+
+
+
+
+
+
+
Line coverage
+
+
0%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:0
Uncovered lines:4
Coverable lines:4
Total lines:20
Line coverage:0%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+
+ +++++ + + + + + + + +
MethodBlocks covered Blocks not covered
BinarySignedInt32ColumnReader()02
ReadValue(...)02
TryReadInt32(...)03
DoReadValue(...)02
+
+

File(s)

+

/_/src/MySqlConnector/ColumnReaders/BinarySignedInt32ColumnReader.cs

+

File '/_/src/MySqlConnector/ColumnReaders/BinarySignedInt32ColumnReader.cs' does not exist (any more).

+
+
+ + \ No newline at end of file diff --git a/coveragereport/mysqlconnector.dll_BinarySignedInt64ColumnReader.html b/coveragereport/mysqlconnector.dll_BinarySignedInt64ColumnReader.html new file mode 100644 index 0000000..d9149af --- /dev/null +++ b/coveragereport/mysqlconnector.dll_BinarySignedInt64ColumnReader.html @@ -0,0 +1,173 @@ + + + + + + + +MySqlConnector.ColumnReaders.BinarySignedInt64ColumnReader - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:MySqlConnector.ColumnReaders.BinarySignedInt64ColumnReader
Assembly:mysqlconnector.dll
File(s):/_/src/MySqlConnector/ColumnReaders/BinarySignedInt64ColumnReader.cs
+
+
+
+
+
+
+
Line coverage
+
+
0%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:0
Uncovered lines:4
Coverable lines:4
Total lines:20
Line coverage:0%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+
+ +++++ + + + + + + + +
MethodBlocks covered Blocks not covered
BinarySignedInt64ColumnReader()02
ReadValue(...)02
TryReadInt32(...)03
DoReadValue(...)02
+
+

File(s)

+

/_/src/MySqlConnector/ColumnReaders/BinarySignedInt64ColumnReader.cs

+

File '/_/src/MySqlConnector/ColumnReaders/BinarySignedInt64ColumnReader.cs' does not exist (any more).

+
+
+ + \ No newline at end of file diff --git a/coveragereport/mysqlconnector.dll_BinarySignedInt8ColumnReader.html b/coveragereport/mysqlconnector.dll_BinarySignedInt8ColumnReader.html new file mode 100644 index 0000000..7a6308b --- /dev/null +++ b/coveragereport/mysqlconnector.dll_BinarySignedInt8ColumnReader.html @@ -0,0 +1,173 @@ + + + + + + + +MySqlConnector.ColumnReaders.BinarySignedInt8ColumnReader - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:MySqlConnector.ColumnReaders.BinarySignedInt8ColumnReader
Assembly:mysqlconnector.dll
File(s):/_/src/MySqlConnector/ColumnReaders/BinarySignedInt8ColumnReader.cs
+
+
+
+
+
+
+
Line coverage
+
+
0%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:0
Uncovered lines:4
Coverable lines:4
Total lines:19
Line coverage:0%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+
+ +++++ + + + + + + + +
MethodBlocks covered Blocks not covered
BinarySignedInt8ColumnReader()02
ReadValue(...)02
TryReadInt32(...)03
DoReadValue(...)02
+
+

File(s)

+

/_/src/MySqlConnector/ColumnReaders/BinarySignedInt8ColumnReader.cs

+

File '/_/src/MySqlConnector/ColumnReaders/BinarySignedInt8ColumnReader.cs' does not exist (any more).

+
+
+ + \ No newline at end of file diff --git a/coveragereport/mysqlconnector.dll_BinaryTimeColumnReader.html b/coveragereport/mysqlconnector.dll_BinaryTimeColumnReader.html new file mode 100644 index 0000000..b9255f9 --- /dev/null +++ b/coveragereport/mysqlconnector.dll_BinaryTimeColumnReader.html @@ -0,0 +1,169 @@ + + + + + + + +MySqlConnector.ColumnReaders.BinaryTimeColumnReader - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:MySqlConnector.ColumnReaders.BinaryTimeColumnReader
Assembly:mysqlconnector.dll
File(s):/_/src/MySqlConnector/ColumnReaders/BinaryTimeColumnReader.cs
+
+
+
+
+
+
+
Line coverage
+
+
0%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:0
Uncovered lines:16
Coverable lines:16
Total lines:33
Line coverage:0%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+
+ +++++ + + + + + +
MethodBlocks covered Blocks not covered
BinaryTimeColumnReader()02
ReadValue(...)021
+
+

File(s)

+

/_/src/MySqlConnector/ColumnReaders/BinaryTimeColumnReader.cs

+

File '/_/src/MySqlConnector/ColumnReaders/BinaryTimeColumnReader.cs' does not exist (any more).

+
+
+ + \ No newline at end of file diff --git a/coveragereport/mysqlconnector.dll_BinaryUnsignedInt16ColumnReader.html b/coveragereport/mysqlconnector.dll_BinaryUnsignedInt16ColumnReader.html new file mode 100644 index 0000000..0cd4f26 --- /dev/null +++ b/coveragereport/mysqlconnector.dll_BinaryUnsignedInt16ColumnReader.html @@ -0,0 +1,173 @@ + + + + + + + +MySqlConnector.ColumnReaders.BinaryUnsignedInt16ColumnReader - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:MySqlConnector.ColumnReaders.BinaryUnsignedInt16ColumnReader
Assembly:mysqlconnector.dll
File(s):/_/src/MySqlConnector/ColumnReaders/BinaryUnsignedInt16ColumnReader.cs
+
+
+
+
+
+
+
Line coverage
+
+
0%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:0
Uncovered lines:4
Coverable lines:4
Total lines:20
Line coverage:0%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+
+ +++++ + + + + + + + +
MethodBlocks covered Blocks not covered
BinaryUnsignedInt16ColumnReader()02
ReadValue(...)02
TryReadInt32(...)03
DoReadValue(...)02
+
+

File(s)

+

/_/src/MySqlConnector/ColumnReaders/BinaryUnsignedInt16ColumnReader.cs

+

File '/_/src/MySqlConnector/ColumnReaders/BinaryUnsignedInt16ColumnReader.cs' does not exist (any more).

+
+
+ + \ No newline at end of file diff --git a/coveragereport/mysqlconnector.dll_BinaryUnsignedInt32ColumnReader.html b/coveragereport/mysqlconnector.dll_BinaryUnsignedInt32ColumnReader.html new file mode 100644 index 0000000..188211d --- /dev/null +++ b/coveragereport/mysqlconnector.dll_BinaryUnsignedInt32ColumnReader.html @@ -0,0 +1,173 @@ + + + + + + + +MySqlConnector.ColumnReaders.BinaryUnsignedInt32ColumnReader - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:MySqlConnector.ColumnReaders.BinaryUnsignedInt32ColumnReader
Assembly:mysqlconnector.dll
File(s):/_/src/MySqlConnector/ColumnReaders/BinaryUnsignedInt32ColumnReader.cs
+
+
+
+
+
+
+
Line coverage
+
+
0%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:0
Uncovered lines:4
Coverable lines:4
Total lines:20
Line coverage:0%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+
+ +++++ + + + + + + + +
MethodBlocks covered Blocks not covered
BinaryUnsignedInt32ColumnReader()02
ReadValue(...)02
TryReadInt32(...)03
DoReadValue(...)02
+
+

File(s)

+

/_/src/MySqlConnector/ColumnReaders/BinaryUnsignedInt32ColumnReader.cs

+

File '/_/src/MySqlConnector/ColumnReaders/BinaryUnsignedInt32ColumnReader.cs' does not exist (any more).

+
+
+ + \ No newline at end of file diff --git a/coveragereport/mysqlconnector.dll_BinaryUnsignedInt64ColumnReader.html b/coveragereport/mysqlconnector.dll_BinaryUnsignedInt64ColumnReader.html new file mode 100644 index 0000000..400e95f --- /dev/null +++ b/coveragereport/mysqlconnector.dll_BinaryUnsignedInt64ColumnReader.html @@ -0,0 +1,173 @@ + + + + + + + +MySqlConnector.ColumnReaders.BinaryUnsignedInt64ColumnReader - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:MySqlConnector.ColumnReaders.BinaryUnsignedInt64ColumnReader
Assembly:mysqlconnector.dll
File(s):/_/src/MySqlConnector/ColumnReaders/BinaryUnsignedInt64ColumnReader.cs
+
+
+
+
+
+
+
Line coverage
+
+
0%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:0
Uncovered lines:4
Coverable lines:4
Total lines:20
Line coverage:0%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+
+ +++++ + + + + + + + +
MethodBlocks covered Blocks not covered
BinaryUnsignedInt64ColumnReader()02
ReadValue(...)02
TryReadInt32(...)03
DoReadValue(...)02
+
+

File(s)

+

/_/src/MySqlConnector/ColumnReaders/BinaryUnsignedInt64ColumnReader.cs

+

File '/_/src/MySqlConnector/ColumnReaders/BinaryUnsignedInt64ColumnReader.cs' does not exist (any more).

+
+
+ + \ No newline at end of file diff --git a/coveragereport/mysqlconnector.dll_BinaryUnsignedInt8ColumnReader.html b/coveragereport/mysqlconnector.dll_BinaryUnsignedInt8ColumnReader.html new file mode 100644 index 0000000..1969c3c --- /dev/null +++ b/coveragereport/mysqlconnector.dll_BinaryUnsignedInt8ColumnReader.html @@ -0,0 +1,173 @@ + + + + + + + +MySqlConnector.ColumnReaders.BinaryUnsignedInt8ColumnReader - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:MySqlConnector.ColumnReaders.BinaryUnsignedInt8ColumnReader
Assembly:mysqlconnector.dll
File(s):/_/src/MySqlConnector/ColumnReaders/BinaryUnsignedInt8ColumnReader.cs
+
+
+
+
+
+
+
Line coverage
+
+
0%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:0
Uncovered lines:4
Coverable lines:4
Total lines:19
Line coverage:0%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+
+ +++++ + + + + + + + +
MethodBlocks covered Blocks not covered
BinaryUnsignedInt8ColumnReader()02
ReadValue(...)02
TryReadInt32(...)03
DoReadValue(...)02
+
+

File(s)

+

/_/src/MySqlConnector/ColumnReaders/BinaryUnsignedInt8ColumnReader.cs

+

File '/_/src/MySqlConnector/ColumnReaders/BinaryUnsignedInt8ColumnReader.cs' does not exist (any more).

+
+
+ + \ No newline at end of file diff --git a/coveragereport/mysqlconnector.dll_BinaryYearColumnReader.html b/coveragereport/mysqlconnector.dll_BinaryYearColumnReader.html new file mode 100644 index 0000000..c063612 --- /dev/null +++ b/coveragereport/mysqlconnector.dll_BinaryYearColumnReader.html @@ -0,0 +1,173 @@ + + + + + + + +MySqlConnector.ColumnReaders.BinaryYearColumnReader - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:MySqlConnector.ColumnReaders.BinaryYearColumnReader
Assembly:mysqlconnector.dll
File(s):/_/src/MySqlConnector/ColumnReaders/BinaryYearColumnReader.cs
+
+
+
+
+
+
+
Line coverage
+
+
0%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:0
Uncovered lines:4
Coverable lines:4
Total lines:20
Line coverage:0%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+
+ +++++ + + + + + + + +
MethodBlocks covered Blocks not covered
BinaryYearColumnReader()02
ReadValue(...)02
TryReadInt32(...)03
DoReadValue(...)02
+
+

File(s)

+

/_/src/MySqlConnector/ColumnReaders/BinaryYearColumnReader.cs

+

File '/_/src/MySqlConnector/ColumnReaders/BinaryYearColumnReader.cs' does not exist (any more).

+
+
+ + \ No newline at end of file diff --git a/coveragereport/mysqlconnector.dll_BitColumnReader.html b/coveragereport/mysqlconnector.dll_BitColumnReader.html new file mode 100644 index 0000000..ab7a785 --- /dev/null +++ b/coveragereport/mysqlconnector.dll_BitColumnReader.html @@ -0,0 +1,173 @@ + + + + + + + +MySqlConnector.ColumnReaders.BitColumnReader - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:MySqlConnector.ColumnReaders.BitColumnReader
Assembly:mysqlconnector.dll
File(s):/_/src/MySqlConnector/ColumnReaders/BitColumnReader.cs
+
+
+
+
+
+
+
Line coverage
+
+
0%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:0
Uncovered lines:11
Coverable lines:11
Total lines:37
Line coverage:0%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+
+ +++++ + + + + + + + +
MethodBlocks covered Blocks not covered
BitColumnReader()02
ReadValue(...)02
TryReadInt32(...)03
DoReadValue(...)024
+
+

File(s)

+

/_/src/MySqlConnector/ColumnReaders/BitColumnReader.cs

+

File '/_/src/MySqlConnector/ColumnReaders/BitColumnReader.cs' does not exist (any more).

+
+
+ + \ No newline at end of file diff --git a/coveragereport/mysqlconnector.dll_BufferedByteReader.html b/coveragereport/mysqlconnector.dll_BufferedByteReader.html new file mode 100644 index 0000000..4f3edcd --- /dev/null +++ b/coveragereport/mysqlconnector.dll_BufferedByteReader.html @@ -0,0 +1,170 @@ + + + + + + + +MySqlConnector.Protocol.Serialization.BufferedByteReader - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:MySqlConnector.Protocol.Serialization.BufferedByteReader
Assembly:mysqlconnector.dll
File(s):/_/src/MySqlConnector/Protocol/Serialization/BufferedByteReader.cs
+
+
+
+
+
+
+
Line coverage
+
+
70%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:17
Uncovered lines:7
Coverable lines:24
Total lines:54
Line coverage:70.8%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+
+ +++++ + + + + + + +
MethodBlocks covered Blocks not covered
BufferedByteReader()20
ReadBytesAsync(...)158
ReadBytesAsync()225
+
+

File(s)

+

/_/src/MySqlConnector/Protocol/Serialization/BufferedByteReader.cs

+

File '/_/src/MySqlConnector/Protocol/Serialization/BufferedByteReader.cs' does not exist (any more).

+
+
+ + \ No newline at end of file diff --git a/coveragereport/mysqlconnector.dll_ByteArrayReader.html b/coveragereport/mysqlconnector.dll_ByteArrayReader.html new file mode 100644 index 0000000..e612323 --- /dev/null +++ b/coveragereport/mysqlconnector.dll_ByteArrayReader.html @@ -0,0 +1,199 @@ + + + + + + + +MySqlConnector.Protocol.Serialization.ByteArrayReader - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:MySqlConnector.Protocol.Serialization.ByteArrayReader
Assembly:mysqlconnector.dll
File(s):/_/src/MySqlConnector/Protocol/Serialization/ByteArrayReader.cs
+
+
+
+
+
+
+
Line coverage
+
+
78%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:69
Uncovered lines:19
Coverable lines:88
Total lines:180
Line coverage:78.4%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+ +

File(s)

+

/_/src/MySqlConnector/Protocol/Serialization/ByteArrayReader.cs

+

File '/_/src/MySqlConnector/Protocol/Serialization/ByteArrayReader.cs' does not exist (any more).

+
+
+ + \ No newline at end of file diff --git a/coveragereport/mysqlconnector.dll_ByteBufferWriter.html b/coveragereport/mysqlconnector.dll_ByteBufferWriter.html new file mode 100644 index 0000000..56545fe --- /dev/null +++ b/coveragereport/mysqlconnector.dll_ByteBufferWriter.html @@ -0,0 +1,220 @@ + + + + + + + +MySqlConnector.Protocol.Serialization.ByteBufferWriter - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:MySqlConnector.Protocol.Serialization.ByteBufferWriter
Assembly:mysqlconnector.dll
File(s):/_/src/MySqlConnector/Protocol/Serialization/ByteBufferWriter.cs
+
+
+
+
+
+
+
Line coverage
+
+
36%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:45
Uncovered lines:80
Coverable lines:125
Total lines:242
Line coverage:36%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+ +

File(s)

+

/_/src/MySqlConnector/Protocol/Serialization/ByteBufferWriter.cs

+

File '/_/src/MySqlConnector/Protocol/Serialization/ByteBufferWriter.cs' does not exist (any more).

+
+
+ + \ No newline at end of file diff --git a/coveragereport/mysqlconnector.dll_ByteBufferWriterExtensions.html b/coveragereport/mysqlconnector.dll_ByteBufferWriterExtensions.html new file mode 100644 index 0000000..0ac50d1 --- /dev/null +++ b/coveragereport/mysqlconnector.dll_ByteBufferWriterExtensions.html @@ -0,0 +1,174 @@ + + + + + + + +MySqlConnector.Protocol.Serialization.ByteBufferWriterExtensions - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:MySqlConnector.Protocol.Serialization.ByteBufferWriterExtensions
Assembly:mysqlconnector.dll
File(s):/_/src/MySqlConnector/Protocol/Serialization/ByteBufferWriter.cs
+
+
+
+
+
+
+
Line coverage
+
+
47%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:10
Uncovered lines:11
Coverable lines:21
Total lines:294
Line coverage:47.6%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+ +

File(s)

+

/_/src/MySqlConnector/Protocol/Serialization/ByteBufferWriter.cs

+

File '/_/src/MySqlConnector/Protocol/Serialization/ByteBufferWriter.cs' does not exist (any more).

+
+
+ + \ No newline at end of file diff --git a/coveragereport/mysqlconnector.dll_BytesColumnReader.html b/coveragereport/mysqlconnector.dll_BytesColumnReader.html new file mode 100644 index 0000000..23dd41e --- /dev/null +++ b/coveragereport/mysqlconnector.dll_BytesColumnReader.html @@ -0,0 +1,169 @@ + + + + + + + +MySqlConnector.ColumnReaders.BytesColumnReader - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:MySqlConnector.ColumnReaders.BytesColumnReader
Assembly:mysqlconnector.dll
File(s):/_/src/MySqlConnector/ColumnReaders/BytesColumnReader.cs
+
+
+
+
+
+
+
Line coverage
+
+
0%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:0
Uncovered lines:2
Coverable lines:2
Total lines:11
Line coverage:0%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+
+ +++++ + + + + + +
MethodBlocks covered Blocks not covered
BytesColumnReader()02
ReadValue(...)02
+
+

File(s)

+

/_/src/MySqlConnector/ColumnReaders/BytesColumnReader.cs

+

File '/_/src/MySqlConnector/ColumnReaders/BytesColumnReader.cs' does not exist (any more).

+
+
+ + \ No newline at end of file diff --git a/coveragereport/mysqlconnector.dll_CachedParameter.html b/coveragereport/mysqlconnector.dll_CachedParameter.html new file mode 100644 index 0000000..55d0bc1 --- /dev/null +++ b/coveragereport/mysqlconnector.dll_CachedParameter.html @@ -0,0 +1,171 @@ + + + + + + + +MySqlConnector.Core.CachedParameter - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:MySqlConnector.Core.CachedParameter
Assembly:mysqlconnector.dll
File(s):/_/src/MySqlConnector/Core/CachedParameter.cs
+
+
+
+
+
+
+
Line coverage
+
+
0%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:0
Uncovered lines:19
Coverable lines:19
Total lines:26
Line coverage:0%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+
+ +++++ + + + + +
MethodBlocks covered Blocks not covered
CachedParameter(...)016
+
+

File(s)

+

/_/src/MySqlConnector/Core/CachedParameter.cs

+

File '/_/src/MySqlConnector/Core/CachedParameter.cs' does not exist (any more).

+
+
+ + \ No newline at end of file diff --git a/coveragereport/mysqlconnector.dll_CachedProcedure.html b/coveragereport/mysqlconnector.dll_CachedProcedure.html new file mode 100644 index 0000000..77613c7 --- /dev/null +++ b/coveragereport/mysqlconnector.dll_CachedProcedure.html @@ -0,0 +1,180 @@ + + + + + + + +MySqlConnector.Core.CachedProcedure - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:MySqlConnector.Core.CachedProcedure
Assembly:mysqlconnector.dll
File(s):/_/src/MySqlConnector/Core/CachedProcedure.cs
+
+
+
+
+
+
+
Line coverage
+
+
0%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:0
Uncovered lines:155
Coverable lines:155
Total lines:268
Line coverage:0%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+
+ +++++ + + + + + + + + + + +
MethodBlocks covered Blocks not covered
FillAsync()0190
CachedProcedure(...)02
AlignParamsWithDb(...)048
ParseParameters(...)047
ParseDataType(...)029
CreateCachedParameter(...)06
CachedProcedure()026
+
+

File(s)

+

/_/src/MySqlConnector/Core/CachedProcedure.cs

+

File '/_/src/MySqlConnector/Core/CachedProcedure.cs' does not exist (any more).

+
+
+ + \ No newline at end of file diff --git a/coveragereport/mysqlconnector.dll_CachingSha2ServerResponsePayload.html b/coveragereport/mysqlconnector.dll_CachingSha2ServerResponsePayload.html new file mode 100644 index 0000000..0c6758a --- /dev/null +++ b/coveragereport/mysqlconnector.dll_CachingSha2ServerResponsePayload.html @@ -0,0 +1,170 @@ + + + + + + + +MySqlConnector.Protocol.Payloads.CachingSha2ServerResponsePayload - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:MySqlConnector.Protocol.Payloads.CachingSha2ServerResponsePayload
Assembly:mysqlconnector.dll
File(s):/_/src/MySqlConnector/Protocol/Payloads/CachingSha2ServerResponsePayload.cs
+
+
+
+
+
+
+
Line coverage
+
+
0%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:0
Uncovered lines:11
Coverable lines:11
Total lines:32
Line coverage:0%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+
+ +++++ + + + + + +
MethodBlocks covered Blocks not covered
CachingSha2ServerResponsePayload(...)01
Create(...)05
+
+

File(s)

+

/_/src/MySqlConnector/Protocol/Payloads/CachingSha2ServerResponsePayload.cs

+

File '/_/src/MySqlConnector/Protocol/Payloads/CachingSha2ServerResponsePayload.cs' does not exist (any more).

+
+
+ + \ No newline at end of file diff --git a/coveragereport/mysqlconnector.dll_ChangeUserPayload.html b/coveragereport/mysqlconnector.dll_ChangeUserPayload.html new file mode 100644 index 0000000..be74f90 --- /dev/null +++ b/coveragereport/mysqlconnector.dll_ChangeUserPayload.html @@ -0,0 +1,166 @@ + + + + + + + +MySqlConnector.Protocol.Payloads.ChangeUserPayload - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:MySqlConnector.Protocol.Payloads.ChangeUserPayload
Assembly:mysqlconnector.dll
File(s):/_/src/MySqlConnector/Protocol/Payloads/ChangeUserPayload.cs
+
+
+
+
+
+
+
Line coverage
+
+
0%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:0
Uncovered lines:12
Coverable lines:12
Total lines:23
Line coverage:0%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+
+ +++++ + + + + +
MethodBlocks covered Blocks not covered
Create(...)018
+
+

File(s)

+

/_/src/MySqlConnector/Protocol/Payloads/ChangeUserPayload.cs

+

File '/_/src/MySqlConnector/Protocol/Payloads/ChangeUserPayload.cs' does not exist (any more).

+
+
+ + \ No newline at end of file diff --git a/coveragereport/mysqlconnector.dll_ColumnCountPayload.html b/coveragereport/mysqlconnector.dll_ColumnCountPayload.html new file mode 100644 index 0000000..603d27b --- /dev/null +++ b/coveragereport/mysqlconnector.dll_ColumnCountPayload.html @@ -0,0 +1,170 @@ + + + + + + + +MySqlConnector.Protocol.Payloads.ColumnCountPayload - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:MySqlConnector.Protocol.Payloads.ColumnCountPayload
Assembly:mysqlconnector.dll
File(s):/_/src/MySqlConnector/Protocol/Payloads/ColumnCountPayload.cs
+
+
+
+
+
+
+
Line coverage
+
+
100%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:9
Uncovered lines:0
Coverable lines:9
Total lines:27
Line coverage:100%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+
+ +++++ + + + + + +
MethodBlocks covered Blocks not covered
ColumnCountPayload(...)10
Create(...)64
+
+

File(s)

+

/_/src/MySqlConnector/Protocol/Payloads/ColumnCountPayload.cs

+

File '/_/src/MySqlConnector/Protocol/Payloads/ColumnCountPayload.cs' does not exist (any more).

+
+
+ + \ No newline at end of file diff --git a/coveragereport/mysqlconnector.dll_ColumnDefinitionPayload.html b/coveragereport/mysqlconnector.dll_ColumnDefinitionPayload.html new file mode 100644 index 0000000..9fa7465 --- /dev/null +++ b/coveragereport/mysqlconnector.dll_ColumnDefinitionPayload.html @@ -0,0 +1,190 @@ + + + + + + + +MySqlConnector.Protocol.Payloads.ColumnDefinitionPayload - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:MySqlConnector.Protocol.Payloads.ColumnDefinitionPayload
Assembly:mysqlconnector.dll
File(s):/_/src/MySqlConnector/Protocol/Payloads/ColumnDefinitionPayload.cs
+
+
+
+
+
+
+
Line coverage
+
+
47%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:31
Uncovered lines:34
Coverable lines:65
Total lines:137
Line coverage:47.6%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+
+ +++++ + + + + + + + + +
MethodBlocks covered Blocks not covered
Initialize(...)50
Initialize(...)231
SkipLengthEncodedByteString(...)40
ColumnDefinitionPayload()20
ReadNames()021
+
+

File(s)

+

/_/src/MySqlConnector/Protocol/Payloads/ColumnDefinitionPayload.cs

+

File '/_/src/MySqlConnector/Protocol/Payloads/ColumnDefinitionPayload.cs' does not exist (any more).

+
+
+ + \ No newline at end of file diff --git a/coveragereport/mysqlconnector.dll_ColumnReader.html b/coveragereport/mysqlconnector.dll_ColumnReader.html new file mode 100644 index 0000000..93363f4 --- /dev/null +++ b/coveragereport/mysqlconnector.dll_ColumnReader.html @@ -0,0 +1,168 @@ + + + + + + + +MySqlConnector.ColumnReaders.ColumnReader - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:MySqlConnector.ColumnReaders.ColumnReader
Assembly:mysqlconnector.dll
File(s):/_/src/MySqlConnector/ColumnReaders/ColumnReader.cs
+
+
+
+
+
+
+
Line coverage
+
+
40%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:24
Uncovered lines:35
Coverable lines:59
Total lines:125
Line coverage:40.6%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+
+ +++++ + + + + + +
MethodBlocks covered Blocks not covered
Create(...)39111
TryReadInt32(...)01
+
+

File(s)

+

/_/src/MySqlConnector/ColumnReaders/ColumnReader.cs

+

File '/_/src/MySqlConnector/ColumnReaders/ColumnReader.cs' does not exist (any more).

+
+
+ + \ No newline at end of file diff --git a/coveragereport/mysqlconnector.dll_ColumnTypeMetadata.html b/coveragereport/mysqlconnector.dll_ColumnTypeMetadata.html new file mode 100644 index 0000000..8200c6c --- /dev/null +++ b/coveragereport/mysqlconnector.dll_ColumnTypeMetadata.html @@ -0,0 +1,179 @@ + + + + + + + +MySqlConnector.Core.ColumnTypeMetadata - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:MySqlConnector.Core.ColumnTypeMetadata
Assembly:mysqlconnector.dll
File(s):/_/src/MySqlConnector/Core/ColumnTypeMetadata.cs
+
+
+
+
+
+
+
Line coverage
+
+
100%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:12
Uncovered lines:0
Coverable lines:12
Total lines:18
Line coverage:100%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+
+ +++++ + + + + + + +
MethodBlocks covered Blocks not covered
ColumnTypeMetadata(...)90
CreateLookupKey(...)110
CreateLookupKey()50
+
+

File(s)

+

/_/src/MySqlConnector/Core/ColumnTypeMetadata.cs

+

File '/_/src/MySqlConnector/Core/ColumnTypeMetadata.cs' does not exist (any more).

+
+
+ + \ No newline at end of file diff --git a/coveragereport/mysqlconnector.dll_CommandExecutor.html b/coveragereport/mysqlconnector.dll_CommandExecutor.html new file mode 100644 index 0000000..4476586 --- /dev/null +++ b/coveragereport/mysqlconnector.dll_CommandExecutor.html @@ -0,0 +1,166 @@ + + + + + + + +MySqlConnector.Core.CommandExecutor - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:MySqlConnector.Core.CommandExecutor
Assembly:mysqlconnector.dll
File(s):/_/src/MySqlConnector/Core/CommandExecutor.cs
+
+
+
+
+
+
+
Line coverage
+
+
54%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:19
Uncovered lines:16
Coverable lines:35
Total lines:79
Line coverage:54.2%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+
+ +++++ + + + + +
MethodBlocks covered Blocks not covered
ExecuteReaderAsync()5675
+
+

File(s)

+

/_/src/MySqlConnector/Core/CommandExecutor.cs

+

File '/_/src/MySqlConnector/Core/CommandExecutor.cs' does not exist (any more).

+
+
+
+

Methods/Properties

+ExecuteReaderAsync()
+
+
+ + \ No newline at end of file diff --git a/coveragereport/mysqlconnector.dll_CommandListPosition.html b/coveragereport/mysqlconnector.dll_CommandListPosition.html new file mode 100644 index 0000000..35f844c --- /dev/null +++ b/coveragereport/mysqlconnector.dll_CommandListPosition.html @@ -0,0 +1,168 @@ + + + + + + + +MySqlConnector.Core.CommandListPosition - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:MySqlConnector.Core.CommandListPosition
Assembly:mysqlconnector.dll
File(s):/_/src/MySqlConnector/Core/CommandListPosition.cs
+
+
+
+
+
+
+
Line coverage
+
+
100%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:17
Uncovered lines:0
Coverable lines:17
Total lines:29
Line coverage:100%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+
+ +++++ + + + + + +
MethodBlocks covered Blocks not covered
CommandListPosition(...)35
CommandAt(...)46
+
+

File(s)

+

/_/src/MySqlConnector/Core/CommandListPosition.cs

+

File '/_/src/MySqlConnector/Core/CommandListPosition.cs' does not exist (any more).

+
+
+ +
+ + \ No newline at end of file diff --git a/coveragereport/mysqlconnector.dll_CompressedPayloadHandler.html b/coveragereport/mysqlconnector.dll_CompressedPayloadHandler.html new file mode 100644 index 0000000..3dc07b4 --- /dev/null +++ b/coveragereport/mysqlconnector.dll_CompressedPayloadHandler.html @@ -0,0 +1,196 @@ + + + + + + + +MySqlConnector.Protocol.Serialization.CompressedPayloadHandler - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:MySqlConnector.Protocol.Serialization.CompressedPayloadHandler
Assembly:mysqlconnector.dll
File(s):/_/src/MySqlConnector/Protocol/Serialization/CompressedPayloadHandler.cs
+
+
+
+
+
+
+
Line coverage
+
+
0%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:0
Uncovered lines:99
Coverable lines:99
Total lines:269
Line coverage:0%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+ +

File(s)

+

/_/src/MySqlConnector/Protocol/Serialization/CompressedPayloadHandler.cs

+

File '/_/src/MySqlConnector/Protocol/Serialization/CompressedPayloadHandler.cs' does not exist (any more).

+
+
+ + \ No newline at end of file diff --git a/coveragereport/mysqlconnector.dll_ConcatenatedCommandPayloadCreator.html b/coveragereport/mysqlconnector.dll_ConcatenatedCommandPayloadCreator.html new file mode 100644 index 0000000..058f83a --- /dev/null +++ b/coveragereport/mysqlconnector.dll_ConcatenatedCommandPayloadCreator.html @@ -0,0 +1,169 @@ + + + + + + + +MySqlConnector.Core.ConcatenatedCommandPayloadCreator - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:MySqlConnector.Core.ConcatenatedCommandPayloadCreator
Assembly:mysqlconnector.dll
File(s):/_/src/MySqlConnector/Core/ConcatenatedCommandPayloadCreator.cs
+
+
+
+
+
+
+
Line coverage
+
+
0%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:0
Uncovered lines:16
Coverable lines:16
Total lines:43
Line coverage:0%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+
+ +++++ + + + + + +
MethodBlocks covered Blocks not covered
ConcatenatedCommandPayloadCreator()02
WriteQueryCommand(...)020
+
+

File(s)

+

/_/src/MySqlConnector/Core/ConcatenatedCommandPayloadCreator.cs

+

File '/_/src/MySqlConnector/Core/ConcatenatedCommandPayloadCreator.cs' does not exist (any more).

+
+
+ + \ No newline at end of file diff --git a/coveragereport/mysqlconnector.dll_ConnectionPool.html b/coveragereport/mysqlconnector.dll_ConnectionPool.html new file mode 100644 index 0000000..63397aa --- /dev/null +++ b/coveragereport/mysqlconnector.dll_ConnectionPool.html @@ -0,0 +1,225 @@ + + + + + + + +MySqlConnector.Core.ConnectionPool - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:MySqlConnector.Core.ConnectionPool
Assembly:mysqlconnector.dll
File(s):/_/src/MySqlConnector/Core/ConnectionPool.cs
+
+
+
+
+
+
+
Line coverage
+
+
38%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:144
Uncovered lines:232
Coverable lines:376
Total lines:822
Line coverage:38.2%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+ +

File(s)

+

/_/src/MySqlConnector/Core/ConnectionPool.cs

+

File '/_/src/MySqlConnector/Core/ConnectionPool.cs' does not exist (any more).

+
+
+ + \ No newline at end of file diff --git a/coveragereport/mysqlconnector.dll_ConnectionSettings.html b/coveragereport/mysqlconnector.dll_ConnectionSettings.html new file mode 100644 index 0000000..c6fa3ae --- /dev/null +++ b/coveragereport/mysqlconnector.dll_ConnectionSettings.html @@ -0,0 +1,232 @@ + + + + + + + +MySqlConnector.Core.ConnectionSettings - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:MySqlConnector.Core.ConnectionSettings
Assembly:mysqlconnector.dll
File(s):/_/src/MySqlConnector/Core/ConnectionSettings.cs
+
+
+
+
+
+
+
Line coverage
+
+
49%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:111
Uncovered lines:113
Coverable lines:224
Total lines:330
Line coverage:49.5%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+
+ +++++ + + + + + + + + +
MethodBlocks covered Blocks not covered
ConnectionSettings(...)86100
CloneWith(...)02
GetEffectiveGuidFormat(...)39
ConnectionSettings(...)050
ConnectionSettings()01
+
+

File(s)

+

/_/src/MySqlConnector/Core/ConnectionSettings.cs

+

File '/_/src/MySqlConnector/Core/ConnectionSettings.cs' does not exist (any more).

+
+
+ + \ No newline at end of file diff --git a/coveragereport/mysqlconnector.dll_ConsoleLoggerProvider.html b/coveragereport/mysqlconnector.dll_ConsoleLoggerProvider.html new file mode 100644 index 0000000..467a5ff --- /dev/null +++ b/coveragereport/mysqlconnector.dll_ConsoleLoggerProvider.html @@ -0,0 +1,178 @@ + + + + + + + +MySqlConnector.Logging.ConsoleLoggerProvider - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:MySqlConnector.Logging.ConsoleLoggerProvider
Assembly:mysqlconnector.dll
File(s):/_/src/MySqlConnector/Logging/ConsoleLoggerProvider.cs
+
+
+
+
+
+
+
Line coverage
+
+
0%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:0
Uncovered lines:53
Coverable lines:53
Total lines:83
Line coverage:0%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+
+ +++++ + + + + + + + + + +
MethodBlocks covered Blocks not covered
ConsoleLoggerProvider(...)06
CreateLogger(...)02
ConsoleLogger(...)02
IsEnabled(...)04
Log(...)040
ConsoleLogger()02
+
+

File(s)

+

/_/src/MySqlConnector/Logging/ConsoleLoggerProvider.cs

+

File '/_/src/MySqlConnector/Logging/ConsoleLoggerProvider.cs' does not exist (any more).

+
+
+ + \ No newline at end of file diff --git a/coveragereport/mysqlconnector.dll_DataReaderValuesEnumerator.html b/coveragereport/mysqlconnector.dll_DataReaderValuesEnumerator.html new file mode 100644 index 0000000..36de795 --- /dev/null +++ b/coveragereport/mysqlconnector.dll_DataReaderValuesEnumerator.html @@ -0,0 +1,175 @@ + + + + + + + +MySqlConnector.Core.DataReaderValuesEnumerator - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:MySqlConnector.Core.DataReaderValuesEnumerator
Assembly:mysqlconnector.dll
File(s):/_/src/MySqlConnector/Core/IValuesEnumerator.cs
+
+
+
+
+
+
+
Line coverage
+
+
0%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:0
Uncovered lines:6
Coverable lines:6
Total lines:37
Line coverage:0%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+
+ +++++ + + + + + + + + +
MethodBlocks covered Blocks not covered
DataReaderValuesEnumerator(...)02
Create(...)05
MoveNextAsync()03
MoveNext()02
GetValues(...)02
+
+

File(s)

+

/_/src/MySqlConnector/Core/IValuesEnumerator.cs

+

File '/_/src/MySqlConnector/Core/IValuesEnumerator.cs' does not exist (any more).

+
+
+ + \ No newline at end of file diff --git a/coveragereport/mysqlconnector.dll_DataRowsValuesEnumerator.html b/coveragereport/mysqlconnector.dll_DataRowsValuesEnumerator.html new file mode 100644 index 0000000..ec515a7 --- /dev/null +++ b/coveragereport/mysqlconnector.dll_DataRowsValuesEnumerator.html @@ -0,0 +1,175 @@ + + + + + + + +MySqlConnector.Core.DataRowsValuesEnumerator - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:MySqlConnector.Core.DataRowsValuesEnumerator
Assembly:mysqlconnector.dll
File(s):/_/src/MySqlConnector/Core/IValuesEnumerator.cs
+
+
+
+
+
+
+
Line coverage
+
+
0%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:0
Uncovered lines:13
Coverable lines:13
Total lines:63
Line coverage:0%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+
+ +++++ + + + + + + + + +
MethodBlocks covered Blocks not covered
DataRowsValuesEnumerator(...)03
Create(...)014
MoveNextAsync()03
MoveNext()05
GetValues(...)07
+
+

File(s)

+

/_/src/MySqlConnector/Core/IValuesEnumerator.cs

+

File '/_/src/MySqlConnector/Core/IValuesEnumerator.cs' does not exist (any more).

+
+
+ + \ No newline at end of file diff --git a/coveragereport/mysqlconnector.dll_DbDataReaderValuesEnumerator.html b/coveragereport/mysqlconnector.dll_DbDataReaderValuesEnumerator.html new file mode 100644 index 0000000..412103d --- /dev/null +++ b/coveragereport/mysqlconnector.dll_DbDataReaderValuesEnumerator.html @@ -0,0 +1,173 @@ + + + + + + + +MySqlConnector.Core.DbDataReaderValuesEnumerator - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:MySqlConnector.Core.DbDataReaderValuesEnumerator
Assembly:mysqlconnector.dll
File(s):/_/src/MySqlConnector/Core/IValuesEnumerator.cs
+
+
+
+
+
+
+
Line coverage
+
+
0%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:0
Uncovered lines:5
Coverable lines:5
Total lines:24
Line coverage:0%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+
+ +++++ + + + + + + + +
MethodBlocks covered Blocks not covered
DbDataReaderValuesEnumerator(...)02
MoveNextAsync()03
MoveNext()02
GetValues(...)02
+
+

File(s)

+

/_/src/MySqlConnector/Core/IValuesEnumerator.cs

+

File '/_/src/MySqlConnector/Core/IValuesEnumerator.cs' does not exist (any more).

+
+
+ + \ No newline at end of file diff --git a/coveragereport/mysqlconnector.dll_DbTypeMapping.html b/coveragereport/mysqlconnector.dll_DbTypeMapping.html new file mode 100644 index 0000000..cc57326 --- /dev/null +++ b/coveragereport/mysqlconnector.dll_DbTypeMapping.html @@ -0,0 +1,170 @@ + + + + + + + +MySqlConnector.Core.DbTypeMapping - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:MySqlConnector.Core.DbTypeMapping
Assembly:mysqlconnector.dll
File(s):/_/src/MySqlConnector/Core/DbTypeMapping.cs
+
+
+
+
+
+
+
Line coverage
+
+
50%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:3
Uncovered lines:3
Coverable lines:6
Total lines:15
Line coverage:50%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+
+ +++++ + + + + + +
MethodBlocks covered Blocks not covered
DbTypeMapping(...)20
DoConversion(...)012
+
+

File(s)

+

/_/src/MySqlConnector/Core/DbTypeMapping.cs

+

File '/_/src/MySqlConnector/Core/DbTypeMapping.cs' does not exist (any more).

+
+
+ + \ No newline at end of file diff --git a/coveragereport/mysqlconnector.dll_DecimalColumnReader.html b/coveragereport/mysqlconnector.dll_DecimalColumnReader.html new file mode 100644 index 0000000..7186b8c --- /dev/null +++ b/coveragereport/mysqlconnector.dll_DecimalColumnReader.html @@ -0,0 +1,173 @@ + + + + + + + +MySqlConnector.ColumnReaders.DecimalColumnReader - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:MySqlConnector.ColumnReaders.DecimalColumnReader
Assembly:mysqlconnector.dll
File(s):/_/src/MySqlConnector/ColumnReaders/DecimalColumnReader.cs
+
+
+
+
+
+
+
Line coverage
+
+
0%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:0
Uncovered lines:4
Coverable lines:4
Total lines:20
Line coverage:0%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+
+ +++++ + + + + + + + +
MethodBlocks covered Blocks not covered
DecimalColumnReader()02
ReadValue(...)02
TryReadInt32(...)04
DoReadValue(...)07
+
+

File(s)

+

/_/src/MySqlConnector/ColumnReaders/DecimalColumnReader.cs

+

File '/_/src/MySqlConnector/ColumnReaders/DecimalColumnReader.cs' does not exist (any more).

+
+
+ + \ No newline at end of file diff --git a/coveragereport/mysqlconnector.dll_EmptyPayload.html b/coveragereport/mysqlconnector.dll_EmptyPayload.html new file mode 100644 index 0000000..9b41f9b --- /dev/null +++ b/coveragereport/mysqlconnector.dll_EmptyPayload.html @@ -0,0 +1,167 @@ + + + + + + + +MySqlConnector.Protocol.Payloads.EmptyPayload - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:MySqlConnector.Protocol.Payloads.EmptyPayload
Assembly:mysqlconnector.dll
File(s):/_/src/MySqlConnector/Protocol/Payloads/EmptyPayload.cs
+
+
+
+
+
+
+
Line coverage
+
+
0%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:0
Uncovered lines:1
Coverable lines:1
Total lines:6
Line coverage:0%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+
+ +++++ + + + + +
MethodBlocks covered Blocks not covered
EmptyPayload()03
+
+

File(s)

+

/_/src/MySqlConnector/Protocol/Payloads/EmptyPayload.cs

+

File '/_/src/MySqlConnector/Protocol/Payloads/EmptyPayload.cs' does not exist (any more).

+
+
+
+

Methods/Properties

+Instance()
+EmptyPayload()
+
+
+ + \ No newline at end of file diff --git a/coveragereport/mysqlconnector.dll_EnlistedTransactionBase.html b/coveragereport/mysqlconnector.dll_EnlistedTransactionBase.html new file mode 100644 index 0000000..5b3d2c8 --- /dev/null +++ b/coveragereport/mysqlconnector.dll_EnlistedTransactionBase.html @@ -0,0 +1,184 @@ + + + + + + + +MySqlConnector.Core.EnlistedTransactionBase - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:MySqlConnector.Core.EnlistedTransactionBase
Assembly:mysqlconnector.dll
File(s):/_/src/MySqlConnector/Core/EnlistedTransactionBase.cs
+
+
+
+
+
+
+
Line coverage
+
+
0%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:0
Uncovered lines:28
Coverable lines:28
Total lines:59
Line coverage:0%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+ +

File(s)

+

/_/src/MySqlConnector/Core/EnlistedTransactionBase.cs

+

File '/_/src/MySqlConnector/Core/EnlistedTransactionBase.cs' does not exist (any more).

+
+
+ + \ No newline at end of file diff --git a/coveragereport/mysqlconnector.dll_EofPayload.html b/coveragereport/mysqlconnector.dll_EofPayload.html new file mode 100644 index 0000000..4b6fa0a --- /dev/null +++ b/coveragereport/mysqlconnector.dll_EofPayload.html @@ -0,0 +1,172 @@ + + + + + + + +MySqlConnector.Protocol.Payloads.EofPayload - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:MySqlConnector.Protocol.Payloads.EofPayload
Assembly:mysqlconnector.dll
File(s):/_/src/MySqlConnector/Protocol/Payloads/EofPayload.cs
+
+
+
+
+
+
+
Line coverage
+
+
0%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:0
Uncovered lines:15
Coverable lines:15
Total lines:42
Line coverage:0%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+
+ +++++ + + + + + + +
MethodBlocks covered Blocks not covered
Create(...)014
IsEof(...)07
EofPayload(...)01
+
+

File(s)

+

/_/src/MySqlConnector/Protocol/Payloads/EofPayload.cs

+

File '/_/src/MySqlConnector/Protocol/Payloads/EofPayload.cs' does not exist (any more).

+
+
+ + \ No newline at end of file diff --git a/coveragereport/mysqlconnector.dll_ErrorPayload.html b/coveragereport/mysqlconnector.dll_ErrorPayload.html new file mode 100644 index 0000000..59e8ee5 --- /dev/null +++ b/coveragereport/mysqlconnector.dll_ErrorPayload.html @@ -0,0 +1,173 @@ + + + + + + + +MySqlConnector.Protocol.Payloads.ErrorPayload - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:MySqlConnector.Protocol.Payloads.ErrorPayload
Assembly:mysqlconnector.dll
File(s):/_/src/MySqlConnector/Protocol/Payloads/ErrorPayload.cs
+
+
+
+
+
+
+
Line coverage
+
+
0%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:0
Uncovered lines:18
Coverable lines:18
Total lines:45
Line coverage:0%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+
+ +++++ + + + + + + +
MethodBlocks covered Blocks not covered
ToException()05
Create(...)024
ErrorPayload(...)01
+
+

File(s)

+

/_/src/MySqlConnector/Protocol/Payloads/ErrorPayload.cs

+

File '/_/src/MySqlConnector/Protocol/Payloads/ErrorPayload.cs' does not exist (any more).

+
+
+ + \ No newline at end of file diff --git a/coveragereport/mysqlconnector.dll_FailOverLoadBalancer.html b/coveragereport/mysqlconnector.dll_FailOverLoadBalancer.html new file mode 100644 index 0000000..9370663 --- /dev/null +++ b/coveragereport/mysqlconnector.dll_FailOverLoadBalancer.html @@ -0,0 +1,171 @@ + + + + + + + +MySqlConnector.Core.FailOverLoadBalancer - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:MySqlConnector.Core.FailOverLoadBalancer
Assembly:mysqlconnector.dll
File(s):/_/src/MySqlConnector/Core/ILoadBalancer.cs
+
+
+
+
+
+
+
Line coverage
+
+
100%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:4
Uncovered lines:0
Coverable lines:4
Total lines:21
Line coverage:100%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+
+ +++++ + + + + + + +
MethodBlocks covered Blocks not covered
FailOverLoadBalancer()20
LoadBalance(...)10
FailOverLoadBalancer()20
+
+

File(s)

+

/_/src/MySqlConnector/Core/ILoadBalancer.cs

+

File '/_/src/MySqlConnector/Core/ILoadBalancer.cs' does not exist (any more).

+
+
+ + \ No newline at end of file diff --git a/coveragereport/mysqlconnector.dll_GuidBinary16ColumnReader.html b/coveragereport/mysqlconnector.dll_GuidBinary16ColumnReader.html new file mode 100644 index 0000000..6592d02 --- /dev/null +++ b/coveragereport/mysqlconnector.dll_GuidBinary16ColumnReader.html @@ -0,0 +1,171 @@ + + + + + + + +MySqlConnector.ColumnReaders.GuidBinary16ColumnReader - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:MySqlConnector.ColumnReaders.GuidBinary16ColumnReader
Assembly:mysqlconnector.dll
File(s):/_/src/MySqlConnector/ColumnReaders/GuidBinary16ColumnReader.cs
+
+
+
+
+
+
+
Line coverage
+
+
0%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:0
Uncovered lines:3
Coverable lines:3
Total lines:20
Line coverage:0%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+
+ +++++ + + + + + + +
MethodBlocks covered Blocks not covered
GuidBinary16ColumnReader()02
ReadValue(...)02
ReadGuid(...)02
+
+

File(s)

+

/_/src/MySqlConnector/ColumnReaders/GuidBinary16ColumnReader.cs

+

File '/_/src/MySqlConnector/ColumnReaders/GuidBinary16ColumnReader.cs' does not exist (any more).

+
+
+ + \ No newline at end of file diff --git a/coveragereport/mysqlconnector.dll_GuidChar32ColumnReader.html b/coveragereport/mysqlconnector.dll_GuidChar32ColumnReader.html new file mode 100644 index 0000000..d30c3fc --- /dev/null +++ b/coveragereport/mysqlconnector.dll_GuidChar32ColumnReader.html @@ -0,0 +1,169 @@ + + + + + + + +MySqlConnector.ColumnReaders.GuidChar32ColumnReader - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:MySqlConnector.ColumnReaders.GuidChar32ColumnReader
Assembly:mysqlconnector.dll
File(s):/_/src/MySqlConnector/ColumnReaders/GuidChar32ColumnReader.cs
+
+
+
+
+
+
+
Line coverage
+
+
0%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:0
Uncovered lines:3
Coverable lines:3
Total lines:15
Line coverage:0%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+
+ +++++ + + + + + +
MethodBlocks covered Blocks not covered
GuidChar32ColumnReader()02
ReadValue(...)09
+
+

File(s)

+

/_/src/MySqlConnector/ColumnReaders/GuidChar32ColumnReader.cs

+

File '/_/src/MySqlConnector/ColumnReaders/GuidChar32ColumnReader.cs' does not exist (any more).

+
+
+ + \ No newline at end of file diff --git a/coveragereport/mysqlconnector.dll_GuidChar36ColumnReader.html b/coveragereport/mysqlconnector.dll_GuidChar36ColumnReader.html new file mode 100644 index 0000000..b5b2182 --- /dev/null +++ b/coveragereport/mysqlconnector.dll_GuidChar36ColumnReader.html @@ -0,0 +1,169 @@ + + + + + + + +MySqlConnector.ColumnReaders.GuidChar36ColumnReader - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:MySqlConnector.ColumnReaders.GuidChar36ColumnReader
Assembly:mysqlconnector.dll
File(s):/_/src/MySqlConnector/ColumnReaders/GuidChar36ColumnReader.cs
+
+
+
+
+
+
+
Line coverage
+
+
0%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:0
Uncovered lines:3
Coverable lines:3
Total lines:15
Line coverage:0%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+
+ +++++ + + + + + +
MethodBlocks covered Blocks not covered
GuidChar36ColumnReader()02
ReadValue(...)09
+
+

File(s)

+

/_/src/MySqlConnector/ColumnReaders/GuidChar36ColumnReader.cs

+

File '/_/src/MySqlConnector/ColumnReaders/GuidChar36ColumnReader.cs' does not exist (any more).

+
+
+ + \ No newline at end of file diff --git a/coveragereport/mysqlconnector.dll_GuidLittleEndianBinary16ColumnReader.html b/coveragereport/mysqlconnector.dll_GuidLittleEndianBinary16ColumnReader.html new file mode 100644 index 0000000..743b224 --- /dev/null +++ b/coveragereport/mysqlconnector.dll_GuidLittleEndianBinary16ColumnReader.html @@ -0,0 +1,171 @@ + + + + + + + +MySqlConnector.ColumnReaders.GuidLittleEndianBinary16ColumnReader - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:MySqlConnector.ColumnReaders.GuidLittleEndianBinary16ColumnReader
Assembly:mysqlconnector.dll
File(s):/_/src/MySqlConnector/ColumnReaders/GuidLittleEndianBinary16ColumnReader.cs
+
+
+
+
+
+
+
Line coverage
+
+
0%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:0
Uncovered lines:3
Coverable lines:3
Total lines:17
Line coverage:0%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+
+ +++++ + + + + + + +
MethodBlocks covered Blocks not covered
GuidLittleEndianBinary16ColumnReader()02
ReadValue(...)02
ReadGuid(...)02
+
+

File(s)

+

/_/src/MySqlConnector/ColumnReaders/GuidLittleEndianBinary16ColumnReader.cs

+

File '/_/src/MySqlConnector/ColumnReaders/GuidLittleEndianBinary16ColumnReader.cs' does not exist (any more).

+
+
+ + \ No newline at end of file diff --git a/coveragereport/mysqlconnector.dll_GuidTimeSwapBinary16ColumnReader.html b/coveragereport/mysqlconnector.dll_GuidTimeSwapBinary16ColumnReader.html new file mode 100644 index 0000000..30b6c56 --- /dev/null +++ b/coveragereport/mysqlconnector.dll_GuidTimeSwapBinary16ColumnReader.html @@ -0,0 +1,171 @@ + + + + + + + +MySqlConnector.ColumnReaders.GuidTimeSwapBinary16ColumnReader - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:MySqlConnector.ColumnReaders.GuidTimeSwapBinary16ColumnReader
Assembly:mysqlconnector.dll
File(s):/_/src/MySqlConnector/ColumnReaders/GuidTimeSwapBinary16ColumnReader.cs
+
+
+
+
+
+
+
Line coverage
+
+
0%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:0
Uncovered lines:3
Coverable lines:3
Total lines:20
Line coverage:0%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+
+ +++++ + + + + + + +
MethodBlocks covered Blocks not covered
GuidTimeSwapBinary16ColumnReader()02
ReadValue(...)02
ReadGuid(...)020
+
+

File(s)

+

/_/src/MySqlConnector/ColumnReaders/GuidTimeSwapBinary16ColumnReader.cs

+

File '/_/src/MySqlConnector/ColumnReaders/GuidTimeSwapBinary16ColumnReader.cs' does not exist (any more).

+
+
+ + \ No newline at end of file diff --git a/coveragereport/mysqlconnector.dll_HandshakeResponse41Payload.html b/coveragereport/mysqlconnector.dll_HandshakeResponse41Payload.html new file mode 100644 index 0000000..ec4d3a7 --- /dev/null +++ b/coveragereport/mysqlconnector.dll_HandshakeResponse41Payload.html @@ -0,0 +1,170 @@ + + + + + + + +MySqlConnector.Protocol.Payloads.HandshakeResponse41Payload - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:MySqlConnector.Protocol.Payloads.HandshakeResponse41Payload
Assembly:mysqlconnector.dll
File(s):/_/src/MySqlConnector/Protocol/Payloads/HandshakeResponse41Payload.cs
+
+
+
+
+
+
+
Line coverage
+
+
97%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:43
Uncovered lines:1
Coverable lines:44
Total lines:77
Line coverage:97.7%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+
+ +++++ + + + + + + +
MethodBlocks covered Blocks not covered
CreateCapabilitiesPayload(...)247
CreateWithSsl(...)30
Create(...)240
+
+

File(s)

+

/_/src/MySqlConnector/Protocol/Payloads/HandshakeResponse41Payload.cs

+

File '/_/src/MySqlConnector/Protocol/Payloads/HandshakeResponse41Payload.cs' does not exist (any more).

+
+
+ + \ No newline at end of file diff --git a/coveragereport/mysqlconnector.dll_ICancellableCommandExtensions.html b/coveragereport/mysqlconnector.dll_ICancellableCommandExtensions.html new file mode 100644 index 0000000..935054c --- /dev/null +++ b/coveragereport/mysqlconnector.dll_ICancellableCommandExtensions.html @@ -0,0 +1,170 @@ + + + + + + + +MySqlConnector.Core.ICancellableCommandExtensions - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:MySqlConnector.Core.ICancellableCommandExtensions
Assembly:mysqlconnector.dll
File(s):/_/src/MySqlConnector/Core/ICancellableCommand.cs
+
+
+
+
+
+
+
Line coverage
+
+
72%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:16
Uncovered lines:6
Coverable lines:22
Total lines:92
Line coverage:72.7%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+
+ +++++ + + + + + + +
MethodBlocks covered Blocks not covered
GetNextId()20
ResetCommandTimeout(...)3110
ICancellableCommandExtensions()10
+
+

File(s)

+

/_/src/MySqlConnector/Core/ICancellableCommand.cs

+

File '/_/src/MySqlConnector/Core/ICancellableCommand.cs' does not exist (any more).

+
+
+ + \ No newline at end of file diff --git a/coveragereport/mysqlconnector.dll_IMySqlCommandExtensions.html b/coveragereport/mysqlconnector.dll_IMySqlCommandExtensions.html new file mode 100644 index 0000000..b82f80b --- /dev/null +++ b/coveragereport/mysqlconnector.dll_IMySqlCommandExtensions.html @@ -0,0 +1,166 @@ + + + + + + + +MySqlConnector.Core.IMySqlCommandExtensions - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:MySqlConnector.Core.IMySqlCommandExtensions
Assembly:mysqlconnector.dll
File(s):/_/src/MySqlConnector/Core/IMySqlCommand.cs
+
+
+
+
+
+
+
Line coverage
+
+
77%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:17
Uncovered lines:5
Coverable lines:22
Total lines:54
Line coverage:77.2%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+
+ +++++ + + + + +
MethodBlocks covered Blocks not covered
CreateStatementPreparerOptions(...)1911
+
+

File(s)

+

/_/src/MySqlConnector/Core/IMySqlCommand.cs

+

File '/_/src/MySqlConnector/Core/IMySqlCommand.cs' does not exist (any more).

+
+
+ + \ No newline at end of file diff --git a/coveragereport/mysqlconnector.dll_InitDatabasePayload.html b/coveragereport/mysqlconnector.dll_InitDatabasePayload.html new file mode 100644 index 0000000..ae2dbed --- /dev/null +++ b/coveragereport/mysqlconnector.dll_InitDatabasePayload.html @@ -0,0 +1,166 @@ + + + + + + + +MySqlConnector.Protocol.Payloads.InitDatabasePayload - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:MySqlConnector.Protocol.Payloads.InitDatabasePayload
Assembly:mysqlconnector.dll
File(s):/_/src/MySqlConnector/Protocol/Payloads/InitDatabasePayload.cs
+
+
+
+
+
+
+
Line coverage
+
+
0%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:0
Uncovered lines:4
Coverable lines:4
Total lines:15
Line coverage:0%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+
+ +++++ + + + + +
MethodBlocks covered Blocks not covered
Create(...)05
+
+

File(s)

+

/_/src/MySqlConnector/Protocol/Payloads/InitDatabasePayload.cs

+

File '/_/src/MySqlConnector/Protocol/Payloads/InitDatabasePayload.cs' does not exist (any more).

+
+
+
+

Methods/Properties

+Create(string)
+
+
+ + \ No newline at end of file diff --git a/coveragereport/mysqlconnector.dll_InitialHandshakePayload.html b/coveragereport/mysqlconnector.dll_InitialHandshakePayload.html new file mode 100644 index 0000000..b1b756f --- /dev/null +++ b/coveragereport/mysqlconnector.dll_InitialHandshakePayload.html @@ -0,0 +1,173 @@ + + + + + + + +MySqlConnector.Protocol.Payloads.InitialHandshakePayload - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:MySqlConnector.Protocol.Payloads.InitialHandshakePayload
Assembly:mysqlconnector.dll
File(s):/_/src/MySqlConnector/Protocol/Payloads/InitialHandshakePayload.cs
+
+
+
+
+
+
+
Line coverage
+
+
95%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:40
Uncovered lines:2
Coverable lines:42
Total lines:70
Line coverage:95.2%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+
+ +++++ + + + + + +
MethodBlocks covered Blocks not covered
Create(...)385
InitialHandshakePayload(...)20
+
+

File(s)

+

/_/src/MySqlConnector/Protocol/Payloads/InitialHandshakePayload.cs

+

File '/_/src/MySqlConnector/Protocol/Payloads/InitialHandshakePayload.cs' does not exist (any more).

+
+
+ + \ No newline at end of file diff --git a/coveragereport/mysqlconnector.dll_LocalInfilePayload.html b/coveragereport/mysqlconnector.dll_LocalInfilePayload.html new file mode 100644 index 0000000..a43b8b9 --- /dev/null +++ b/coveragereport/mysqlconnector.dll_LocalInfilePayload.html @@ -0,0 +1,169 @@ + + + + + + + +MySqlConnector.Protocol.Payloads.LocalInfilePayload - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:MySqlConnector.Protocol.Payloads.LocalInfilePayload
Assembly:mysqlconnector.dll
File(s):/_/src/MySqlConnector/Protocol/Payloads/LocalInfilePayload.cs
+
+
+
+
+
+
+
Line coverage
+
+
0%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:0
Uncovered lines:7
Coverable lines:7
Total lines:26
Line coverage:0%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+
+ +++++ + + + + + +
MethodBlocks covered Blocks not covered
Create(...)08
LocalInfilePayload(...)01
+
+

File(s)

+

/_/src/MySqlConnector/Protocol/Payloads/LocalInfilePayload.cs

+

File '/_/src/MySqlConnector/Protocol/Payloads/LocalInfilePayload.cs' does not exist (any more).

+
+
+ + \ No newline at end of file diff --git a/coveragereport/mysqlconnector.dll_Log.html b/coveragereport/mysqlconnector.dll_Log.html new file mode 100644 index 0000000..22f9074 --- /dev/null +++ b/coveragereport/mysqlconnector.dll_Log.html @@ -0,0 +1,502 @@ + + + + + + + +MySqlConnector.Logging.Log - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:MySqlConnector.Logging.Log
Assembly:mysqlconnector.dll
File(s):/_/src/MySqlConnector/Microsoft.Extensions.Logging.Generators/Microsoft.Extensions.Logging.Generators.LoggerMessageGenerator/LoggerMessage.g.cs
+
+
+
+
+
+
+
Line coverage
+
+
4%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:38
Uncovered lines:824
Coverable lines:862
Total lines:2124
Line coverage:4.4%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+
+ +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
MethodBlocks covered Blocks not covered
Log()0533
DataSourceCreatedWithPoolWithName(...)04
DataSourceCreatedWithoutPoolWithName(...)04
DataSourceCreatedWithPoolWithoutName(...)31
DataSourceCreatedWithoutPoolWithoutName(...)04
PeriodicPasswordProviderFailed(...)04
CreatedNonPooledSession(...)04
ResettingConnection(...)04
ReturningToPool(...)31
SendingQuitCommand(...)04
ConnectingFailed(...)04
ServerSentAuthPluginName(...)31
UnsupportedAuthenticationMethod(...)04
AutoDetectedAurora57(...)04
__SessionMadeConnectionStruct(...)01
ToString()025
__SessionMadeConnectionStruct()02
GetEnumerator()09
global::System.Collections.IEnumerable.GetEnumerator()02
SessionMadeConnection(...)33
ServerDoesNotSupportSsl(...)04
CouldNotConnectToServer(...)04
SendingPipelinedResetConnectionRequest(...)31
SendingResetConnectionRequest(...)04
SendingChangeUserRequest(...)04
SendingChangeUserRequestDueToChangedDatabase(...)04
OptimisticReauthenticationFailed(...)04
IgnoringFailureInTryResetConnectionAsync(...)04
SwitchingToAuthenticationMethod(...)04
NeedsSecureConnection(...)04
AuthenticationMethodNotSupported(...)04
CouldNotLoadServerRsaPublicKey(...)04
CouldNotLoadServerRsaPublicKeyFromFile(...)04
CouldNotUseAuthenticationMethodForRsa(...)04
FailedToResolveHostName(...)04
__ConnectingToIpAddressStruct(...)01
ToString()018
__ConnectingToIpAddressStruct()02
GetEnumerator()09
global::System.Collections.IEnumerable.GetEnumerator()02
ConnectingToIpAddress(...)33
ConnectTimeoutExpired(...)04
FailedToConnectToSingleIpAddress(...)04
__FailedToConnectToIpAddressStruct(...)01
ToString()019
__FailedToConnectToIpAddressStruct()02
GetEnumerator()09
global::System.Collections.IEnumerable.GetEnumerator()02
FailedToConnectToIpAddress(...)06
ConnectedToIpAddress(...)31
ConnectingToUnixSocket(...)04
ConnectTimeoutExpiredForUnixSocket(...)04
ConnectingToNamedPipe(...)04
ConnectTimeoutExpiredForNamedPipe(...)04
InitializingTlsConnection(...)31
NoCertificatesFound(...)04
CertificateNotFoundInStore(...)04
CouldNotLoadCertificate(...)04
NoPrivateKeyIncludedWithCertificateFile(...)04
CouldNotLoadCertificateFromFile(...)04
FailedToObtainClientCertificates(...)04
LoadingCaCertificatesFromFile(...)04
__CouldNotLoadCaCertificateFromFileStruct(...)01
ToString()08
__CouldNotLoadCaCertificateFromFileStruct()02
GetEnumerator()09
global::System.Collections.IEnumerable.GetEnumerator()02
CouldNotLoadCaCertificateFromFile(...)06
LoadingCaCertificate(...)04
LoadedCaCertificatesFromFile(...)04
NotUsingRemoteCertificateValidationCallbackDueToSslCa(...)04
NotUsingRemoteCertificateValidationCallbackDueToSslMode(...)04
UsingRemoteCertificateValidationCallback(...)04
ConnectedTlsBasic(...)31
ConnectedTlsDetailed(...)04
CouldNotInitializeTlsConnection(...)04
LoadingClientKeyFromKeyFile(...)04
CouldNotLoadClientKeyFromKeyFile(...)04
DetectedProxy(...)04
ChangingConnectionId(...)04
FailedToGetConnectionId(...)04
ClosingStreamSocket(...)04
CreatingConnectionAttributes(...)31
ObtainingPasswordViaProvidePasswordCallback(...)04
FailedToObtainPassword(...)04
IgnoringCancellationForCommand(...)04
CommandHasBeenCanceled(...)04
IgnoringCancellationForClosedConnection(...)04
CancelingCommandFailed(...)04
WillCancelCommand(...)04
CancelingCommandFromSession(...)04
IgnoringCancellationForInactiveCommand(...)04
CancelingCommand(...)04
SendingSleepToClearPendingCancellation(...)04
GettingCachedProcedure(...)04
PoolDoesNotHaveSharedProcedureCache(...)04
CouldNotNormalizeDatabaseAndName(...)04
FailedToCacheProcedure(...)04
CachingProcedure(...)04
ProcedureCacheCount(...)04
DidNotFindCachedProcedure(...)04
ReturningCachedProcedure(...)04
FailedToRetrieveProcedureMetadata(...)04
ServerDoesNotSupportCachedProcedures(...)04
ProcedureHasRoutineCount(...)04
CreatedNewSession(...)31
PingingServer(...)04
__SuccessfullyPingedServerStruct(...)01
ToString()02
__SuccessfullyPingedServerStruct()02
GetEnumerator()09
global::System.Collections.IEnumerable.GetEnumerator()02
SuccessfullyPingedServer(...)06
PingFailed(...)04
SettingStateToFailed(...)04
ExpectedToReadMoreBytes(...)04
ErrorPayload(...)04
CommandExecutorExecuteReader(...)31
QueryWasInterrupted(...)04
PreparingCommandPayload(...)31
PreparingCommandPayloadWithId(...)04
QueryAttributesNotSupported(...)04
QueryAttributesNotSupportedWithId(...)04
IgnoringExceptionInDisposeAsync(...)04
StartingBulkCopy(...)04
AddingDefaultColumnMapping(...)04
IgnoringColumn(...)04
FinishedBulkCopy(...)04
BulkCopyFailed(...)04
ColumnMappingAlreadyHasExpression(...)04
SettingExpressionToMapColumn(...)04
WaitingForAvailableSession(...)31
FailedInReceiveReplyAsync(...)04
FailedInSendReplyAsync(...)04
CreatingNewConnectionPool(...)31
ScanningForLeakedSessions(...)04
FoundExistingSession(...)31
DiscardingSessionDueToWrongGeneration(...)04
SessionIsUnusable(...)04
ReturningPooledSession(...)31
ReturningNewSession(...)31
DisposingCreatedSessionDueToException(...)04
UnexpectedErrorInGetSessionAsync(...)04
ReceivingSessionBack(...)31
ReceivedInvalidSession(...)04
ReceivedExpiredSession(...)04
ClearingConnectionPool(...)04
DisposingConnectionPool(...)04
RecoveredNoSessions(...)04
RecoveredSessionCount(...)04
FoundSessionToCleanUp(...)04
HasServerRedirectionHeader(...)04
ServerRedirectionIsDisabled(...)04
OpeningNewConnection(...)04
FailedToConnectRedirectedSession(...)04
ClosingSessionToUseRedirectedSession(...)04
SessionAlreadyConnectedToServer(...)04
RequiresServerRedirection(...)04
CreatedPoolWillNotBeUsed(...)04
ReapingConnectionPool(...)04
CheckingForDnsChanges(...)04
DetectedDnsChange(...)04
DnsCheckFailed(...)04
ClearingPoolDueToDnsChanges(...)04
+
+

File(s)

+

/_/src/MySqlConnector/Microsoft.Extensions.Logging.Generators/Microsoft.Extensions.Logging.Generators.LoggerMessageGenerator/LoggerMessage.g.cs

+

File '/_/src/MySqlConnector/Microsoft.Extensions.Logging.Generators/Microsoft.Extensions.Logging.Generators.LoggerMessageGenerator/LoggerMessage.g.cs' does not exist (any more).

+
+
+
+

Methods/Properties

+Log()
+DataSourceCreatedWithPoolWithName(Microsoft.Extensions.Logging.ILogger, int, int, string)
+DataSourceCreatedWithoutPoolWithName(Microsoft.Extensions.Logging.ILogger, int, string)
+DataSourceCreatedWithPoolWithoutName(Microsoft.Extensions.Logging.ILogger, int, int)
+DataSourceCreatedWithoutPoolWithoutName(Microsoft.Extensions.Logging.ILogger, int)
+PeriodicPasswordProviderFailed(Microsoft.Extensions.Logging.ILogger, System.Exception, int, string)
+CreatedNonPooledSession(Microsoft.Extensions.Logging.ILogger, string)
+ResettingConnection(Microsoft.Extensions.Logging.ILogger, string)
+ReturningToPool(Microsoft.Extensions.Logging.ILogger, string, int)
+SendingQuitCommand(Microsoft.Extensions.Logging.ILogger, string)
+ConnectingFailed(Microsoft.Extensions.Logging.ILogger, string)
+ServerSentAuthPluginName(Microsoft.Extensions.Logging.ILogger, string, string)
+UnsupportedAuthenticationMethod(Microsoft.Extensions.Logging.ILogger, string, string)
+AutoDetectedAurora57(Microsoft.Extensions.Logging.ILogger, string, string)
+__SessionMadeConnectionStruct(string, string, int, bool, bool, bool, bool, bool, bool, bool, bool)
+ToString()
+__SessionMadeConnectionStruct()
+Count()
+Item(int)
+GetEnumerator()
+global::System.Collections.IEnumerable.GetEnumerator()
+SessionMadeConnection(Microsoft.Extensions.Logging.ILogger, string, string, int, bool, bool, bool, bool, bool, bool, bool, bool)
+ServerDoesNotSupportSsl(Microsoft.Extensions.Logging.ILogger, string)
+CouldNotConnectToServer(Microsoft.Extensions.Logging.ILogger, System.Exception, string)
+SendingPipelinedResetConnectionRequest(Microsoft.Extensions.Logging.ILogger, string, string)
+SendingResetConnectionRequest(Microsoft.Extensions.Logging.ILogger, string, string)
+SendingChangeUserRequest(Microsoft.Extensions.Logging.ILogger, string, string)
+SendingChangeUserRequestDueToChangedDatabase(Microsoft.Extensions.Logging.ILogger, string, string)
+OptimisticReauthenticationFailed(Microsoft.Extensions.Logging.ILogger, string)
+IgnoringFailureInTryResetConnectionAsync(Microsoft.Extensions.Logging.ILogger, System.Exception, string, string)
+SwitchingToAuthenticationMethod(Microsoft.Extensions.Logging.ILogger, string, string)
+NeedsSecureConnection(Microsoft.Extensions.Logging.ILogger, string, string)
+AuthenticationMethodNotSupported(Microsoft.Extensions.Logging.ILogger, string, string)
+CouldNotLoadServerRsaPublicKey(Microsoft.Extensions.Logging.ILogger, System.Exception, string)
+CouldNotLoadServerRsaPublicKeyFromFile(Microsoft.Extensions.Logging.ILogger, System.Exception, string, string)
+CouldNotUseAuthenticationMethodForRsa(Microsoft.Extensions.Logging.ILogger, string, string)
+FailedToResolveHostName(Microsoft.Extensions.Logging.ILogger, System.Exception, string, string, int, int, string)
+__ConnectingToIpAddressStruct(string, string, int, int, string, int, int)
+ToString()
+__ConnectingToIpAddressStruct()
+Count()
+Item(int)
+GetEnumerator()
+global::System.Collections.IEnumerable.GetEnumerator()
+ConnectingToIpAddress(Microsoft.Extensions.Logging.ILogger, string, string, int, int, string, int, int)
+ConnectTimeoutExpired(Microsoft.Extensions.Logging.ILogger, System.Exception, string, string, string)
+FailedToConnectToSingleIpAddress(Microsoft.Extensions.Logging.ILogger, System.Exception, string, string, string, string)
+__FailedToConnectToIpAddressStruct(string, string, int, int, string, int, int, string)
+ToString()
+__FailedToConnectToIpAddressStruct()
+Count()
+Item(int)
+GetEnumerator()
+global::System.Collections.IEnumerable.GetEnumerator()
+FailedToConnectToIpAddress(Microsoft.Extensions.Logging.ILogger, System.Exception, Microsoft.Extensions.Logging.LogLevel, string, string, int, int, string, int, int, string)
+ConnectedToIpAddress(Microsoft.Extensions.Logging.ILogger, string, string, string, System.Nullable<int>)
+ConnectingToUnixSocket(Microsoft.Extensions.Logging.ILogger, string, string)
+ConnectTimeoutExpiredForUnixSocket(Microsoft.Extensions.Logging.ILogger, string, string)
+ConnectingToNamedPipe(Microsoft.Extensions.Logging.ILogger, string, string, string)
+ConnectTimeoutExpiredForNamedPipe(Microsoft.Extensions.Logging.ILogger, System.Exception, string, string, string)
+InitializingTlsConnection(Microsoft.Extensions.Logging.ILogger, string)
+NoCertificatesFound(Microsoft.Extensions.Logging.ILogger, string)
+CertificateNotFoundInStore(Microsoft.Extensions.Logging.ILogger, string, string)
+CouldNotLoadCertificate(Microsoft.Extensions.Logging.ILogger, System.Exception, string, MySqlConnector.MySqlCertificateStoreLocation)
+NoPrivateKeyIncludedWithCertificateFile(Microsoft.Extensions.Logging.ILogger, string, string)
+CouldNotLoadCertificateFromFile(Microsoft.Extensions.Logging.ILogger, System.Exception, string, string)
+FailedToObtainClientCertificates(Microsoft.Extensions.Logging.ILogger, System.Exception, string, string)
+LoadingCaCertificatesFromFile(Microsoft.Extensions.Logging.ILogger, string, string)
+__CouldNotLoadCaCertificateFromFileStruct(string, string)
+ToString()
+__CouldNotLoadCaCertificateFromFileStruct()
+Count()
+Item(int)
+GetEnumerator()
+global::System.Collections.IEnumerable.GetEnumerator()
+CouldNotLoadCaCertificateFromFile(Microsoft.Extensions.Logging.ILogger, System.Exception, Microsoft.Extensions.Logging.LogLevel, string, string)
+LoadingCaCertificate(Microsoft.Extensions.Logging.ILogger, string, int)
+LoadedCaCertificatesFromFile(Microsoft.Extensions.Logging.ILogger, string, int, string)
+NotUsingRemoteCertificateValidationCallbackDueToSslCa(Microsoft.Extensions.Logging.ILogger, string)
+NotUsingRemoteCertificateValidationCallbackDueToSslMode(Microsoft.Extensions.Logging.ILogger, string, MySqlConnector.MySqlSslMode)
+UsingRemoteCertificateValidationCallback(Microsoft.Extensions.Logging.ILogger, string)
+ConnectedTlsBasic(Microsoft.Extensions.Logging.ILogger, string, System.Security.Authentication.SslProtocols, System.Net.Security.TlsCipherSuite)
+ConnectedTlsDetailed(Microsoft.Extensions.Logging.ILogger, string, System.Security.Authentication.SslProtocols, System.Security.Authentication.CipherAlgorithmType, System.Security.Authentication.HashAlgorithmType, System.Security.Authentication.ExchangeAlgorithmType, int)
+CouldNotInitializeTlsConnection(Microsoft.Extensions.Logging.ILogger, System.Exception, string)
+LoadingClientKeyFromKeyFile(Microsoft.Extensions.Logging.ILogger, string, string)
+CouldNotLoadClientKeyFromKeyFile(Microsoft.Extensions.Logging.ILogger, System.Exception, string, string)
+DetectedProxy(Microsoft.Extensions.Logging.ILogger, string)
+ChangingConnectionId(Microsoft.Extensions.Logging.ILogger, string, int, int, string, string)
+FailedToGetConnectionId(Microsoft.Extensions.Logging.ILogger, System.Exception, string)
+ClosingStreamSocket(Microsoft.Extensions.Logging.ILogger, string)
+CreatingConnectionAttributes(Microsoft.Extensions.Logging.ILogger, string)
+ObtainingPasswordViaProvidePasswordCallback(Microsoft.Extensions.Logging.ILogger, string)
+FailedToObtainPassword(Microsoft.Extensions.Logging.ILogger, System.Exception, string, string)
+IgnoringCancellationForCommand(Microsoft.Extensions.Logging.ILogger, int)
+CommandHasBeenCanceled(Microsoft.Extensions.Logging.ILogger, int, string, string)
+IgnoringCancellationForClosedConnection(Microsoft.Extensions.Logging.ILogger, System.Exception, string)
+CancelingCommandFailed(Microsoft.Extensions.Logging.ILogger, System.Exception, string, int)
+WillCancelCommand(Microsoft.Extensions.Logging.ILogger, string, int, int, string)
+CancelingCommandFromSession(Microsoft.Extensions.Logging.ILogger, string, int, string, string)
+IgnoringCancellationForInactiveCommand(Microsoft.Extensions.Logging.ILogger, string, int, int)
+CancelingCommand(Microsoft.Extensions.Logging.ILogger, string, int, string)
+SendingSleepToClearPendingCancellation(Microsoft.Extensions.Logging.ILogger, string)
+GettingCachedProcedure(Microsoft.Extensions.Logging.ILogger, string, string)
+PoolDoesNotHaveSharedProcedureCache(Microsoft.Extensions.Logging.ILogger, string, System.Nullable<int>)
+CouldNotNormalizeDatabaseAndName(Microsoft.Extensions.Logging.ILogger, string, string, string)
+FailedToCacheProcedure(Microsoft.Extensions.Logging.ILogger, string, string, string)
+CachingProcedure(Microsoft.Extensions.Logging.ILogger, string, string, string)
+ProcedureCacheCount(Microsoft.Extensions.Logging.ILogger, string, int)
+DidNotFindCachedProcedure(Microsoft.Extensions.Logging.ILogger, string, string, string)
+ReturningCachedProcedure(Microsoft.Extensions.Logging.ILogger, string, string, string)
+FailedToRetrieveProcedureMetadata(Microsoft.Extensions.Logging.ILogger, System.Exception, string, string, string, string)
+ServerDoesNotSupportCachedProcedures(Microsoft.Extensions.Logging.ILogger, string, string)
+ProcedureHasRoutineCount(Microsoft.Extensions.Logging.ILogger, string, string, int, int)
+CreatedNewSession(Microsoft.Extensions.Logging.ILogger, string)
+PingingServer(Microsoft.Extensions.Logging.ILogger, string)
+__SuccessfullyPingedServerStruct(string)
+ToString()
+__SuccessfullyPingedServerStruct()
+Count()
+Item(int)
+GetEnumerator()
+global::System.Collections.IEnumerable.GetEnumerator()
+SuccessfullyPingedServer(Microsoft.Extensions.Logging.ILogger, Microsoft.Extensions.Logging.LogLevel, string)
+PingFailed(Microsoft.Extensions.Logging.ILogger, System.Exception, string, string)
+SettingStateToFailed(Microsoft.Extensions.Logging.ILogger, System.Exception, string)
+ExpectedToReadMoreBytes(Microsoft.Extensions.Logging.ILogger, string, int, int)
+ErrorPayload(Microsoft.Extensions.Logging.ILogger, string, int, string, string)
+CommandExecutorExecuteReader(Microsoft.Extensions.Logging.ILogger, string, MySqlConnector.Protocol.Serialization.IOBehavior, int)
+QueryWasInterrupted(Microsoft.Extensions.Logging.ILogger, string)
+PreparingCommandPayload(Microsoft.Extensions.Logging.ILogger, string, string)
+PreparingCommandPayloadWithId(Microsoft.Extensions.Logging.ILogger, string, int, string)
+QueryAttributesNotSupported(Microsoft.Extensions.Logging.ILogger, string, string)
+QueryAttributesNotSupportedWithId(Microsoft.Extensions.Logging.ILogger, string, int)
+IgnoringExceptionInDisposeAsync(Microsoft.Extensions.Logging.ILogger, System.Exception, string, string, string)
+StartingBulkCopy(Microsoft.Extensions.Logging.ILogger, string)
+AddingDefaultColumnMapping(Microsoft.Extensions.Logging.ILogger, int, string)
+IgnoringColumn(Microsoft.Extensions.Logging.ILogger, int)
+FinishedBulkCopy(Microsoft.Extensions.Logging.ILogger, string)
+BulkCopyFailed(Microsoft.Extensions.Logging.ILogger, string, int, int)
+ColumnMappingAlreadyHasExpression(Microsoft.Extensions.Logging.ILogger, int, string, string)
+SettingExpressionToMapColumn(Microsoft.Extensions.Logging.ILogger, int, string, string)
+WaitingForAvailableSession(Microsoft.Extensions.Logging.ILogger, int)
+FailedInReceiveReplyAsync(Microsoft.Extensions.Logging.ILogger, System.Exception, string)
+FailedInSendReplyAsync(Microsoft.Extensions.Logging.ILogger, System.Exception, string)
+CreatingNewConnectionPool(Microsoft.Extensions.Logging.ILogger, int, string)
+ScanningForLeakedSessions(Microsoft.Extensions.Logging.ILogger, int)
+FoundExistingSession(Microsoft.Extensions.Logging.ILogger, int)
+DiscardingSessionDueToWrongGeneration(Microsoft.Extensions.Logging.ILogger, int)
+SessionIsUnusable(Microsoft.Extensions.Logging.ILogger, int, string)
+ReturningPooledSession(Microsoft.Extensions.Logging.ILogger, int, string, int)
+ReturningNewSession(Microsoft.Extensions.Logging.ILogger, int, string, int)
+DisposingCreatedSessionDueToException(Microsoft.Extensions.Logging.ILogger, System.Exception, int, string, string)
+UnexpectedErrorInGetSessionAsync(Microsoft.Extensions.Logging.ILogger, System.Exception, int, string)
+ReceivingSessionBack(Microsoft.Extensions.Logging.ILogger, int, string)
+ReceivedInvalidSession(Microsoft.Extensions.Logging.ILogger, int, string)
+ReceivedExpiredSession(Microsoft.Extensions.Logging.ILogger, int, string)
+ClearingConnectionPool(Microsoft.Extensions.Logging.ILogger, int)
+DisposingConnectionPool(Microsoft.Extensions.Logging.ILogger, int)
+RecoveredNoSessions(Microsoft.Extensions.Logging.ILogger, int)
+RecoveredSessionCount(Microsoft.Extensions.Logging.ILogger, int, int)
+FoundSessionToCleanUp(Microsoft.Extensions.Logging.ILogger, int, string)
+HasServerRedirectionHeader(Microsoft.Extensions.Logging.ILogger, string, string)
+ServerRedirectionIsDisabled(Microsoft.Extensions.Logging.ILogger, int)
+OpeningNewConnection(Microsoft.Extensions.Logging.ILogger, int, string, int, string)
+FailedToConnectRedirectedSession(Microsoft.Extensions.Logging.ILogger, System.Exception, int, string)
+ClosingSessionToUseRedirectedSession(Microsoft.Extensions.Logging.ILogger, int, string, string)
+SessionAlreadyConnectedToServer(Microsoft.Extensions.Logging.ILogger, string)
+RequiresServerRedirection(Microsoft.Extensions.Logging.ILogger, int)
+CreatedPoolWillNotBeUsed(Microsoft.Extensions.Logging.ILogger, int)
+ReapingConnectionPool(Microsoft.Extensions.Logging.ILogger, int)
+CheckingForDnsChanges(Microsoft.Extensions.Logging.ILogger, int)
+DetectedDnsChange(Microsoft.Extensions.Logging.ILogger, int, string, string, string)
+DnsCheckFailed(Microsoft.Extensions.Logging.ILogger, System.Exception, int, string, string)
+ClearingPoolDueToDnsChanges(Microsoft.Extensions.Logging.ILogger, int)
+
+
+ + \ No newline at end of file diff --git a/coveragereport/mysqlconnector.dll_MetricsReporter.html b/coveragereport/mysqlconnector.dll_MetricsReporter.html new file mode 100644 index 0000000..84b8cf3 --- /dev/null +++ b/coveragereport/mysqlconnector.dll_MetricsReporter.html @@ -0,0 +1,186 @@ + + + + + + + +MySqlConnector.Core.MetricsReporter - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:MySqlConnector.Core.MetricsReporter
Assembly:mysqlconnector.dll
File(s):/_/src/MySqlConnector/Core/MetricsReporter.cs
+
+
+
+
+
+
+
Line coverage
+
+
92%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:35
Uncovered lines:3
Coverable lines:38
Total lines:60
Line coverage:92.1%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+ +

File(s)

+

/_/src/MySqlConnector/Core/MetricsReporter.cs

+

File '/_/src/MySqlConnector/Core/MetricsReporter.cs' does not exist (any more).

+
+
+ + \ No newline at end of file diff --git a/coveragereport/mysqlconnector.dll_MySqlAttribute.html b/coveragereport/mysqlconnector.dll_MySqlAttribute.html new file mode 100644 index 0000000..d429768 --- /dev/null +++ b/coveragereport/mysqlconnector.dll_MySqlAttribute.html @@ -0,0 +1,178 @@ + + + + + + + +MySqlConnector.MySqlAttribute - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:MySqlConnector.MySqlAttribute
Assembly:mysqlconnector.dll
File(s):/_/src/MySqlConnector/MySqlAttribute.cs
+
+
+
+
+
+
+
Line coverage
+
+
0%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:0
Uncovered lines:10
Coverable lines:10
Total lines:41
Line coverage:0%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+
+ +++++ + + + + + + + + +
MethodBlocks covered Blocks not covered
MySqlAttribute(...)04
MySqlAttribute()02
Clone()04
System.ICloneable.Clone()02
ToParameter()09
+
+

File(s)

+

/_/src/MySqlConnector/MySqlAttribute.cs

+

File '/_/src/MySqlConnector/MySqlAttribute.cs' does not exist (any more).

+
+
+ + \ No newline at end of file diff --git a/coveragereport/mysqlconnector.dll_MySqlAttributeCollection.html b/coveragereport/mysqlconnector.dll_MySqlAttributeCollection.html new file mode 100644 index 0000000..688b278 --- /dev/null +++ b/coveragereport/mysqlconnector.dll_MySqlAttributeCollection.html @@ -0,0 +1,180 @@ + + + + + + + +MySqlConnector.MySqlAttributeCollection - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:MySqlConnector.MySqlAttributeCollection
Assembly:mysqlconnector.dll
File(s):/_/src/MySqlConnector/MySqlAttributeCollection.cs
+
+
+
+
+
+
+
Line coverage
+
+
0%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:0
Uncovered lines:21
Coverable lines:21
Total lines:96
Line coverage:0%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+
+ +++++ + + + + + + + + + + +
MethodBlocks covered Blocks not covered
Add(...)022
SetAttribute(...)015
Clear()02
GetEnumerator()02
Remove(...)02
System.Collections.IEnumerable.GetEnumerator()02
MySqlAttributeCollection()03
+
+

File(s)

+

/_/src/MySqlConnector/MySqlAttributeCollection.cs

+

File '/_/src/MySqlConnector/MySqlAttributeCollection.cs' does not exist (any more).

+
+
+ + \ No newline at end of file diff --git a/coveragereport/mysqlconnector.dll_MySqlBatch.html b/coveragereport/mysqlconnector.dll_MySqlBatch.html new file mode 100644 index 0000000..abdb5ce --- /dev/null +++ b/coveragereport/mysqlconnector.dll_MySqlBatch.html @@ -0,0 +1,246 @@ + + + + + + + +MySqlConnector.MySqlBatch - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:MySqlConnector.MySqlBatch
Assembly:mysqlconnector.dll
File(s):/_/src/MySqlConnector/MySqlBatch.cs
+
+
+
+
+
+
+
Line coverage
+
+
0%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:0
Uncovered lines:138
Coverable lines:138
Total lines:413
Line coverage:0%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+ +

File(s)

+

/_/src/MySqlConnector/MySqlBatch.cs

+

File '/_/src/MySqlConnector/MySqlBatch.cs' does not exist (any more).

+
+
+
+

Methods/Properties

+MySqlBatch()
+MySqlBatch(MySqlConnector.MySqlConnection, MySqlConnector.MySqlTransaction)
+Connection()
+Connection(MySqlConnector.MySqlConnection)
+DbConnection()
+DbConnection(System.Data.Common.DbConnection)
+Transaction()
+Transaction(MySqlConnector.MySqlTransaction)
+DbTransaction()
+DbTransaction(System.Data.Common.DbTransaction)
+BatchCommands()
+DbBatchCommands()
+ExecuteReader(System.Data.CommandBehavior)
+ExecuteReaderAsync()
+ExecuteDbDataReader(System.Data.CommandBehavior)
+ExecuteDbDataReaderAsync()
+ExecuteReaderAsync(System.Data.CommandBehavior, MySqlConnector.Protocol.Serialization.IOBehavior, System.Threading.CancellationToken)
+ExecuteNonQuery()
+ExecuteScalar()
+ExecuteNonQueryAsync(System.Threading.CancellationToken)
+ExecuteScalarAsync(System.Threading.CancellationToken)
+Timeout()
+Timeout(int)
+Prepare()
+PrepareAsync(System.Threading.CancellationToken)
+Cancel()
+CreateDbBatchCommand()
+Dispose()
+CurrentCommandBehavior()
+CurrentCommandBehavior(System.Data.CommandBehavior)
+MySqlConnector.Core.ICancellableCommand.get_CommandId()
+MySqlConnector.Core.ICancellableCommand.get_CommandTimeout()
+MySqlConnector.Core.ICancellableCommand.get_EffectiveCommandTimeout()
+MySqlConnector.Core.ICancellableCommand.set_EffectiveCommandTimeout(System.Nullable<int>)
+MySqlConnector.Core.ICancellableCommand.get_CancelAttemptCount()
+MySqlConnector.Core.ICancellableCommand.set_CancelAttemptCount(int)
+MySqlConnector.Core.ICancellableCommand.RegisterCancel(System.Threading.CancellationToken)
+MySqlConnector.Core.ICancellableCommand.SetTimeout(int)
+MySqlConnector.Core.ICancellableCommand.get_IsTimedOut()
+CancelCommandForTimeout()
+ExecuteNonQueryAsync()
+ExecuteScalarAsync()
+IsValid(out System.Exception)
+NeedsPrepare(out System.Exception)
+GetExceptionForInvalidCommands()
+PrepareAsync(MySqlConnector.Protocol.Serialization.IOBehavior, System.Threading.CancellationToken)
+DoPrepareAsync()
+IsPrepared()
+AsyncIOBehavior()
+
+
+ + \ No newline at end of file diff --git a/coveragereport/mysqlconnector.dll_MySqlBatchCommand.html b/coveragereport/mysqlconnector.dll_MySqlBatchCommand.html new file mode 100644 index 0000000..e0b9484 --- /dev/null +++ b/coveragereport/mysqlconnector.dll_MySqlBatchCommand.html @@ -0,0 +1,208 @@ + + + + + + + +MySqlConnector.MySqlBatchCommand - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:MySqlConnector.MySqlBatchCommand
Assembly:mysqlconnector.dll
File(s):/_/src/MySqlConnector/MySqlBatchCommand.cs
+
+
+
+
+
+
+
Line coverage
+
+
0%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:0
Uncovered lines:26
Coverable lines:26
Total lines:93
Line coverage:0%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+ +

File(s)

+

/_/src/MySqlConnector/MySqlBatchCommand.cs

+

File '/_/src/MySqlConnector/MySqlBatchCommand.cs' does not exist (any more).

+
+
+ + \ No newline at end of file diff --git a/coveragereport/mysqlconnector.dll_MySqlBatchCommandCollection.html b/coveragereport/mysqlconnector.dll_MySqlBatchCommandCollection.html new file mode 100644 index 0000000..fea85a6 --- /dev/null +++ b/coveragereport/mysqlconnector.dll_MySqlBatchCommandCollection.html @@ -0,0 +1,193 @@ + + + + + + + +MySqlConnector.MySqlBatchCommandCollection - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:MySqlConnector.MySqlBatchCommandCollection
Assembly:mysqlconnector.dll
File(s):/_/src/MySqlConnector/MySqlBatchCommandCollection.cs
+
+
+
+
+
+
+
Line coverage
+
+
0%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:0
Uncovered lines:18
Coverable lines:18
Total lines:54
Line coverage:0%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+ +

File(s)

+

/_/src/MySqlConnector/MySqlBatchCommandCollection.cs

+

File '/_/src/MySqlConnector/MySqlBatchCommandCollection.cs' does not exist (any more).

+
+
+ + \ No newline at end of file diff --git a/coveragereport/mysqlconnector.dll_MySqlBulkCopy.html b/coveragereport/mysqlconnector.dll_MySqlBulkCopy.html new file mode 100644 index 0000000..e075907 --- /dev/null +++ b/coveragereport/mysqlconnector.dll_MySqlBulkCopy.html @@ -0,0 +1,194 @@ + + + + + + + +MySqlConnector.MySqlBulkCopy - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:MySqlConnector.MySqlBulkCopy
Assembly:mysqlconnector.dll
File(s):/_/src/MySqlConnector/MySqlBulkCopy.cs
+
+
+
+
+
+
+
Line coverage
+
+
0%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:0
Uncovered lines:294
Coverable lines:294
Total lines:705
Line coverage:0%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+ +

File(s)

+

/_/src/MySqlConnector/MySqlBulkCopy.cs

+

File '/_/src/MySqlConnector/MySqlBulkCopy.cs' does not exist (any more).

+
+
+ + \ No newline at end of file diff --git a/coveragereport/mysqlconnector.dll_MySqlBulkCopyColumnMapping.html b/coveragereport/mysqlconnector.dll_MySqlBulkCopyColumnMapping.html new file mode 100644 index 0000000..ad5aeb0 --- /dev/null +++ b/coveragereport/mysqlconnector.dll_MySqlBulkCopyColumnMapping.html @@ -0,0 +1,174 @@ + + + + + + + +MySqlConnector.MySqlBulkCopyColumnMapping - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:MySqlConnector.MySqlBulkCopyColumnMapping
Assembly:mysqlconnector.dll
File(s):/_/src/MySqlConnector/MySqlBulkCopyColumnMapping.cs
+
+
+
+
+
+
+
Line coverage
+
+
0%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:0
Uncovered lines:6
Coverable lines:6
Total lines:61
Line coverage:0%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+
+ +++++ + + + + + +
MethodBlocks covered Blocks not covered
MySqlBulkCopyColumnMapping(...)02
MySqlBulkCopyColumnMapping()02
+
+

File(s)

+

/_/src/MySqlConnector/MySqlBulkCopyColumnMapping.cs

+

File '/_/src/MySqlConnector/MySqlBulkCopyColumnMapping.cs' does not exist (any more).

+
+
+ + \ No newline at end of file diff --git a/coveragereport/mysqlconnector.dll_MySqlBulkCopyResult.html b/coveragereport/mysqlconnector.dll_MySqlBulkCopyResult.html new file mode 100644 index 0000000..8bdf5ee --- /dev/null +++ b/coveragereport/mysqlconnector.dll_MySqlBulkCopyResult.html @@ -0,0 +1,168 @@ + + + + + + + +MySqlConnector.MySqlBulkCopyResult - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:MySqlConnector.MySqlBulkCopyResult
Assembly:mysqlconnector.dll
File(s):/_/src/MySqlConnector/MySqlBulkCopyResult.cs
+
+
+
+
+
+
+
Line coverage
+
+
0%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:0
Uncovered lines:6
Coverable lines:6
Total lines:24
Line coverage:0%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+
+ +++++ + + + + +
MethodBlocks covered Blocks not covered
MySqlBulkCopyResult(...)02
+
+

File(s)

+

/_/src/MySqlConnector/MySqlBulkCopyResult.cs

+

File '/_/src/MySqlConnector/MySqlBulkCopyResult.cs' does not exist (any more).

+
+
+ + \ No newline at end of file diff --git a/coveragereport/mysqlconnector.dll_MySqlBulkLoader.html b/coveragereport/mysqlconnector.dll_MySqlBulkLoader.html new file mode 100644 index 0000000..d5f122e --- /dev/null +++ b/coveragereport/mysqlconnector.dll_MySqlBulkLoader.html @@ -0,0 +1,222 @@ + + + + + + + +MySqlConnector.MySqlBulkLoader - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:MySqlConnector.MySqlBulkLoader
Assembly:mysqlconnector.dll
File(s):/_/src/MySqlConnector/MySqlBulkLoader.cs
+
+
+
+
+
+
+
Line coverage
+
+
0%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:0
Uncovered lines:120
Coverable lines:120
Total lines:324
Line coverage:0%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+ +

File(s)

+

/_/src/MySqlConnector/MySqlBulkLoader.cs

+

File '/_/src/MySqlConnector/MySqlBulkLoader.cs' does not exist (any more).

+
+
+ + \ No newline at end of file diff --git a/coveragereport/mysqlconnector.dll_MySqlCommand.html b/coveragereport/mysqlconnector.dll_MySqlCommand.html new file mode 100644 index 0000000..7743459 --- /dev/null +++ b/coveragereport/mysqlconnector.dll_MySqlCommand.html @@ -0,0 +1,303 @@ + + + + + + + +MySqlConnector.MySqlCommand - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:MySqlConnector.MySqlCommand
Assembly:mysqlconnector.dll
File(s):/_/src/MySqlConnector/MySqlCommand.cs
+
+
+
+
+
+
+
Line coverage
+
+
42%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:81
Uncovered lines:110
Coverable lines:191
Total lines:464
Line coverage:42.4%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+
+ +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
MethodBlocks covered Blocks not covered
MySqlCommand()02
MySqlCommand(...)02
MySqlCommand(...)20
MySqlCommand(...)02
MySqlCommand(...)90
MySqlCommand(...)013
MySqlConnector.Core.IMySqlCommand.get_RawParameters()10
MySqlConnector.Core.IMySqlCommand.get_RawAttributes()10
CreateParameter()02
Cancel()05
ExecuteNonQuery()04
ExecuteScalar()04
ExecuteReader()03
ExecuteReader(...)04
Prepare()011
PrepareAsync(...)03
CloneRawParameters()017
CloneRawAttributes()018
MySqlConnector.Core.IMySqlCommand.get_AllowUserVariables()20
PrepareAsync(...)011
NeedsPrepare(...)047
MySqlConnector.Core.IMySqlCommand.SetLastInsertedId(...)20
CreateDbParameter()02
ExecuteDbDataReader(...)04
ExecuteNonQueryAsync(...)40
ExecuteNonQueryAsync()478
ExecuteScalarAsync(...)04
ExecuteScalarAsync()058
ExecuteReaderAsync(...)40
ExecuteReaderAsync(...)04
ExecuteDbDataReaderAsync()017
ExecuteReaderAsync()232
ExecuteReaderNoResetTimeoutAsync(...)133
Clone()02
System.ICloneable.Clone()02
Dispose(...)20
DisposeAsync()02
MySqlConnector.Core.ICancellableCommand.RegisterCancel(...)35
MySqlConnector.Core.ICancellableCommand.SetTimeout(...)120
MySqlConnector.Core.ICancellableCommand.get_IsTimedOut()02
MySqlConnector.Core.ICancellableCommand.get_CommandId()10
MySqlConnector.Core.ICancellableCommand.get_EffectiveCommandTimeout()10
MySqlConnector.Core.ICancellableCommand.set_EffectiveCommandTimeout(...)10
MySqlConnector.Core.ICancellableCommand.get_CancelAttemptCount()01
MySqlConnector.Core.ICancellableCommand.set_CancelAttemptCount(...)10
MySqlConnector.Core.IMySqlCommand.get_CancellableCommand()10
CancelCommandForTimeout()06
IsValid(...)1721
MySqlConnector.Core.IMySqlCommand.TryGetPreparedStatements()121
MySqlConnector.Core.IMySqlCommand.get_CommandBehavior()10
MySqlConnector.Core.IMySqlCommand.get_OutParameters()10
MySqlConnector.Core.IMySqlCommand.set_OutParameters(...)01
MySqlConnector.Core.IMySqlCommand.get_ReturnParameter()10
MySqlConnector.Core.IMySqlCommand.set_ReturnParameter(...)01
MySqlConnector.Core.IMySqlCommand.get_Logger()40
+
+

File(s)

+

/_/src/MySqlConnector/MySqlCommand.cs

+

File '/_/src/MySqlConnector/MySqlCommand.cs' does not exist (any more).

+
+
+
+

Methods/Properties

+MySqlCommand()
+MySqlCommand(string)
+MySqlCommand(MySqlConnector.MySqlConnection, MySqlConnector.MySqlTransaction)
+MySqlCommand(string, MySqlConnector.MySqlConnection)
+MySqlCommand(string, MySqlConnector.MySqlConnection, MySqlConnector.MySqlTransaction)
+MySqlCommand(MySqlConnector.MySqlCommand)
+Parameters()
+MySqlConnector.Core.IMySqlCommand.get_RawParameters()
+Attributes()
+MySqlConnector.Core.IMySqlCommand.get_RawAttributes()
+CreateParameter()
+Cancel()
+ExecuteNonQuery()
+ExecuteScalar()
+ExecuteReader()
+ExecuteReader(System.Data.CommandBehavior)
+Prepare()
+PrepareAsync(System.Threading.CancellationToken)
+CloneRawParameters()
+CloneRawAttributes()
+MySqlConnector.Core.IMySqlCommand.get_AllowUserVariables()
+AllowUserVariables()
+AllowUserVariables(bool)
+NoActivity()
+NoActivity(bool)
+PrepareAsync(MySqlConnector.Protocol.Serialization.IOBehavior, System.Threading.CancellationToken)
+NeedsPrepare(out System.Exception)
+CommandText()
+CommandText(string)
+IsPrepared()
+Transaction()
+Transaction(MySqlConnector.MySqlTransaction)
+Connection()
+Connection(MySqlConnector.MySqlConnection)
+CommandTimeout()
+CommandTimeout(int)
+CommandType()
+CommandType(System.Data.CommandType)
+DesignTimeVisible()
+DesignTimeVisible(bool)
+UpdatedRowSource()
+UpdatedRowSource(System.Data.UpdateRowSource)
+LastInsertedId()
+LastInsertedId(long)
+MySqlConnector.Core.IMySqlCommand.SetLastInsertedId(long)
+DbConnection()
+DbConnection(System.Data.Common.DbConnection)
+DbParameterCollection()
+DbTransaction()
+DbTransaction(System.Data.Common.DbTransaction)
+CreateDbParameter()
+ExecuteDbDataReader(System.Data.CommandBehavior)
+ExecuteNonQueryAsync(System.Threading.CancellationToken)
+ExecuteNonQueryAsync()
+ExecuteScalarAsync(System.Threading.CancellationToken)
+ExecuteScalarAsync()
+ExecuteReaderAsync(System.Threading.CancellationToken)
+ExecuteReaderAsync(System.Data.CommandBehavior, System.Threading.CancellationToken)
+ExecuteDbDataReaderAsync()
+ExecuteReaderAsync()
+ExecuteReaderNoResetTimeoutAsync(System.Data.CommandBehavior, MySqlConnector.Protocol.Serialization.IOBehavior, System.Threading.CancellationToken)
+Clone()
+System.ICloneable.Clone()
+Dispose(bool)
+DisposeAsync()
+MySqlConnector.Core.ICancellableCommand.RegisterCancel(System.Threading.CancellationToken)
+MySqlConnector.Core.ICancellableCommand.SetTimeout(int)
+MySqlConnector.Core.ICancellableCommand.get_IsTimedOut()
+MySqlConnector.Core.ICancellableCommand.get_CommandId()
+MySqlConnector.Core.ICancellableCommand.get_EffectiveCommandTimeout()
+MySqlConnector.Core.ICancellableCommand.set_EffectiveCommandTimeout(System.Nullable<int>)
+MySqlConnector.Core.ICancellableCommand.get_CancelAttemptCount()
+MySqlConnector.Core.ICancellableCommand.set_CancelAttemptCount(int)
+MySqlConnector.Core.IMySqlCommand.get_CancellableCommand()
+AsyncIOBehavior()
+CancelCommandForTimeout()
+IsValid(out System.Exception)
+MySqlConnector.Core.IMySqlCommand.TryGetPreparedStatements()
+MySqlConnector.Core.IMySqlCommand.get_CommandBehavior()
+MySqlConnector.Core.IMySqlCommand.get_OutParameters()
+MySqlConnector.Core.IMySqlCommand.set_OutParameters(MySqlConnector.MySqlParameterCollection)
+MySqlConnector.Core.IMySqlCommand.get_ReturnParameter()
+MySqlConnector.Core.IMySqlCommand.set_ReturnParameter(MySqlConnector.MySqlParameter)
+MySqlConnector.Core.IMySqlCommand.get_Logger()
+
+
+ + \ No newline at end of file diff --git a/coveragereport/mysqlconnector.dll_MySqlCommandBuilder.html b/coveragereport/mysqlconnector.dll_MySqlCommandBuilder.html new file mode 100644 index 0000000..1a2bec8 --- /dev/null +++ b/coveragereport/mysqlconnector.dll_MySqlCommandBuilder.html @@ -0,0 +1,200 @@ + + + + + + + +MySqlConnector.MySqlCommandBuilder - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:MySqlConnector.MySqlCommandBuilder
Assembly:mysqlconnector.dll
File(s):/_/src/MySqlConnector/MySqlCommandBuilder.cs
+
+
+
+
+
+
+
Line coverage
+
+
0%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:0
Uncovered lines:51
Coverable lines:51
Total lines:103
Line coverage:0%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+ +

File(s)

+

/_/src/MySqlConnector/MySqlCommandBuilder.cs

+

File '/_/src/MySqlConnector/MySqlCommandBuilder.cs' does not exist (any more).

+
+
+ + \ No newline at end of file diff --git a/coveragereport/mysqlconnector.dll_MySqlConnection.html b/coveragereport/mysqlconnector.dll_MySqlConnection.html new file mode 100644 index 0000000..0efa773 --- /dev/null +++ b/coveragereport/mysqlconnector.dll_MySqlConnection.html @@ -0,0 +1,338 @@ + + + + + + + +MySqlConnector.MySqlConnection - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:MySqlConnector.MySqlConnection
Assembly:mysqlconnector.dll
File(s):/_/src/MySqlConnector/MySqlConnection.cs
+
+
+
+
+
+
+
Line coverage
+
+
22%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:110
Uncovered lines:379
Coverable lines:489
Total lines:1126
Line coverage:22.4%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+
+ +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
MethodBlocks covered Blocks not covered
MySqlConnection()02
MySqlConnection(...)05
MySqlConnection(...)40
MySqlConnection(...)40
BeginTransaction()04
BeginTransaction(...)04
BeginTransaction(...)05
BeginDbTransaction(...)04
BeginTransactionAsync(...)03
BeginTransactionAsync(...)03
BeginDbTransactionAsync()017
BeginTransactionAsync(...)04
BeginTransactionAsync()096
EnlistTransaction(...)048
UnenlistTransaction()032
FindExistingEnlistedSession(...)041
TakeSessionFrom(...)03
Close()04
CloseAsync()03
CloseAsync(...)02
ChangeDatabase(...)05
ChangeDatabaseAsync(...)03
ChangeDatabaseAsync()047
CreateCommand()20
Ping()05
PingAsync(...)04
PingAsync()025
Open()06
OpenAsync(...)20
OpenAsync()4957
ResetConnectionAsync()036
ClearPool(...)05
ClearPoolAsync(...)03
ClearAllPools()05
ClearAllPoolsAsync(...)02
ClearPoolAsync()019
CreateDbCommand()20
GetSchema()05
GetSchema(...)05
GetSchema(...)05
GetSchemaAsync(...)05
GetSchemaAsync(...)05
GetSchemaAsync(...)05
GetSchemaProvider()04
CreateBatch()02
CreateDbBatch()02
Dispose(...)80
DisposeAsync()022
Clone()02
System.ICloneable.Clone()02
CloneWith(...)030
SetSessionFailed(...)02
Cancel(...)080
GetCachedProcedure()092
SetActiveReader(...)32
FinishQuerying(...)325
CreateSessionAsync()47113
SetState(...)122
MySqlConnection(...)09
VerifyNotDisposed()20
CloseAsync()2716
DoCloseAsync()099
CloseDatabaseAsync()033
GetConnectionSettings()23
GetInitializedConnectionSettings()10
MySqlConnection()60
+
+

File(s)

+

/_/src/MySqlConnector/MySqlConnection.cs

+

File '/_/src/MySqlConnector/MySqlConnection.cs' does not exist (any more).

+
+
+
+

Methods/Properties

+MySqlConnection()
+MySqlConnection(string)
+MySqlConnection(MySqlConnector.MySqlDataSource)
+MySqlConnection(string, MySqlConnector.Logging.MySqlConnectorLoggingConfiguration)
+BeginTransaction()
+BeginTransaction(System.Data.IsolationLevel)
+BeginTransaction(System.Data.IsolationLevel, bool)
+BeginDbTransaction(System.Data.IsolationLevel)
+BeginTransactionAsync(System.Threading.CancellationToken)
+BeginTransactionAsync(System.Data.IsolationLevel, System.Threading.CancellationToken)
+BeginDbTransactionAsync()
+BeginTransactionAsync(System.Data.IsolationLevel, bool, System.Threading.CancellationToken)
+BeginTransactionAsync()
+EnlistTransaction(System.Transactions.Transaction)
+UnenlistTransaction()
+FindExistingEnlistedSession(System.Transactions.Transaction)
+TakeSessionFrom(MySqlConnector.MySqlConnection)
+Close()
+CloseAsync()
+CloseAsync(MySqlConnector.Protocol.Serialization.IOBehavior)
+ChangeDatabase(string)
+ChangeDatabaseAsync(string, System.Threading.CancellationToken)
+ChangeDatabaseAsync()
+CreateCommand()
+Ping()
+PingAsync(System.Threading.CancellationToken)
+PingAsync()
+Open()
+OpenAsync(System.Threading.CancellationToken)
+OpenAsync()
+ResetConnectionAsync()
+ConnectionString()
+ConnectionString(string)
+Database()
+State()
+DataSource()
+ServerVersion()
+ServerThread()
+ProvideClientCertificatesCallback()
+ProvideClientCertificatesCallback(System.Func<System.Security.Cryptography.X509Certificates.X509CertificateCollection, System.Threading.Tasks.ValueTask>)
+ProvidePasswordCallback()
+ProvidePasswordCallback(System.Func<MySqlConnector.MySqlProvidePasswordContext, string>)
+RemoteCertificateValidationCallback()
+RemoteCertificateValidationCallback(System.Net.Security.RemoteCertificateValidationCallback)
+ClearPool(MySqlConnector.MySqlConnection)
+ClearPoolAsync(MySqlConnector.MySqlConnection, System.Threading.CancellationToken)
+ClearAllPools()
+ClearAllPoolsAsync(System.Threading.CancellationToken)
+ClearPoolAsync()
+CreateDbCommand()
+DbProviderFactory()
+GetSchema()
+GetSchema(string)
+GetSchema(string, string[])
+GetSchemaAsync(System.Threading.CancellationToken)
+GetSchemaAsync(string, System.Threading.CancellationToken)
+GetSchemaAsync(string, string[], System.Threading.CancellationToken)
+GetSchemaProvider()
+ConnectionTimeout()
+CreateBatch()
+CreateDbBatch()
+CanCreateBatch()
+Dispose(bool)
+DisposeAsync()
+Clone()
+System.ICloneable.Clone()
+CloneWith(string)
+Session()
+SetSessionFailed(System.Exception)
+Cancel(MySqlConnector.Core.ICancellableCommand, int, bool)
+GetCachedProcedure()
+CurrentTransaction()
+CurrentTransaction(MySqlConnector.MySqlTransaction)
+LoggingConfiguration()
+AllowLoadLocalInfile()
+AllowUserVariables()
+AllowZeroDateTime()
+ConvertZeroDateTime()
+DateTimeKind()
+DefaultCommandTimeout()
+GuidFormat()
+IgnoreCommandTransaction()
+IgnorePrepare()
+NoBackslashEscapes()
+TreatTinyAsBoolean()
+AsyncIOBehavior()
+SimpleAsyncIOBehavior()
+SslMode()
+ActiveCommandId()
+SupportsPerQueryVariables()
+HasActiveReader()
+SetActiveReader(MySqlConnector.MySqlDataReader)
+FinishQuerying(bool)
+CreateSessionAsync()
+SslIsEncrypted()
+SslIsSigned()
+SslIsAuthenticated()
+SslIsMutuallyAuthenticated()
+SslProtocol()
+SetState(System.Data.ConnectionState)
+MySqlConnection(MySqlConnector.MySqlConnection, MySqlConnector.MySqlDataSource, string, bool)
+VerifyNotDisposed()
+CloseAsync()
+DoCloseAsync()
+CloseDatabaseAsync()
+GetConnectionSettings()
+GetInitializedConnectionSettings()
+MySqlConnection()
+
+
+ + \ No newline at end of file diff --git a/coveragereport/mysqlconnector.dll_MySqlConnectionStringBuilder.html b/coveragereport/mysqlconnector.dll_MySqlConnectionStringBuilder.html new file mode 100644 index 0000000..7ac7da5 --- /dev/null +++ b/coveragereport/mysqlconnector.dll_MySqlConnectionStringBuilder.html @@ -0,0 +1,295 @@ + + + + + + + +MySqlConnector.MySqlConnectionStringBuilder - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:MySqlConnector.MySqlConnectionStringBuilder
Assembly:mysqlconnector.dll
File(s):/_/src/MySqlConnector/MySqlConnectionStringBuilder.cs
+
+
+
+
+
+
+
Line coverage
+
+
48%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:73
Uncovered lines:76
Coverable lines:149
Total lines:886
Line coverage:48.9%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+ +

File(s)

+

/_/src/MySqlConnector/MySqlConnectionStringBuilder.cs

+

File '/_/src/MySqlConnector/MySqlConnectionStringBuilder.cs' does not exist (any more).

+
+
+
+

Methods/Properties

+MySqlConnectionStringBuilder()
+MySqlConnectionStringBuilder(string)
+Server()
+Server(string)
+Port()
+Port(uint)
+UserID()
+UserID(string)
+Password()
+Password(string)
+Database()
+Database(string)
+LoadBalance()
+LoadBalance(MySqlConnector.MySqlLoadBalance)
+ConnectionProtocol()
+ConnectionProtocol(MySqlConnector.MySqlConnectionProtocol)
+PipeName()
+PipeName(string)
+SslMode()
+SslMode(MySqlConnector.MySqlSslMode)
+CertificateFile()
+CertificateFile(string)
+CertificatePassword()
+CertificatePassword(string)
+CertificateStoreLocation()
+CertificateStoreLocation(MySqlConnector.MySqlCertificateStoreLocation)
+CertificateThumbprint()
+CertificateThumbprint(string)
+SslCert()
+SslCert(string)
+SslKey()
+SslKey(string)
+CACertificateFile()
+CACertificateFile(string)
+SslCa()
+SslCa(string)
+TlsVersion()
+TlsVersion(string)
+TlsCipherSuites()
+TlsCipherSuites(string)
+Pooling()
+Pooling(bool)
+ConnectionLifeTime()
+ConnectionLifeTime(uint)
+ConnectionReset()
+ConnectionReset(bool)
+DeferConnectionReset()
+DeferConnectionReset(bool)
+ConnectionIdlePingTime()
+ConnectionIdlePingTime(uint)
+ConnectionIdleTimeout()
+ConnectionIdleTimeout(uint)
+MinimumPoolSize()
+MinimumPoolSize(uint)
+MaximumPoolSize()
+MaximumPoolSize(uint)
+DnsCheckInterval()
+DnsCheckInterval(uint)
+AllowLoadLocalInfile()
+AllowLoadLocalInfile(bool)
+AllowPublicKeyRetrieval()
+AllowPublicKeyRetrieval(bool)
+AllowUserVariables()
+AllowUserVariables(bool)
+AllowZeroDateTime()
+AllowZeroDateTime(bool)
+ApplicationName()
+ApplicationName(string)
+AutoEnlist()
+AutoEnlist(bool)
+CancellationTimeout()
+CancellationTimeout(int)
+CharacterSet()
+CharacterSet(string)
+ConnectionTimeout()
+ConnectionTimeout(uint)
+ConvertZeroDateTime()
+ConvertZeroDateTime(bool)
+DateTimeKind()
+DateTimeKind(MySqlConnector.MySqlDateTimeKind)
+DefaultCommandTimeout()
+DefaultCommandTimeout(uint)
+ForceSynchronous()
+ForceSynchronous(bool)
+GuidFormat()
+GuidFormat(MySqlConnector.MySqlGuidFormat)
+IgnoreCommandTransaction()
+IgnoreCommandTransaction(bool)
+IgnorePrepare()
+IgnorePrepare(bool)
+InteractiveSession()
+InteractiveSession(bool)
+Keepalive()
+Keepalive(uint)
+NoBackslashEscapes()
+NoBackslashEscapes(bool)
+OldGuids()
+OldGuids(bool)
+PersistSecurityInfo()
+PersistSecurityInfo(bool)
+Pipelining()
+Pipelining(bool)
+ServerRedirectionMode()
+ServerRedirectionMode(MySqlConnector.MySqlServerRedirectionMode)
+ServerRsaPublicKeyFile()
+ServerRsaPublicKeyFile(string)
+ServerSPN()
+ServerSPN(string)
+TreatTinyAsBoolean()
+TreatTinyAsBoolean(bool)
+UseAffectedRows()
+UseAffectedRows(bool)
+UseCompression()
+UseCompression(bool)
+UseXaTransactions()
+UseXaTransactions(bool)
+Keys()
+ContainsKey(string)
+Remove(string)
+Item(string)
+Item(string, object)
+DoSetValue(string, object)
+GetConnectionString(bool)
+GetProperties(System.Collections.Hashtable)
+
+
+ + \ No newline at end of file diff --git a/coveragereport/mysqlconnector.dll_MySqlConnectionStringOption.html b/coveragereport/mysqlconnector.dll_MySqlConnectionStringOption.html new file mode 100644 index 0000000..790f903 --- /dev/null +++ b/coveragereport/mysqlconnector.dll_MySqlConnectionStringOption.html @@ -0,0 +1,181 @@ + + + + + + + +MySqlConnector.MySqlConnectionStringOption - Coverage Report + +
+

< Summary

+
+ +
+
+
+
Line coverage
+
+
99%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:228
Uncovered lines:1
Coverable lines:229
Total lines:1363
Line coverage:99.5%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+ +

File(s)

+

/_/src/MySqlConnector/MySqlConnectionStringBuilder.cs

+

File '/_/src/MySqlConnector/MySqlConnectionStringBuilder.cs' does not exist (any more).

+

/_/src/MySqlConnector/System.Text.RegularExpressions.Generator/System.Text.RegularExpressions.Generator.RegexGenerator/RegexGenerator.g.cs

+

File '/_/src/MySqlConnector/System.Text.RegularExpressions.Generator/System.Text.RegularExpressions.Generator.RegexGenerator/RegexGenerator.g.cs' does not exist (any more).

+
+
+ + \ No newline at end of file diff --git a/coveragereport/mysqlconnector.dll_MySqlConnectionStringReferenceOption_T_.html b/coveragereport/mysqlconnector.dll_MySqlConnectionStringReferenceOption_T_.html new file mode 100644 index 0000000..db59dbf --- /dev/null +++ b/coveragereport/mysqlconnector.dll_MySqlConnectionStringReferenceOption_T_.html @@ -0,0 +1,176 @@ + + + + + + + +MySqlConnector.MySqlConnectionStringReferenceOption<T> - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:MySqlConnector.MySqlConnectionStringReferenceOption<T>
Assembly:mysqlconnector.dll
File(s):/_/src/MySqlConnector/MySqlConnectionStringBuilder.cs
+
+
+
+
+
+
+
Line coverage
+
+
88%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:8
Uncovered lines:1
Coverable lines:9
Total lines:1380
Line coverage:88.8%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+
+ +++++ + + + + + + + + + +
MethodBlocks covered Blocks not covered
MySqlConnectionStringReferenceOption(...)20
GetValue(...)60
SetValue(...)52
GetObject(...)02
SetObject(...)30
ChangeType(...)40
+
+

File(s)

+

/_/src/MySqlConnector/MySqlConnectionStringBuilder.cs

+

File '/_/src/MySqlConnector/MySqlConnectionStringBuilder.cs' does not exist (any more).

+
+
+ + \ No newline at end of file diff --git a/coveragereport/mysqlconnector.dll_MySqlConnectionStringValueOption_T_.html b/coveragereport/mysqlconnector.dll_MySqlConnectionStringValueOption_T_.html new file mode 100644 index 0000000..0c0eb10 --- /dev/null +++ b/coveragereport/mysqlconnector.dll_MySqlConnectionStringValueOption_T_.html @@ -0,0 +1,176 @@ + + + + + + + +MySqlConnector.MySqlConnectionStringValueOption<T> - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:MySqlConnector.MySqlConnectionStringValueOption<T>
Assembly:mysqlconnector.dll
File(s):/_/src/MySqlConnector/MySqlConnectionStringBuilder.cs
+
+
+
+
+
+
+
Line coverage
+
+
47%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:11
Uncovered lines:12
Coverable lines:23
Total lines:1353
Line coverage:47.8%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+
+ +++++ + + + + + + + + + +
MethodBlocks covered Blocks not covered
MySqlConnectionStringValueOption(...)20
GetValue(...)60
SetValue(...)52
GetObject(...)02
SetObject(...)30
ChangeType(...)3837
+
+

File(s)

+

/_/src/MySqlConnector/MySqlConnectionStringBuilder.cs

+

File '/_/src/MySqlConnector/MySqlConnectionStringBuilder.cs' does not exist (any more).

+
+
+ + \ No newline at end of file diff --git a/coveragereport/mysqlconnector.dll_MySqlConnectorFactory.html b/coveragereport/mysqlconnector.dll_MySqlConnectorFactory.html new file mode 100644 index 0000000..f022d60 --- /dev/null +++ b/coveragereport/mysqlconnector.dll_MySqlConnectorFactory.html @@ -0,0 +1,190 @@ + + + + + + + +MySqlConnector.MySqlConnectorFactory - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:MySqlConnector.MySqlConnectorFactory
Assembly:mysqlconnector.dll
File(s):/_/src/MySqlConnector/MySqlConnectorFactory.cs
+
+
+
+
+
+
+
Line coverage
+
+
0%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:0
Uncovered lines:16
Coverable lines:16
Total lines:103
Line coverage:0%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+ +

File(s)

+

/_/src/MySqlConnector/MySqlConnectorFactory.cs

+

File '/_/src/MySqlConnector/MySqlConnectorFactory.cs' does not exist (any more).

+
+
+ + \ No newline at end of file diff --git a/coveragereport/mysqlconnector.dll_MySqlConnectorLogManager.html b/coveragereport/mysqlconnector.dll_MySqlConnectorLogManager.html new file mode 100644 index 0000000..37425c4 --- /dev/null +++ b/coveragereport/mysqlconnector.dll_MySqlConnectorLogManager.html @@ -0,0 +1,183 @@ + + + + + + + +MySqlConnector.Logging.MySqlConnectorLogManager - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:MySqlConnector.Logging.MySqlConnectorLogManager
Assembly:mysqlconnector.dll
File(s):/_/src/MySqlConnector/Logging/MySqlConnectorLogManager.cs
+
+
+
+
+
+
+
Line coverage
+
+
0%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:0
Uncovered lines:20
Coverable lines:20
Total lines:62
Line coverage:0%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+ +

File(s)

+

/_/src/MySqlConnector/Logging/MySqlConnectorLogManager.cs

+

File '/_/src/MySqlConnector/Logging/MySqlConnectorLogManager.cs' does not exist (any more).

+
+
+ + \ No newline at end of file diff --git a/coveragereport/mysqlconnector.dll_MySqlConnectorLoggingConfiguration.html b/coveragereport/mysqlconnector.dll_MySqlConnectorLoggingConfiguration.html new file mode 100644 index 0000000..04e9148 --- /dev/null +++ b/coveragereport/mysqlconnector.dll_MySqlConnectorLoggingConfiguration.html @@ -0,0 +1,176 @@ + + + + + + + +MySqlConnector.Logging.MySqlConnectorLoggingConfiguration - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:MySqlConnector.Logging.MySqlConnectorLoggingConfiguration
Assembly:mysqlconnector.dll
File(s):/_/src/MySqlConnector/Logging/MySqlConnectorLoggingConfiguration.cs
+
+
+
+
+
+
+
Line coverage
+
+
100%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:8
Uncovered lines:0
Coverable lines:8
Total lines:16
Line coverage:100%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+
+ +++++ + + + + + +
MethodBlocks covered Blocks not covered
MySqlConnectorLoggingConfiguration(...)70
MySqlConnectorLoggingConfiguration()30
+
+

File(s)

+

/_/src/MySqlConnector/Logging/MySqlConnectorLoggingConfiguration.cs

+

File '/_/src/MySqlConnector/Logging/MySqlConnectorLoggingConfiguration.cs' does not exist (any more).

+
+
+ + \ No newline at end of file diff --git a/coveragereport/mysqlconnector.dll_MySqlConversionException.html b/coveragereport/mysqlconnector.dll_MySqlConversionException.html new file mode 100644 index 0000000..e0b5165 --- /dev/null +++ b/coveragereport/mysqlconnector.dll_MySqlConversionException.html @@ -0,0 +1,168 @@ + + + + + + + +MySqlConnector.MySqlConversionException - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:MySqlConnector.MySqlConversionException
Assembly:mysqlconnector.dll
File(s):/_/src/MySqlConnector/MySqlConversionException.cs
+
+
+
+
+
+
+
Line coverage
+
+
0%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:0
Uncovered lines:4
Coverable lines:4
Total lines:27
Line coverage:0%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+
+ +++++ + + + + + +
MethodBlocks covered Blocks not covered
MySqlConversionException(...)02
MySqlConversionException(...)02
+
+

File(s)

+

/_/src/MySqlConnector/MySqlConversionException.cs

+

File '/_/src/MySqlConnector/MySqlConversionException.cs' does not exist (any more).

+
+
+ + \ No newline at end of file diff --git a/coveragereport/mysqlconnector.dll_MySqlDataAdapter.html b/coveragereport/mysqlconnector.dll_MySqlDataAdapter.html new file mode 100644 index 0000000..d8dc030 --- /dev/null +++ b/coveragereport/mysqlconnector.dll_MySqlDataAdapter.html @@ -0,0 +1,211 @@ + + + + + + + +MySqlConnector.MySqlDataAdapter - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:MySqlConnector.MySqlDataAdapter
Assembly:mysqlconnector.dll
File(s):/_/src/MySqlConnector/MySqlDataAdapter.cs
+
+
+
+
+
+
+
Line coverage
+
+
0%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:0
Uncovered lines:110
Coverable lines:110
Total lines:237
Line coverage:0%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+ +

File(s)

+

/_/src/MySqlConnector/MySqlDataAdapter.cs

+

File '/_/src/MySqlConnector/MySqlDataAdapter.cs' does not exist (any more).

+
+
+ + \ No newline at end of file diff --git a/coveragereport/mysqlconnector.dll_MySqlDataReader.html b/coveragereport/mysqlconnector.dll_MySqlDataReader.html new file mode 100644 index 0000000..5135d5f --- /dev/null +++ b/coveragereport/mysqlconnector.dll_MySqlDataReader.html @@ -0,0 +1,353 @@ + + + + + + + +MySqlConnector.MySqlDataReader - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:MySqlConnector.MySqlDataReader
Assembly:mysqlconnector.dll
File(s):/_/src/MySqlConnector/MySqlDataReader.cs
+
+
+
+
+
+
+
Line coverage
+
+
23%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:92
Uncovered lines:293
Coverable lines:385
Total lines:694
Line coverage:23.8%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+
+ +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
MethodBlocks covered Blocks not covered
NextResult()010
Read()06
ReadAsync()245
ReadAsync(...)20
NextResultAsync()041
NextResultAsync()2680
ActivateResultSet(...)437
ScanResultSetAsync()1242
GetName(...)03
GetValues(...)04
IsDBNull(...)40
GetOrdinal(...)03
GetBoolean(...)40
GetBoolean(...)03
GetByte(...)04
GetByte(...)03
GetSByte(...)04
GetSByte(...)03
GetBytes(...)04
GetBytes(...)05
GetChar(...)04
GetChar(...)03
GetChars(...)04
GetGuid(...)40
GetGuid(...)03
GetInt16(...)04
GetInt16(...)03
GetInt32(...)40
GetInt32(...)03
GetInt64(...)04
GetInt64(...)03
GetDataTypeName(...)03
GetFieldType(...)03
GetFieldType(...)03
GetValue(...)04
GetEnumerator()02
GetDbDataReader(...)02
GetDateOnly(...)03
GetDateOnly(...)03
GetDateTime(...)40
GetDateTime(...)03
GetDateTimeOffset(...)04
GetDateTimeOffset(...)03
GetMySqlDateTime(...)04
GetMySqlDateTime(...)03
GetMySqlGeometry(...)04
GetMySqlGeometry(...)03
GetMySqlDecimal(...)04
GetMySqlDecimal(...)03
GetTimeOnly(...)03
GetTimeOnly(...)03
GetTimeSpan(...)02
GetTimeSpan(...)03
GetStream(...)04
GetStream(...)03
GetTextReader(...)03
GetTextReader(...)03
GetString(...)40
GetString(...)03
GetDecimal(...)04
GetDecimal(...)03
GetDouble(...)04
GetDouble(...)03
GetFloat(...)40
GetFloat(...)03
GetUInt16(...)04
GetUInt16(...)03
GetUInt32(...)04
GetUInt32(...)03
GetUInt64(...)04
GetUInt64(...)03
GetSchemaTable()04
GetSchemaTableAsync(...)04
Close()50
GetColumnSchema()025
GetColumnSchemaAsync(...)04
GetFieldValue<T>(...)0150
Dispose(...)90
DisposeAsync()07
InitAsync()3333
BuildSchemaTable()0133
MySqlDataReader()30
DisposeAsync()3928
ReadOutParametersAsync()057
VerifyNotDisposed()32
GetResultSet()52
+
+

File(s)

+

/_/src/MySqlConnector/MySqlDataReader.cs

+

File '/_/src/MySqlConnector/MySqlDataReader.cs' does not exist (any more).

+
+
+
+

Methods/Properties

+NextResult()
+Read()
+ReadAsync()
+ReadAsync(MySqlConnector.Protocol.Serialization.IOBehavior, System.Threading.CancellationToken)
+NextResultAsync()
+NextResultAsync()
+ActivateResultSet(System.Threading.CancellationToken)
+ScanResultSetAsync()
+GetName(int)
+GetValues(object[])
+IsDBNull(int)
+FieldCount()
+Item(int)
+Item(string)
+HasRows()
+IsClosed()
+RecordsAffected()
+GetOrdinal(string)
+GetBoolean(int)
+GetBoolean(string)
+GetByte(int)
+GetByte(string)
+GetSByte(int)
+GetSByte(string)
+GetBytes(int, long, byte[], int, int)
+GetBytes(string, long, byte[], int, int)
+GetChar(int)
+GetChar(string)
+GetChars(int, long, char[], int, int)
+GetGuid(int)
+GetGuid(string)
+GetInt16(int)
+GetInt16(string)
+GetInt32(int)
+GetInt32(string)
+GetInt64(int)
+GetInt64(string)
+GetDataTypeName(int)
+GetFieldType(string)
+GetFieldType(int)
+GetValue(int)
+GetEnumerator()
+Depth()
+GetDbDataReader(int)
+GetDateOnly(int)
+GetDateOnly(string)
+GetDateTime(int)
+GetDateTime(string)
+GetDateTimeOffset(int)
+GetDateTimeOffset(string)
+GetMySqlDateTime(int)
+GetMySqlDateTime(string)
+GetMySqlGeometry(int)
+GetMySqlGeometry(string)
+GetMySqlDecimal(int)
+GetMySqlDecimal(string)
+GetTimeOnly(int)
+GetTimeOnly(string)
+GetTimeSpan(int)
+GetTimeSpan(string)
+GetStream(int)
+GetStream(string)
+GetTextReader(int)
+GetTextReader(string)
+GetString(int)
+GetString(string)
+GetDecimal(int)
+GetDecimal(string)
+GetDouble(int)
+GetDouble(string)
+GetFloat(int)
+GetFloat(string)
+GetUInt16(int)
+GetUInt16(string)
+GetUInt32(int)
+GetUInt32(string)
+GetUInt64(int)
+GetUInt64(string)
+VisibleFieldCount()
+GetSchemaTable()
+GetSchemaTableAsync(System.Threading.CancellationToken)
+Close()
+GetColumnSchema()
+GetColumnSchemaAsync(System.Threading.CancellationToken)
+GetFieldValue<T>(int)
+Dispose(bool)
+DisposeAsync()
+Activity()
+Activity(System.Diagnostics.Activity)
+Command()
+Command(MySqlConnector.Core.IMySqlCommand)
+Connection()
+RealRecordsAffected()
+RealRecordsAffected(System.Nullable<ulong>)
+Session()
+InitAsync()
+BuildSchemaTable()
+MySqlDataReader()
+DisposeAsync()
+ReadOutParametersAsync()
+VerifyNotDisposed()
+LastUsedPreparedStatement()
+GetResultSet()
+
+
+ + \ No newline at end of file diff --git a/coveragereport/mysqlconnector.dll_MySqlDataSource.html b/coveragereport/mysqlconnector.dll_MySqlDataSource.html new file mode 100644 index 0000000..5bbbbc0 --- /dev/null +++ b/coveragereport/mysqlconnector.dll_MySqlDataSource.html @@ -0,0 +1,193 @@ + + + + + + + +MySqlConnector.MySqlDataSource - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:MySqlConnector.MySqlDataSource
Assembly:mysqlconnector.dll
File(s):/_/src/MySqlConnector/MySqlDataSource.cs
+
+
+
+
+
+
+
Line coverage
+
+
41%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:35
Uncovered lines:49
Coverable lines:84
Total lines:212
Line coverage:41.6%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+ +

File(s)

+

/_/src/MySqlConnector/MySqlDataSource.cs

+

File '/_/src/MySqlConnector/MySqlDataSource.cs' does not exist (any more).

+
+
+ + \ No newline at end of file diff --git a/coveragereport/mysqlconnector.dll_MySqlDataSourceBuilder.html b/coveragereport/mysqlconnector.dll_MySqlDataSourceBuilder.html new file mode 100644 index 0000000..e94b43e --- /dev/null +++ b/coveragereport/mysqlconnector.dll_MySqlDataSourceBuilder.html @@ -0,0 +1,179 @@ + + + + + + + +MySqlConnector.MySqlDataSourceBuilder - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:MySqlConnector.MySqlDataSourceBuilder
Assembly:mysqlconnector.dll
File(s):/_/src/MySqlConnector/MySqlDataSourceBuilder.cs
+
+
+
+
+
+
+
Line coverage
+
+
0%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:0
Uncovered lines:26
Coverable lines:26
Total lines:113
Line coverage:0%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+ +

File(s)

+

/_/src/MySqlConnector/MySqlDataSourceBuilder.cs

+

File '/_/src/MySqlConnector/MySqlDataSourceBuilder.cs' does not exist (any more).

+
+
+ + \ No newline at end of file diff --git a/coveragereport/mysqlconnector.dll_MySqlDateTime.html b/coveragereport/mysqlconnector.dll_MySqlDateTime.html new file mode 100644 index 0000000..3fbc4c2 --- /dev/null +++ b/coveragereport/mysqlconnector.dll_MySqlDateTime.html @@ -0,0 +1,249 @@ + + + + + + + +MySqlConnector.MySqlDateTime - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:MySqlConnector.MySqlDateTime
Assembly:mysqlconnector.dll
File(s):/_/src/MySqlConnector/MySqlDateTime.cs
+
+
+
+
+
+
+
Line coverage
+
+
0%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:0
Uncovered lines:74
Coverable lines:74
Total lines:203
Line coverage:0%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+ +

File(s)

+

/_/src/MySqlConnector/MySqlDateTime.cs

+

File '/_/src/MySqlConnector/MySqlDateTime.cs' does not exist (any more).

+
+
+
+

Methods/Properties

+MySqlDateTime(System.DateTime)
+MySqlDateTime(MySqlConnector.MySqlDateTime)
+IsValidDateTime()
+MySqlDateTime(int, int, int, int, int, int, int)
+Year()
+Year(int)
+Month()
+Month(int)
+Day()
+Day(int)
+Hour()
+Hour(int)
+Minute()
+Minute(int)
+Second()
+Second(int)
+Microsecond()
+Microsecond(int)
+Millisecond()
+Millisecond(int)
+GetDateTime()
+ToString()
+op_Explicit(MySqlConnector.MySqlDateTime)
+Equals(object)
+GetHashCode()
+op_Equality(MySqlConnector.MySqlDateTime, MySqlConnector.MySqlDateTime)
+op_Inequality(MySqlConnector.MySqlDateTime, MySqlConnector.MySqlDateTime)
+op_LessThan(MySqlConnector.MySqlDateTime, MySqlConnector.MySqlDateTime)
+op_LessThanOrEqual(MySqlConnector.MySqlDateTime, MySqlConnector.MySqlDateTime)
+op_GreaterThan(MySqlConnector.MySqlDateTime, MySqlConnector.MySqlDateTime)
+op_GreaterThanOrEqual(MySqlConnector.MySqlDateTime, MySqlConnector.MySqlDateTime)
+System.IComparable.CompareTo(object)
+System.IComparable<MySqlConnector.MySqlDateTime>.CompareTo(MySqlConnector.MySqlDateTime)
+System.IEquatable<MySqlConnector.MySqlDateTime>.Equals(MySqlConnector.MySqlDateTime)
+System.IConvertible.ToDateTime(System.IFormatProvider)
+System.IConvertible.ToString(System.IFormatProvider)
+System.IConvertible.ToType(System.Type, System.IFormatProvider)
+System.IConvertible.GetTypeCode()
+System.IConvertible.ToBoolean(System.IFormatProvider)
+System.IConvertible.ToChar(System.IFormatProvider)
+System.IConvertible.ToSByte(System.IFormatProvider)
+System.IConvertible.ToByte(System.IFormatProvider)
+System.IConvertible.ToInt16(System.IFormatProvider)
+System.IConvertible.ToUInt16(System.IFormatProvider)
+System.IConvertible.ToInt32(System.IFormatProvider)
+System.IConvertible.ToUInt32(System.IFormatProvider)
+System.IConvertible.ToInt64(System.IFormatProvider)
+System.IConvertible.ToUInt64(System.IFormatProvider)
+System.IConvertible.ToSingle(System.IFormatProvider)
+System.IConvertible.ToDouble(System.IFormatProvider)
+System.IConvertible.ToDecimal(System.IFormatProvider)
+
+
+ + \ No newline at end of file diff --git a/coveragereport/mysqlconnector.dll_MySqlDbColumn.html b/coveragereport/mysqlconnector.dll_MySqlDbColumn.html new file mode 100644 index 0000000..7bf5723 --- /dev/null +++ b/coveragereport/mysqlconnector.dll_MySqlDbColumn.html @@ -0,0 +1,167 @@ + + + + + + + +MySqlConnector.MySqlDbColumn - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:MySqlConnector.MySqlDbColumn
Assembly:mysqlconnector.dll
File(s):/_/src/MySqlConnector/MySqlDbColumn.cs
+
+
+
+
+
+
+
Line coverage
+
+
0%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:0
Uncovered lines:37
Coverable lines:37
Total lines:54
Line coverage:0%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+
+ +++++ + + + + +
MethodBlocks covered Blocks not covered
MySqlDbColumn(...)0114
+
+

File(s)

+

/_/src/MySqlConnector/MySqlDbColumn.cs

+

File '/_/src/MySqlConnector/MySqlDbColumn.cs' does not exist (any more).

+
+
+ + \ No newline at end of file diff --git a/coveragereport/mysqlconnector.dll_MySqlDecimal.html b/coveragereport/mysqlconnector.dll_MySqlDecimal.html new file mode 100644 index 0000000..50e46b7 --- /dev/null +++ b/coveragereport/mysqlconnector.dll_MySqlDecimal.html @@ -0,0 +1,173 @@ + + + + + + + +MySqlConnector.MySqlDecimal - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:MySqlConnector.MySqlDecimal
Assembly:mysqlconnector.dll
File(s):/_/src/MySqlConnector/MySqlDecimal.cs
+
+
+
+
+
+
+
Line coverage
+
+
0%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:0
Uncovered lines:13
Coverable lines:13
Total lines:50
Line coverage:0%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+
+ +++++ + + + + + + + +
MethodBlocks covered Blocks not covered
ToDouble()03
ToString()01
MySqlDecimal(...)030
MySqlDecimal()02
+
+

File(s)

+

/_/src/MySqlConnector/MySqlDecimal.cs

+

File '/_/src/MySqlConnector/MySqlDecimal.cs' does not exist (any more).

+
+
+ + \ No newline at end of file diff --git a/coveragereport/mysqlconnector.dll_MySqlEndOfStreamException.html b/coveragereport/mysqlconnector.dll_MySqlEndOfStreamException.html new file mode 100644 index 0000000..3d3338e --- /dev/null +++ b/coveragereport/mysqlconnector.dll_MySqlEndOfStreamException.html @@ -0,0 +1,168 @@ + + + + + + + +MySqlConnector.MySqlEndOfStreamException - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:MySqlConnector.MySqlEndOfStreamException
Assembly:mysqlconnector.dll
File(s):/_/src/MySqlConnector/MySqlEndOfStreamException.cs
+
+
+
+
+
+
+
Line coverage
+
+
0%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:0
Uncovered lines:6
Coverable lines:6
Total lines:15
Line coverage:0%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+
+ +++++ + + + + +
MethodBlocks covered Blocks not covered
MySqlEndOfStreamException(...)02
+
+

File(s)

+

/_/src/MySqlConnector/MySqlEndOfStreamException.cs

+

File '/_/src/MySqlConnector/MySqlEndOfStreamException.cs' does not exist (any more).

+
+
+ + \ No newline at end of file diff --git a/coveragereport/mysqlconnector.dll_MySqlError.html b/coveragereport/mysqlconnector.dll_MySqlError.html new file mode 100644 index 0000000..1c44d4c --- /dev/null +++ b/coveragereport/mysqlconnector.dll_MySqlError.html @@ -0,0 +1,170 @@ + + + + + + + +MySqlConnector.MySqlError - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:MySqlConnector.MySqlError
Assembly:mysqlconnector.dll
File(s):/_/src/MySqlConnector/MySqlError.cs
+
+
+
+
+
+
+
Line coverage
+
+
0%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:0
Uncovered lines:10
Coverable lines:10
Total lines:38
Line coverage:0%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+
+ +++++ + + + + +
MethodBlocks covered Blocks not covered
MySqlError(...)02
+
+

File(s)

+

/_/src/MySqlConnector/MySqlError.cs

+

File '/_/src/MySqlConnector/MySqlError.cs' does not exist (any more).

+
+
+ + \ No newline at end of file diff --git a/coveragereport/mysqlconnector.dll_MySqlException.html b/coveragereport/mysqlconnector.dll_MySqlException.html new file mode 100644 index 0000000..fcb73f1 --- /dev/null +++ b/coveragereport/mysqlconnector.dll_MySqlException.html @@ -0,0 +1,191 @@ + + + + + + + +MySqlConnector.MySqlException - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:MySqlConnector.MySqlException
Assembly:mysqlconnector.dll
File(s):/_/src/MySqlConnector/MySqlException.cs
+
+
+
+
+
+
+
Line coverage
+
+
0%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:0
Uncovered lines:41
Coverable lines:41
Total lines:129
Line coverage:0%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+ +

File(s)

+

/_/src/MySqlConnector/MySqlException.cs

+

File '/_/src/MySqlConnector/MySqlException.cs' does not exist (any more).

+
+
+ + \ No newline at end of file diff --git a/coveragereport/mysqlconnector.dll_MySqlGeometry.html b/coveragereport/mysqlconnector.dll_MySqlGeometry.html new file mode 100644 index 0000000..959a27c --- /dev/null +++ b/coveragereport/mysqlconnector.dll_MySqlGeometry.html @@ -0,0 +1,174 @@ + + + + + + + +MySqlConnector.MySqlGeometry - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:MySqlConnector.MySqlGeometry
Assembly:mysqlconnector.dll
File(s):/_/src/MySqlConnector/MySqlGeometry.cs
+
+
+
+
+
+
+
Line coverage
+
+
0%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:0
Uncovered lines:10
Coverable lines:10
Total lines:52
Line coverage:0%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+
+ +++++ + + + + + + +
MethodBlocks covered Blocks not covered
FromWkb(...)09
FromMySql(...)03
MySqlGeometry(...)02
+
+

File(s)

+

/_/src/MySqlConnector/MySqlGeometry.cs

+

File '/_/src/MySqlConnector/MySqlGeometry.cs' does not exist (any more).

+
+
+ + \ No newline at end of file diff --git a/coveragereport/mysqlconnector.dll_MySqlHelper.html b/coveragereport/mysqlconnector.dll_MySqlHelper.html new file mode 100644 index 0000000..fc787d3 --- /dev/null +++ b/coveragereport/mysqlconnector.dll_MySqlHelper.html @@ -0,0 +1,168 @@ + + + + + + + +MySqlConnector.MySqlHelper - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:MySqlConnector.MySqlHelper
Assembly:mysqlconnector.dll
File(s):/_/src/MySqlConnector/MySqlHelper.cs
+
+
+
+
+
+
+
Line coverage
+
+
0%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:0
Uncovered lines:13
Coverable lines:13
Total lines:38
Line coverage:0%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+
+ +++++ + + + + + +
MethodBlocks covered Blocks not covered
ClearConnectionPools()02
EscapeString(...)030
+
+

File(s)

+

/_/src/MySqlConnector/MySqlHelper.cs

+

File '/_/src/MySqlConnector/MySqlHelper.cs' does not exist (any more).

+
+
+ +
+ + \ No newline at end of file diff --git a/coveragereport/mysqlconnector.dll_MySqlInfoMessageEventArgs.html b/coveragereport/mysqlconnector.dll_MySqlInfoMessageEventArgs.html new file mode 100644 index 0000000..f9263d7 --- /dev/null +++ b/coveragereport/mysqlconnector.dll_MySqlInfoMessageEventArgs.html @@ -0,0 +1,167 @@ + + + + + + + +MySqlConnector.MySqlInfoMessageEventArgs - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:MySqlConnector.MySqlInfoMessageEventArgs
Assembly:mysqlconnector.dll
File(s):/_/src/MySqlConnector/MySqlInfoMessageEventArgs.cs
+
+
+
+
+
+
+
Line coverage
+
+
0%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:0
Uncovered lines:2
Coverable lines:2
Total lines:14
Line coverage:0%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+
+ +++++ + + + + +
MethodBlocks covered Blocks not covered
MySqlInfoMessageEventArgs(...)02
+
+

File(s)

+

/_/src/MySqlConnector/MySqlInfoMessageEventArgs.cs

+

File '/_/src/MySqlConnector/MySqlInfoMessageEventArgs.cs' does not exist (any more).

+
+
+ + \ No newline at end of file diff --git a/coveragereport/mysqlconnector.dll_MySqlParameter.html b/coveragereport/mysqlconnector.dll_MySqlParameter.html new file mode 100644 index 0000000..85f9877 --- /dev/null +++ b/coveragereport/mysqlconnector.dll_MySqlParameter.html @@ -0,0 +1,234 @@ + + + + + + + +MySqlConnector.MySqlParameter - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:MySqlConnector.MySqlParameter
Assembly:mysqlconnector.dll
File(s):/_/src/MySqlConnector/MySqlParameter.cs
+
+
+
+
+
+
+
Line coverage
+
+
20%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:94
Uncovered lines:372
Coverable lines:466
Total lines:950
Line coverage:20.1%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+ +

File(s)

+

/_/src/MySqlConnector/MySqlParameter.cs

+

File '/_/src/MySqlConnector/MySqlParameter.cs' does not exist (any more).

+
+
+
+

Methods/Properties

+MySqlParameter()
+MySqlParameter(string, object)
+MySqlParameter(string, MySqlConnector.MySqlDbType)
+MySqlParameter(string, MySqlConnector.MySqlDbType, int)
+MySqlParameter(string, MySqlConnector.MySqlDbType, int, string)
+MySqlParameter(string, MySqlConnector.MySqlDbType, int, System.Data.ParameterDirection, bool, byte, byte, string, System.Data.DataRowVersion, object)
+DbType()
+DbType(System.Data.DbType)
+MySqlDbType()
+MySqlDbType(MySqlConnector.MySqlDbType)
+Direction()
+Direction(System.Data.ParameterDirection)
+IsNullable()
+IsNullable(bool)
+Precision()
+Precision(byte)
+Scale()
+Scale(byte)
+ParameterName()
+ParameterName(string)
+Size()
+Size(int)
+SourceColumn()
+SourceColumn(string)
+SourceColumnNullMapping()
+SourceColumnNullMapping(bool)
+SourceVersion()
+SourceVersion(System.Data.DataRowVersion)
+Value()
+Value(object)
+ResetDbType()
+Clone()
+System.ICloneable.Clone()
+WithParameterName(string)
+MySqlParameter(MySqlConnector.MySqlParameter)
+MySqlParameter(MySqlConnector.MySqlParameter, string)
+HasSetDirection()
+HasSetDbType()
+HasSetDbType(bool)
+NormalizedParameterName()
+NormalizedParameterName(string)
+ParameterCollection()
+ParameterCollection(MySqlConnector.MySqlParameterCollection)
+AppendSqlString(MySqlConnector.Protocol.Serialization.ByteBufferWriter, MySqlConnector.Core.StatementPreparerOptions)
+AppendBinary(MySqlConnector.Protocol.Serialization.ByteBufferWriter, MySqlConnector.Core.StatementPreparerOptions)
+AppendBinary(MySqlConnector.Protocol.Serialization.ByteBufferWriter, object, MySqlConnector.Core.StatementPreparerOptions)
+NormalizeParameterName(string)
+WriteDateOnly(MySqlConnector.Protocol.Serialization.ByteBufferWriter, System.DateOnly)
+WriteDateTime(MySqlConnector.Protocol.Serialization.ByteBufferWriter, System.DateTime)
+WriteTime(MySqlConnector.Protocol.Serialization.ByteBufferWriter, System.TimeSpan)
+BinaryBytes()
+
+
+ + \ No newline at end of file diff --git a/coveragereport/mysqlconnector.dll_MySqlParameterCollection.html b/coveragereport/mysqlconnector.dll_MySqlParameterCollection.html new file mode 100644 index 0000000..3ecb149 --- /dev/null +++ b/coveragereport/mysqlconnector.dll_MySqlParameterCollection.html @@ -0,0 +1,229 @@ + + + + + + + +MySqlConnector.MySqlParameterCollection - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:MySqlConnector.MySqlParameterCollection
Assembly:mysqlconnector.dll
File(s):/_/src/MySqlConnector/MySqlParameterCollection.cs
+
+
+
+
+
+
+
Line coverage
+
+
22%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:22
Uncovered lines:78
Coverable lines:100
Total lines:205
Line coverage:22%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+ +

File(s)

+

/_/src/MySqlConnector/MySqlParameterCollection.cs

+

File '/_/src/MySqlConnector/MySqlParameterCollection.cs' does not exist (any more).

+
+
+ + \ No newline at end of file diff --git a/coveragereport/mysqlconnector.dll_MySqlProtocolException.html b/coveragereport/mysqlconnector.dll_MySqlProtocolException.html new file mode 100644 index 0000000..04e910d --- /dev/null +++ b/coveragereport/mysqlconnector.dll_MySqlProtocolException.html @@ -0,0 +1,170 @@ + + + + + + + +MySqlConnector.MySqlProtocolException - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:MySqlConnector.MySqlProtocolException
Assembly:mysqlconnector.dll
File(s):/_/src/MySqlConnector/MySqlProtocolException.cs
+
+
+
+
+
+
+
Line coverage
+
+
0%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:0
Uncovered lines:5
Coverable lines:5
Total lines:32
Line coverage:0%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+
+ +++++ + + + + + + +
MethodBlocks covered Blocks not covered
CreateForPacketOutOfOrder(...)09
MySqlProtocolException(...)02
MySqlProtocolException(...)02
+
+

File(s)

+

/_/src/MySqlConnector/MySqlProtocolException.cs

+

File '/_/src/MySqlConnector/MySqlProtocolException.cs' does not exist (any more).

+
+
+ + \ No newline at end of file diff --git a/coveragereport/mysqlconnector.dll_MySqlProvidePasswordContext.html b/coveragereport/mysqlconnector.dll_MySqlProvidePasswordContext.html new file mode 100644 index 0000000..eeec50d --- /dev/null +++ b/coveragereport/mysqlconnector.dll_MySqlProvidePasswordContext.html @@ -0,0 +1,170 @@ + + + + + + + +MySqlConnector.MySqlProvidePasswordContext - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:MySqlConnector.MySqlProvidePasswordContext
Assembly:mysqlconnector.dll
File(s):/_/src/MySqlConnector/MySqlProvidePasswordContext.cs
+
+
+
+
+
+
+
Line coverage
+
+
0%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:0
Uncovered lines:10
Coverable lines:10
Total lines:35
Line coverage:0%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+
+ +++++ + + + + +
MethodBlocks covered Blocks not covered
MySqlProvidePasswordContext(...)02
+
+

File(s)

+

/_/src/MySqlConnector/MySqlProvidePasswordContext.cs

+

File '/_/src/MySqlConnector/MySqlProvidePasswordContext.cs' does not exist (any more).

+
+
+ + \ No newline at end of file diff --git a/coveragereport/mysqlconnector.dll_MySqlRowUpdatedEventArgs.html b/coveragereport/mysqlconnector.dll_MySqlRowUpdatedEventArgs.html new file mode 100644 index 0000000..7613ddc --- /dev/null +++ b/coveragereport/mysqlconnector.dll_MySqlRowUpdatedEventArgs.html @@ -0,0 +1,167 @@ + + + + + + + +MySqlConnector.MySqlRowUpdatedEventArgs - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:MySqlConnector.MySqlRowUpdatedEventArgs
Assembly:mysqlconnector.dll
File(s):/_/src/MySqlConnector/MySqlDataAdapter.cs
+
+
+
+
+
+
+
Line coverage
+
+
0%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:0
Uncovered lines:3
Coverable lines:3
Total lines:268
Line coverage:0%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+
+ +++++ + + + + +
MethodBlocks covered Blocks not covered
MySqlRowUpdatedEventArgs(...)02
+
+

File(s)

+

/_/src/MySqlConnector/MySqlDataAdapter.cs

+

File '/_/src/MySqlConnector/MySqlDataAdapter.cs' does not exist (any more).

+
+
+ + \ No newline at end of file diff --git a/coveragereport/mysqlconnector.dll_MySqlRowUpdatingEventArgs.html b/coveragereport/mysqlconnector.dll_MySqlRowUpdatingEventArgs.html new file mode 100644 index 0000000..0540d28 --- /dev/null +++ b/coveragereport/mysqlconnector.dll_MySqlRowUpdatingEventArgs.html @@ -0,0 +1,167 @@ + + + + + + + +MySqlConnector.MySqlRowUpdatingEventArgs - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:MySqlConnector.MySqlRowUpdatingEventArgs
Assembly:mysqlconnector.dll
File(s):/_/src/MySqlConnector/MySqlDataAdapter.cs
+
+
+
+
+
+
+
Line coverage
+
+
0%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:0
Uncovered lines:3
Coverable lines:3
Total lines:258
Line coverage:0%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+
+ +++++ + + + + +
MethodBlocks covered Blocks not covered
MySqlRowUpdatingEventArgs(...)02
+
+

File(s)

+

/_/src/MySqlConnector/MySqlDataAdapter.cs

+

File '/_/src/MySqlConnector/MySqlDataAdapter.cs' does not exist (any more).

+
+
+ + \ No newline at end of file diff --git a/coveragereport/mysqlconnector.dll_MySqlRowsCopiedEventArgs.html b/coveragereport/mysqlconnector.dll_MySqlRowsCopiedEventArgs.html new file mode 100644 index 0000000..c5d849f --- /dev/null +++ b/coveragereport/mysqlconnector.dll_MySqlRowsCopiedEventArgs.html @@ -0,0 +1,170 @@ + + + + + + + +MySqlConnector.MySqlRowsCopiedEventArgs - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:MySqlConnector.MySqlRowsCopiedEventArgs
Assembly:mysqlconnector.dll
File(s):/_/src/MySqlConnector/MySqlRowsCopiedEventArgs.cs
+
+
+
+
+
+
+
Line coverage
+
+
0%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:0
Uncovered lines:4
Coverable lines:4
Total lines:18
Line coverage:0%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+
+ +++++ + + + + +
MethodBlocks covered Blocks not covered
MySqlRowsCopiedEventArgs()02
+
+

File(s)

+

/_/src/MySqlConnector/MySqlRowsCopiedEventArgs.cs

+

File '/_/src/MySqlConnector/MySqlRowsCopiedEventArgs.cs' does not exist (any more).

+
+
+ + \ No newline at end of file diff --git a/coveragereport/mysqlconnector.dll_MySqlTransaction.html b/coveragereport/mysqlconnector.dll_MySqlTransaction.html new file mode 100644 index 0000000..1d00a24 --- /dev/null +++ b/coveragereport/mysqlconnector.dll_MySqlTransaction.html @@ -0,0 +1,210 @@ + + + + + + + +MySqlConnector.MySqlTransaction - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:MySqlConnector.MySqlTransaction
Assembly:mysqlconnector.dll
File(s):/_/src/MySqlConnector/MySqlTransaction.cs
+
+
+
+
+
+
+
Line coverage
+
+
0%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:0
Uncovered lines:79
Coverable lines:79
Total lines:295
Line coverage:0%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+ +

File(s)

+

/_/src/MySqlConnector/MySqlTransaction.cs

+

File '/_/src/MySqlConnector/MySqlTransaction.cs' does not exist (any more).

+
+
+ + \ No newline at end of file diff --git a/coveragereport/mysqlconnector.dll_NegotiateToMySqlConverterStream.html b/coveragereport/mysqlconnector.dll_NegotiateToMySqlConverterStream.html new file mode 100644 index 0000000..dafc4b2 --- /dev/null +++ b/coveragereport/mysqlconnector.dll_NegotiateToMySqlConverterStream.html @@ -0,0 +1,190 @@ + + + + + + + +MySqlConnector.Protocol.Serialization.NegotiateToMySqlConverterStream - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:MySqlConnector.Protocol.Serialization.NegotiateToMySqlConverterStream
Assembly:mysqlconnector.dll
File(s):/_/src/MySqlConnector/Protocol/Serialization/AuthGSSAPI.cs
+
+
+
+
+
+
+
Line coverage
+
+
0%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:0
Uncovered lines:83
Coverable lines:83
Total lines:200
Line coverage:0%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+ +

File(s)

+

/_/src/MySqlConnector/Protocol/Serialization/AuthGSSAPI.cs

+

File '/_/src/MySqlConnector/Protocol/Serialization/AuthGSSAPI.cs' does not exist (any more).

+
+
+ + \ No newline at end of file diff --git a/coveragereport/mysqlconnector.dll_NoOpLogger.html b/coveragereport/mysqlconnector.dll_NoOpLogger.html new file mode 100644 index 0000000..6a3e5aa --- /dev/null +++ b/coveragereport/mysqlconnector.dll_NoOpLogger.html @@ -0,0 +1,171 @@ + + + + + + + +MySqlConnector.Logging.NoOpLogger - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:MySqlConnector.Logging.NoOpLogger
Assembly:mysqlconnector.dll
File(s):/_/src/MySqlConnector/Logging/NoOpLogger.cs
+
+
+
+
+
+
+
Line coverage
+
+
0%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:0
Uncovered lines:3
Coverable lines:3
Total lines:25
Line coverage:0%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+
+ +++++ + + + + + + +
MethodBlocks covered Blocks not covered
IsEnabled(...)01
Log(...)01
NoOpLogger()02
+
+

File(s)

+

/_/src/MySqlConnector/Logging/NoOpLogger.cs

+

File '/_/src/MySqlConnector/Logging/NoOpLogger.cs' does not exist (any more).

+
+
+ + \ No newline at end of file diff --git a/coveragereport/mysqlconnector.dll_NoOpLoggerProvider.html b/coveragereport/mysqlconnector.dll_NoOpLoggerProvider.html new file mode 100644 index 0000000..c0dede5 --- /dev/null +++ b/coveragereport/mysqlconnector.dll_NoOpLoggerProvider.html @@ -0,0 +1,166 @@ + + + + + + + +MySqlConnector.Logging.NoOpLoggerProvider - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:MySqlConnector.Logging.NoOpLoggerProvider
Assembly:mysqlconnector.dll
File(s):/_/src/MySqlConnector/Logging/NoOpLoggerProvider.cs
+
+
+
+
+
+
+
Line coverage
+
+
0%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:0
Uncovered lines:1
Coverable lines:1
Total lines:12
Line coverage:0%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+
+ +++++ + + + + +
MethodBlocks covered Blocks not covered
CreateLogger(...)02
+
+

File(s)

+

/_/src/MySqlConnector/Logging/NoOpLoggerProvider.cs

+

File '/_/src/MySqlConnector/Logging/NoOpLoggerProvider.cs' does not exist (any more).

+
+
+
+

Methods/Properties

+CreateLogger(string)
+
+
+ + \ No newline at end of file diff --git a/coveragereport/mysqlconnector.dll_NormalizedSchema.html b/coveragereport/mysqlconnector.dll_NormalizedSchema.html new file mode 100644 index 0000000..bbc8303 --- /dev/null +++ b/coveragereport/mysqlconnector.dll_NormalizedSchema.html @@ -0,0 +1,175 @@ + + + + + + + +MySqlConnector.Core.NormalizedSchema - Coverage Report + +
+

< Summary

+ +
+
+
Line coverage
+
+
0%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:0
Uncovered lines:27
Coverable lines:27
Total lines:108
Line coverage:0%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+
+ +++++ + + + + + + +
MethodBlocks covered Blocks not covered
File 1: MustNormalize(...)010
File 1: NormalizedSchema(...)053
File 2: NameRegex()01
+
+

File(s)

+

/_/src/MySqlConnector/Core/NormalizedSchema.cs

+

File '/_/src/MySqlConnector/Core/NormalizedSchema.cs' does not exist (any more).

+

/_/src/MySqlConnector/System.Text.RegularExpressions.Generator/System.Text.RegularExpressions.Generator.RegexGenerator/RegexGenerator.g.cs

+

File '/_/src/MySqlConnector/System.Text.RegularExpressions.Generator/System.Text.RegularExpressions.Generator.RegexGenerator/RegexGenerator.g.cs' does not exist (any more).

+
+
+ + \ No newline at end of file diff --git a/coveragereport/mysqlconnector.dll_NullColumnReader.html b/coveragereport/mysqlconnector.dll_NullColumnReader.html new file mode 100644 index 0000000..928748f --- /dev/null +++ b/coveragereport/mysqlconnector.dll_NullColumnReader.html @@ -0,0 +1,169 @@ + + + + + + + +MySqlConnector.ColumnReaders.NullColumnReader - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:MySqlConnector.ColumnReaders.NullColumnReader
Assembly:mysqlconnector.dll
File(s):/_/src/MySqlConnector/ColumnReaders/NullColumnReader.cs
+
+
+
+
+
+
+
Line coverage
+
+
0%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:0
Uncovered lines:2
Coverable lines:2
Total lines:11
Line coverage:0%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+
+ +++++ + + + + + +
MethodBlocks covered Blocks not covered
NullColumnReader()02
ReadValue(...)01
+
+

File(s)

+

/_/src/MySqlConnector/ColumnReaders/NullColumnReader.cs

+

File '/_/src/MySqlConnector/ColumnReaders/NullColumnReader.cs' does not exist (any more).

+
+
+ + \ No newline at end of file diff --git a/coveragereport/mysqlconnector.dll_OkPayload.html b/coveragereport/mysqlconnector.dll_OkPayload.html new file mode 100644 index 0000000..69d2ddd --- /dev/null +++ b/coveragereport/mysqlconnector.dll_OkPayload.html @@ -0,0 +1,182 @@ + + + + + + + +MySqlConnector.Protocol.Payloads.OkPayload - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:MySqlConnector.Protocol.Payloads.OkPayload
Assembly:mysqlconnector.dll
File(s):/_/src/MySqlConnector/Protocol/Payloads/OkPayload.cs
+
+
+
+
+
+
+
Line coverage
+
+
90%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:50
Uncovered lines:5
Coverable lines:55
Total lines:140
Line coverage:90.9%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+
+ +++++ + + + + + + + + + +
MethodBlocks covered Blocks not covered
IsOk(...)113
Create(...)20
Verify(...)20
Read(...)5017
OkPayload(...)20
OkPayload()30
+
+

File(s)

+

/_/src/MySqlConnector/Protocol/Payloads/OkPayload.cs

+

File '/_/src/MySqlConnector/Protocol/Payloads/OkPayload.cs' does not exist (any more).

+
+
+ + \ No newline at end of file diff --git a/coveragereport/mysqlconnector.dll_Packet.html b/coveragereport/mysqlconnector.dll_Packet.html new file mode 100644 index 0000000..8fe5ddb --- /dev/null +++ b/coveragereport/mysqlconnector.dll_Packet.html @@ -0,0 +1,167 @@ + + + + + + + +MySqlConnector.Protocol.Serialization.Packet - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:MySqlConnector.Protocol.Serialization.Packet
Assembly:mysqlconnector.dll
File(s):/_/src/MySqlConnector/Protocol/Serialization/Packet.cs
+
+
+
+
+
+
+
Line coverage
+
+
100%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:3
Uncovered lines:0
Coverable lines:3
Total lines:11
Line coverage:100%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+
+ +++++ + + + + +
MethodBlocks covered Blocks not covered
Packet(...)10
+
+

File(s)

+

/_/src/MySqlConnector/Protocol/Serialization/Packet.cs

+

File '/_/src/MySqlConnector/Protocol/Serialization/Packet.cs' does not exist (any more).

+
+
+ +
+ + \ No newline at end of file diff --git a/coveragereport/mysqlconnector.dll_ParsedStatement.html b/coveragereport/mysqlconnector.dll_ParsedStatement.html new file mode 100644 index 0000000..1dff1f9 --- /dev/null +++ b/coveragereport/mysqlconnector.dll_ParsedStatement.html @@ -0,0 +1,171 @@ + + + + + + + +MySqlConnector.Core.ParsedStatement - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:MySqlConnector.Core.ParsedStatement
Assembly:mysqlconnector.dll
File(s):/_/src/MySqlConnector/Core/ParsedStatement.cs
+
+
+
+
+
+
+
Line coverage
+
+
0%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:0
Uncovered lines:4
Coverable lines:4
Total lines:31
Line coverage:0%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+
+ +++++ + + + + +
MethodBlocks covered Blocks not covered
ParsedStatement()05
+
+

File(s)

+

/_/src/MySqlConnector/Core/ParsedStatement.cs

+

File '/_/src/MySqlConnector/Core/ParsedStatement.cs' does not exist (any more).

+
+
+ + \ No newline at end of file diff --git a/coveragereport/mysqlconnector.dll_ParsedStatements.html b/coveragereport/mysqlconnector.dll_ParsedStatements.html new file mode 100644 index 0000000..c3af60f --- /dev/null +++ b/coveragereport/mysqlconnector.dll_ParsedStatements.html @@ -0,0 +1,169 @@ + + + + + + + +MySqlConnector.Core.ParsedStatements - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:MySqlConnector.Core.ParsedStatements
Assembly:mysqlconnector.dll
File(s):/_/src/MySqlConnector/Core/ParsedStatements.cs
+
+
+
+
+
+
+
Line coverage
+
+
0%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:0
Uncovered lines:6
Coverable lines:6
Total lines:19
Line coverage:0%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+
+ +++++ + + + + + +
MethodBlocks covered Blocks not covered
ParsedStatements(...)02
Dispose()03
+
+

File(s)

+

/_/src/MySqlConnector/Core/ParsedStatements.cs

+

File '/_/src/MySqlConnector/Core/ParsedStatements.cs' does not exist (any more).

+
+
+ + \ No newline at end of file diff --git a/coveragereport/mysqlconnector.dll_PayloadData.html b/coveragereport/mysqlconnector.dll_PayloadData.html new file mode 100644 index 0000000..b0db80f --- /dev/null +++ b/coveragereport/mysqlconnector.dll_PayloadData.html @@ -0,0 +1,173 @@ + + + + + + + +MySqlConnector.Protocol.PayloadData - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:MySqlConnector.Protocol.PayloadData
Assembly:mysqlconnector.dll
File(s):/_/src/MySqlConnector/Protocol/PayloadData.cs
+
+
+
+
+
+
+
Line coverage
+
+
100%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:10
Uncovered lines:0
Coverable lines:10
Total lines:25
Line coverage:100%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+
+ +++++ + + + + + + +
MethodBlocks covered Blocks not covered
PayloadData(...)20
PayloadData(...)10
Dispose()80
+
+

File(s)

+

/_/src/MySqlConnector/Protocol/PayloadData.cs

+

File '/_/src/MySqlConnector/Protocol/PayloadData.cs' does not exist (any more).

+
+
+ + \ No newline at end of file diff --git a/coveragereport/mysqlconnector.dll_PingPayload.html b/coveragereport/mysqlconnector.dll_PingPayload.html new file mode 100644 index 0000000..e5845f3 --- /dev/null +++ b/coveragereport/mysqlconnector.dll_PingPayload.html @@ -0,0 +1,167 @@ + + + + + + + +MySqlConnector.Protocol.Payloads.PingPayload - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:MySqlConnector.Protocol.Payloads.PingPayload
Assembly:mysqlconnector.dll
File(s):/_/src/MySqlConnector/Protocol/Payloads/PingPayload.cs
+
+
+
+
+
+
+
Line coverage
+
+
0%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:0
Uncovered lines:1
Coverable lines:1
Total lines:6
Line coverage:0%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+
+ +++++ + + + + +
MethodBlocks covered Blocks not covered
PingPayload()02
+
+

File(s)

+

/_/src/MySqlConnector/Protocol/Payloads/PingPayload.cs

+

File '/_/src/MySqlConnector/Protocol/Payloads/PingPayload.cs' does not exist (any more).

+
+
+
+

Methods/Properties

+Instance()
+PingPayload()
+
+
+ + \ No newline at end of file diff --git a/coveragereport/mysqlconnector.dll_PreparedStatement.html b/coveragereport/mysqlconnector.dll_PreparedStatement.html new file mode 100644 index 0000000..fd985d9 --- /dev/null +++ b/coveragereport/mysqlconnector.dll_PreparedStatement.html @@ -0,0 +1,171 @@ + + + + + + + +MySqlConnector.Core.PreparedStatement - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:MySqlConnector.Core.PreparedStatement
Assembly:mysqlconnector.dll
File(s):/_/src/MySqlConnector/Core/PreparedStatement.cs
+
+
+
+
+
+
+
Line coverage
+
+
0%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:0
Uncovered lines:5
Coverable lines:5
Total lines:14
Line coverage:0%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+
+ +++++ + + + + +
MethodBlocks covered Blocks not covered
PreparedStatement(...)02
+
+

File(s)

+

/_/src/MySqlConnector/Core/PreparedStatement.cs

+

File '/_/src/MySqlConnector/Core/PreparedStatement.cs' does not exist (any more).

+
+
+ + \ No newline at end of file diff --git a/coveragereport/mysqlconnector.dll_PreparedStatements.html b/coveragereport/mysqlconnector.dll_PreparedStatements.html new file mode 100644 index 0000000..8884683 --- /dev/null +++ b/coveragereport/mysqlconnector.dll_PreparedStatements.html @@ -0,0 +1,169 @@ + + + + + + + +MySqlConnector.Core.PreparedStatements - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:MySqlConnector.Core.PreparedStatements
Assembly:mysqlconnector.dll
File(s):/_/src/MySqlConnector/Core/PreparedStatements.cs
+
+
+
+
+
+
+
Line coverage
+
+
0%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:0
Uncovered lines:5
Coverable lines:5
Total lines:12
Line coverage:0%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+
+ +++++ + + + + + +
MethodBlocks covered Blocks not covered
PreparedStatements(...)02
Dispose()04
+
+

File(s)

+

/_/src/MySqlConnector/Core/PreparedStatements.cs

+

File '/_/src/MySqlConnector/Core/PreparedStatements.cs' does not exist (any more).

+
+
+ + \ No newline at end of file diff --git a/coveragereport/mysqlconnector.dll_ProtocolUtility.html b/coveragereport/mysqlconnector.dll_ProtocolUtility.html new file mode 100644 index 0000000..8bfc963 --- /dev/null +++ b/coveragereport/mysqlconnector.dll_ProtocolUtility.html @@ -0,0 +1,170 @@ + + + + + + + +MySqlConnector.Protocol.Serialization.ProtocolUtility - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:MySqlConnector.Protocol.Serialization.ProtocolUtility
Assembly:mysqlconnector.dll
File(s):/_/src/MySqlConnector/Protocol/Serialization/ProtocolUtility.cs
+
+
+
+
+
+
+
Line coverage
+
+
59%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:29
Uncovered lines:20
Coverable lines:49
Total lines:501
Line coverage:59.1%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+
+ +++++ + + + + + + +
MethodBlocks covered Blocks not covered
GetBytesPerCharacter(...)426
ReadPayloadAsync()4351
WritePayloadAsync()385
+
+

File(s)

+

/_/src/MySqlConnector/Protocol/Serialization/ProtocolUtility.cs

+

File '/_/src/MySqlConnector/Protocol/Serialization/ProtocolUtility.cs' does not exist (any more).

+
+
+ + \ No newline at end of file diff --git a/coveragereport/mysqlconnector.dll_QueryPayload.html b/coveragereport/mysqlconnector.dll_QueryPayload.html new file mode 100644 index 0000000..52f620b --- /dev/null +++ b/coveragereport/mysqlconnector.dll_QueryPayload.html @@ -0,0 +1,166 @@ + + + + + + + +MySqlConnector.Protocol.Payloads.QueryPayload - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:MySqlConnector.Protocol.Payloads.QueryPayload
Assembly:mysqlconnector.dll
File(s):/_/src/MySqlConnector/Protocol/Payloads/QueryPayload.cs
+
+
+
+
+
+
+
Line coverage
+
+
100%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:6
Uncovered lines:0
Coverable lines:6
Total lines:13
Line coverage:100%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+
+ +++++ + + + + +
MethodBlocks covered Blocks not covered
Create(...)130
+
+

File(s)

+

/_/src/MySqlConnector/Protocol/Payloads/QueryPayload.cs

+

File '/_/src/MySqlConnector/Protocol/Payloads/QueryPayload.cs' does not exist (any more).

+
+
+ +
+ + \ No newline at end of file diff --git a/coveragereport/mysqlconnector.dll_QuitPayload.html b/coveragereport/mysqlconnector.dll_QuitPayload.html new file mode 100644 index 0000000..330152b --- /dev/null +++ b/coveragereport/mysqlconnector.dll_QuitPayload.html @@ -0,0 +1,167 @@ + + + + + + + +MySqlConnector.Protocol.Payloads.QuitPayload - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:MySqlConnector.Protocol.Payloads.QuitPayload
Assembly:mysqlconnector.dll
File(s):/_/src/MySqlConnector/Protocol/Payloads/QuitPayload.cs
+
+
+
+
+
+
+
Line coverage
+
+
0%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:0
Uncovered lines:1
Coverable lines:1
Total lines:6
Line coverage:0%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+
+ +++++ + + + + +
MethodBlocks covered Blocks not covered
QuitPayload()02
+
+

File(s)

+

/_/src/MySqlConnector/Protocol/Payloads/QuitPayload.cs

+

File '/_/src/MySqlConnector/Protocol/Payloads/QuitPayload.cs' does not exist (any more).

+
+
+
+

Methods/Properties

+Instance()
+QuitPayload()
+
+
+ + \ No newline at end of file diff --git a/coveragereport/mysqlconnector.dll_RandomLoadBalancer.html b/coveragereport/mysqlconnector.dll_RandomLoadBalancer.html new file mode 100644 index 0000000..f1c1584 --- /dev/null +++ b/coveragereport/mysqlconnector.dll_RandomLoadBalancer.html @@ -0,0 +1,171 @@ + + + + + + + +MySqlConnector.Core.RandomLoadBalancer - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:MySqlConnector.Core.RandomLoadBalancer
Assembly:mysqlconnector.dll
File(s):/_/src/MySqlConnector/Core/ILoadBalancer.cs
+
+
+
+
+
+
+
Line coverage
+
+
0%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:0
Uncovered lines:11
Coverable lines:11
Total lines:48
Line coverage:0%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+
+ +++++ + + + + + + +
MethodBlocks covered Blocks not covered
RandomLoadBalancer()02
LoadBalance(...)018
RandomLoadBalancer()03
+
+

File(s)

+

/_/src/MySqlConnector/Core/ILoadBalancer.cs

+

File '/_/src/MySqlConnector/Core/ILoadBalancer.cs' does not exist (any more).

+
+
+ + \ No newline at end of file diff --git a/coveragereport/mysqlconnector.dll_ResetConnectionPayload.html b/coveragereport/mysqlconnector.dll_ResetConnectionPayload.html new file mode 100644 index 0000000..87d0ccc --- /dev/null +++ b/coveragereport/mysqlconnector.dll_ResetConnectionPayload.html @@ -0,0 +1,167 @@ + + + + + + + +MySqlConnector.Protocol.Payloads.ResetConnectionPayload - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:MySqlConnector.Protocol.Payloads.ResetConnectionPayload
Assembly:mysqlconnector.dll
File(s):/_/src/MySqlConnector/Protocol/Payloads/ResetConnectionPayload.cs
+
+
+
+
+
+
+
Line coverage
+
+
0%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:0
Uncovered lines:1
Coverable lines:1
Total lines:6
Line coverage:0%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+
+ +++++ + + + + +
MethodBlocks covered Blocks not covered
ResetConnectionPayload()02
+
+

File(s)

+

/_/src/MySqlConnector/Protocol/Payloads/ResetConnectionPayload.cs

+

File '/_/src/MySqlConnector/Protocol/Payloads/ResetConnectionPayload.cs' does not exist (any more).

+
+
+
+

Methods/Properties

+Instance()
+ResetConnectionPayload()
+
+
+ + \ No newline at end of file diff --git a/coveragereport/mysqlconnector.dll_ResizableArraySegment_T_.html b/coveragereport/mysqlconnector.dll_ResizableArraySegment_T_.html new file mode 100644 index 0000000..2ddf46f --- /dev/null +++ b/coveragereport/mysqlconnector.dll_ResizableArraySegment_T_.html @@ -0,0 +1,171 @@ + + + + + + + +MySqlConnector.Utilities.ResizableArraySegment<T> - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:MySqlConnector.Utilities.ResizableArraySegment<T>
Assembly:mysqlconnector.dll
File(s):/_/src/MySqlConnector/Utilities/ResizableArraySegment.cs
+
+
+
+
+
+
+
Line coverage
+
+
100%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:4
Uncovered lines:0
Coverable lines:4
Total lines:14
Line coverage:100%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+
+ +++++ + + + + + +
MethodBlocks covered Blocks not covered
ResizableArraySegment(...)10
op_Implicit(...)60
+
+

File(s)

+

/_/src/MySqlConnector/Utilities/ResizableArraySegment.cs

+

File '/_/src/MySqlConnector/Utilities/ResizableArraySegment.cs' does not exist (any more).

+
+
+ + \ No newline at end of file diff --git a/coveragereport/mysqlconnector.dll_ResizableArray_T_.html b/coveragereport/mysqlconnector.dll_ResizableArray_T_.html new file mode 100644 index 0000000..0e2028a --- /dev/null +++ b/coveragereport/mysqlconnector.dll_ResizableArray_T_.html @@ -0,0 +1,170 @@ + + + + + + + +MySqlConnector.Utilities.ResizableArray<T> - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:MySqlConnector.Utilities.ResizableArray<T>
Assembly:mysqlconnector.dll
File(s):/_/src/MySqlConnector/Utilities/ResizableArray.cs
+
+
+
+
+
+
+
Line coverage
+
+
100%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:6
Uncovered lines:0
Coverable lines:6
Total lines:22
Line coverage:100%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+
+ +++++ + + + + + +
MethodBlocks covered Blocks not covered
AsSpan(...)20
DoResize(...)60
+
+

File(s)

+

/_/src/MySqlConnector/Utilities/ResizableArray.cs

+

File '/_/src/MySqlConnector/Utilities/ResizableArray.cs' does not exist (any more).

+
+
+
+

Methods/Properties

+Array()
+Count()
+AsSpan(int)
+DoResize(int)
+
+
+ + \ No newline at end of file diff --git a/coveragereport/mysqlconnector.dll_ResultSet.html b/coveragereport/mysqlconnector.dll_ResultSet.html new file mode 100644 index 0000000..6785a00 --- /dev/null +++ b/coveragereport/mysqlconnector.dll_ResultSet.html @@ -0,0 +1,215 @@ + + + + + + + +MySqlConnector.Core.ResultSet - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:MySqlConnector.Core.ResultSet
Assembly:mysqlconnector.dll
File(s):/_/src/MySqlConnector/Core/ResultSet.cs
+
+
+
+
+
+
+
Line coverage
+
+
50%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:97
Uncovered lines:97
Coverable lines:194
Total lines:374
Line coverage:50%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+ +

File(s)

+

/_/src/MySqlConnector/Core/ResultSet.cs

+

File '/_/src/MySqlConnector/Core/ResultSet.cs' does not exist (any more).

+
+
+ + \ No newline at end of file diff --git a/coveragereport/mysqlconnector.dll_RoundRobinLoadBalancer.html b/coveragereport/mysqlconnector.dll_RoundRobinLoadBalancer.html new file mode 100644 index 0000000..7c53460 --- /dev/null +++ b/coveragereport/mysqlconnector.dll_RoundRobinLoadBalancer.html @@ -0,0 +1,168 @@ + + + + + + + +MySqlConnector.Core.RoundRobinLoadBalancer - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:MySqlConnector.Core.RoundRobinLoadBalancer
Assembly:mysqlconnector.dll
File(s):/_/src/MySqlConnector/Core/ILoadBalancer.cs
+
+
+
+
+
+
+
Line coverage
+
+
0%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:0
Uncovered lines:9
Coverable lines:9
Total lines:68
Line coverage:0%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+
+ +++++ + + + + + +
MethodBlocks covered Blocks not covered
RoundRobinLoadBalancer()03
LoadBalance(...)021
+
+

File(s)

+

/_/src/MySqlConnector/Core/ILoadBalancer.cs

+

File '/_/src/MySqlConnector/Core/ILoadBalancer.cs' does not exist (any more).

+
+
+ + \ No newline at end of file diff --git a/coveragereport/mysqlconnector.dll_Row.html b/coveragereport/mysqlconnector.dll_Row.html new file mode 100644 index 0000000..fb33bc3 --- /dev/null +++ b/coveragereport/mysqlconnector.dll_Row.html @@ -0,0 +1,236 @@ + + + + + + + +MySqlConnector.Core.Row - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:MySqlConnector.Core.Row
Assembly:mysqlconnector.dll
File(s):/_/src/MySqlConnector/Core/Row.cs
+
+
+
+
+
+
+
Line coverage
+
+
24%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:72
Uncovered lines:227
Coverable lines:299
Total lines:499
Line coverage:24%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+ +

File(s)

+

/_/src/MySqlConnector/Core/Row.cs

+

File '/_/src/MySqlConnector/Core/Row.cs' does not exist (any more).

+
+
+ + \ No newline at end of file diff --git a/coveragereport/mysqlconnector.dll_SchemaProvider.html b/coveragereport/mysqlconnector.dll_SchemaProvider.html new file mode 100644 index 0000000..e00f87e --- /dev/null +++ b/coveragereport/mysqlconnector.dll_SchemaProvider.html @@ -0,0 +1,250 @@ + + + + + + + +MySqlConnector.Core.SchemaProvider - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:MySqlConnector.Core.SchemaProvider
Assembly:mysqlconnector.dll
File(s):File 1: /_/src/MySqlConnector/Core/SchemaProvider.cs
File 2: /_/src/MySqlConnector/Core/SchemaProvider.g.cs
+
+
+
+
+
+
+
Line coverage
+
+
0%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:0
Uncovered lines:1193
Coverable lines:1193
Total lines:1463
Line coverage:0%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+
+ +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
MethodBlocks covered Blocks not covered
File 1: SchemaProvider(...)02
File 1: DoFillDataSourceInformation(...)026
File 1: DoFillDataTypes(...)074
File 1: DoFillReservedWords(...)06
File 1: FillDataTableAsync()018
File 1: FillDataTableAsync()0115
File 1: DoFillForeignKeysAsync(...)04
File 1: DoFillIndexesAsync(...)04
File 1: DoFillIndexColumnsAsync(...)04
File 2: GetSchemaAsync()0396
File 2: FillMetaDataCollectionsAsync(...)079
File 2: FillCharacterSetsAsync()031
File 2: FillCollationsAsync()035
File 2: FillCollationCharacterSetApplicabilityAsync()027
File 2: FillColumnsAsync()087
File 2: FillDatabasesAsync()033
File 2: FillDataSourceInformationAsync(...)044
File 2: FillDataTypesAsync(...)056
File 2: FillEnginesAsync()035
File 2: FillKeyColumnUsageAsync()047
File 2: FillKeyWordsAsync()027
File 2: FillParametersAsync()055
File 2: FillPartitionsAsync()073
File 2: FillPluginsAsync()045
File 2: FillProceduresAsync()063
File 2: FillProcessListAsync()039
File 2: FillProfilingAsync()059
File 2: FillReferentialConstraintsAsync()045
File 2: FillReservedWordsAsync(...)012
File 2: FillResourceGroupsAsync()033
File 2: FillRestrictionsAsync(...)059
File 2: FillSchemaPrivilegesAsync()033
File 2: FillTablesAsync()087
File 2: FillTableConstraintsAsync()035
File 2: FillTablePrivilegesAsync()035
File 2: FillTableSpacesAsync()041
File 2: FillTriggersAsync()067
File 2: FillUserPrivilegesAsync()031
File 2: FillViewsAsync()043
File 2: FillForeignKeysAsync()047
File 2: FillIndexesAsync()039
File 2: FillIndexColumnsAsync()037
+
+

File(s)

+

/_/src/MySqlConnector/Core/SchemaProvider.cs

+

File '/_/src/MySqlConnector/Core/SchemaProvider.cs' does not exist (any more).

+

/_/src/MySqlConnector/Core/SchemaProvider.g.cs

+

File '/_/src/MySqlConnector/Core/SchemaProvider.g.cs' does not exist (any more).

+
+
+
+

Methods/Properties

+SchemaProvider(MySqlConnector.MySqlConnection)
+DoFillDataSourceInformation(System.Data.DataTable)
+DoFillDataTypes(System.Data.DataTable)
+DoFillReservedWords(System.Data.DataTable)
+FillDataTableAsync()
+FillDataTableAsync()
+DoFillForeignKeysAsync(MySqlConnector.Protocol.Serialization.IOBehavior, System.Data.DataTable, string[], System.Threading.CancellationToken)
+DoFillIndexesAsync(MySqlConnector.Protocol.Serialization.IOBehavior, System.Data.DataTable, string[], System.Threading.CancellationToken)
+DoFillIndexColumnsAsync(MySqlConnector.Protocol.Serialization.IOBehavior, System.Data.DataTable, string[], System.Threading.CancellationToken)
+GetSchemaAsync()
+FillMetaDataCollectionsAsync(MySqlConnector.Protocol.Serialization.IOBehavior, System.Data.DataTable, string, string[], System.Threading.CancellationToken)
+FillCharacterSetsAsync()
+FillCollationsAsync()
+FillCollationCharacterSetApplicabilityAsync()
+FillColumnsAsync()
+FillDatabasesAsync()
+FillDataSourceInformationAsync(MySqlConnector.Protocol.Serialization.IOBehavior, System.Data.DataTable, string, string[], System.Threading.CancellationToken)
+FillDataTypesAsync(MySqlConnector.Protocol.Serialization.IOBehavior, System.Data.DataTable, string, string[], System.Threading.CancellationToken)
+FillEnginesAsync()
+FillKeyColumnUsageAsync()
+FillKeyWordsAsync()
+FillParametersAsync()
+FillPartitionsAsync()
+FillPluginsAsync()
+FillProceduresAsync()
+FillProcessListAsync()
+FillProfilingAsync()
+FillReferentialConstraintsAsync()
+FillReservedWordsAsync(MySqlConnector.Protocol.Serialization.IOBehavior, System.Data.DataTable, string, string[], System.Threading.CancellationToken)
+FillResourceGroupsAsync()
+FillRestrictionsAsync(MySqlConnector.Protocol.Serialization.IOBehavior, System.Data.DataTable, string, string[], System.Threading.CancellationToken)
+FillSchemaPrivilegesAsync()
+FillTablesAsync()
+FillTableConstraintsAsync()
+FillTablePrivilegesAsync()
+FillTableSpacesAsync()
+FillTriggersAsync()
+FillUserPrivilegesAsync()
+FillViewsAsync()
+FillForeignKeysAsync()
+FillIndexesAsync()
+FillIndexColumnsAsync()
+
+
+ + \ No newline at end of file diff --git a/coveragereport/mysqlconnector.dll_SerializationUtility.html b/coveragereport/mysqlconnector.dll_SerializationUtility.html new file mode 100644 index 0000000..d4bd272 --- /dev/null +++ b/coveragereport/mysqlconnector.dll_SerializationUtility.html @@ -0,0 +1,168 @@ + + + + + + + +MySqlConnector.Protocol.Serialization.SerializationUtility - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:MySqlConnector.Protocol.Serialization.SerializationUtility
Assembly:mysqlconnector.dll
File(s):/_/src/MySqlConnector/Protocol/Serialization/SerializationUtility.cs
+
+
+
+
+
+
+
Line coverage
+
+
100%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:8
Uncovered lines:0
Coverable lines:8
Total lines:21
Line coverage:100%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+
+ +++++ + + + + + +
MethodBlocks covered Blocks not covered
ReadUInt32(...)60
WriteUInt32(...)40
+
+

File(s)

+

/_/src/MySqlConnector/Protocol/Serialization/SerializationUtility.cs

+

File '/_/src/MySqlConnector/Protocol/Serialization/SerializationUtility.cs' does not exist (any more).

+
+
+ + \ No newline at end of file diff --git a/coveragereport/mysqlconnector.dll_ServerSession.html b/coveragereport/mysqlconnector.dll_ServerSession.html new file mode 100644 index 0000000..000a9b5 --- /dev/null +++ b/coveragereport/mysqlconnector.dll_ServerSession.html @@ -0,0 +1,324 @@ + + + + + + + +MySqlConnector.Core.ServerSession - Coverage Report + +
+

< Summary

+ +
+
+
Line coverage
+
+
32%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:331
Uncovered lines:688
Coverable lines:1019
Total lines:3770
Line coverage:32.4%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+
+ +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
MethodBlocks covered Blocks not covered
File 1: ServerSession()290
File 1: ServerSession(...)03
File 1: ServerSession(...)171
File 1: ReturnToPoolAsync(...)182
File 1: TryStartCancel(...)026
File 1: DoCancel(...)031
File 1: AbortCancel(...)012
File 1: PrepareAsync()0182
File 1: TryGetPreparedStatement(...)23
File 1: StartQuerying(...)145
File 1: FinishQuerying()2222
File 1: SetTimeout(...)30
File 1: StartActivity(...)310
File 1: DisposeAsync()052
File 1: ConnectAsync()225134
File 1: TryResetConnectionAsync()59147
File 1: SwitchAuthenticationAsync()0227
File 1: SendClearPasswordAsync()028
File 1: SendEncryptedPasswordAsync()052
File 1: GetRsaPublicKeyAsync()056
File 1: TryPingAsync()057
File 1: SendAsync(...)30
File 1: ReceiveAsync(...)30
File 1: ReceiveReplyAsync()2315
File 1: SendReplyAsync()1710
File 1: ThrowIfStatementContainsDelimiter(...)016
File 1: CreateExceptionForInvalidState()107
File 1: OpenTcpSocketAsync()98121
File 1: OpenUnixSocketAsync()077
File 1: OpenNamedPipeAsync()086
File 1: InitSslAsync()77215
File 1: ShouldGetRealServerDetails(...)1612
File 1: GetRealServerDetailsAsync()0118
File 1: ShutdownSocket()09
File 1: SafeDispose<T>(...)07
File 1: SetFailed(...)015
File 1: VerifyState(...)211
File 1: VerifyState(...)028
File 1: CreateConnectionAttributes(...)503
File 1: CreateExceptionForErrorPayload(...)011
File 1: ClearPreparedStatements()212
File 1: GetPassword(...)518
File 1: DelimiterSqlParser(...)06
File 1: OnStatementBegin(...)010
File 2: ServerSession()290
File 2: CannotExecuteNewCommandInState(...)04
File 2: EnteringFinishQuerying(...)31
File 2: ExpectedSessionState1(...)04
File 2: __ExpectedSessionState6Struct(...)01
File 2: ToString()019
File 2: __ExpectedSessionState6Struct()02
File 2: GetEnumerator()09
File 2: global::System.Collections.IEnumerable.GetEnumerator()02
File 2: ExpectedSessionState6(...)06
+
+

File(s)

+

/_/src/MySqlConnector/Core/ServerSession.cs

+

File '/_/src/MySqlConnector/Core/ServerSession.cs' does not exist (any more).

+

/_/src/MySqlConnector/Microsoft.Extensions.Logging.Generators/Microsoft.Extensions.Logging.Generators.LoggerMessageGenerator/LoggerMessage.g.cs

+

File '/_/src/MySqlConnector/Microsoft.Extensions.Logging.Generators/Microsoft.Extensions.Logging.Generators.LoggerMessageGenerator/LoggerMessage.g.cs' does not exist (any more).

+
+
+
+

Methods/Properties

+ServerSession()
+ServerSession(Microsoft.Extensions.Logging.ILogger)
+ServerSession(Microsoft.Extensions.Logging.ILogger, MySqlConnector.Core.ConnectionPool, int, int)
+Id()
+ServerVersion()
+ServerVersion(MySqlConnector.Core.ServerVersion)
+SupportsPerQueryVariables()
+ActiveCommandId()
+ActiveCommandId(int)
+CancellationTimeout()
+CancellationTimeout(int)
+ConnectionId()
+ConnectionId(int)
+AuthPluginData()
+AuthPluginData(byte[])
+CreatedTimestamp()
+Pool()
+PoolGeneration()
+LastLeasedTimestamp()
+LastLeasedTimestamp(long)
+LastReturnedTimestamp()
+LastReturnedTimestamp(long)
+DatabaseOverride()
+DatabaseOverride(string)
+HostName()
+HostName(string)
+IPEndPoint()
+UserID()
+UserID(string)
+OwningConnection()
+OwningConnection(System.WeakReference<MySqlConnector.MySqlConnection>)
+SupportsDeprecateEof()
+SupportsCachedPreparedMetadata()
+SupportsCachedPreparedMetadata(bool)
+SupportsQueryAttributes()
+SupportsQueryAttributes(bool)
+SupportsSessionTrack()
+ProcAccessDenied()
+ProcAccessDenied(bool)
+ActivityTags()
+DataReader()
+ReturnToPoolAsync(MySqlConnector.Protocol.Serialization.IOBehavior, MySqlConnector.MySqlConnection)
+IsConnected()
+TryStartCancel(MySqlConnector.Core.ICancellableCommand)
+DoCancel(MySqlConnector.Core.ICancellableCommand, MySqlConnector.MySqlCommand)
+AbortCancel(MySqlConnector.Core.ICancellableCommand)
+IsCancelingQuery()
+PrepareAsync()
+TryGetPreparedStatement(string)
+StartQuerying(MySqlConnector.Core.ICancellableCommand)
+FinishQuerying()
+SetTimeout(int)
+StartActivity(string, string, object)
+DisposeAsync()
+ConnectAsync()
+TryResetConnectionAsync()
+SwitchAuthenticationAsync()
+SendClearPasswordAsync()
+SendEncryptedPasswordAsync()
+GetRsaPublicKeyAsync()
+TryPingAsync()
+SendAsync(MySqlConnector.Protocol.PayloadData, MySqlConnector.Protocol.Serialization.IOBehavior, System.Threading.CancellationToken)
+ReceiveAsync(MySqlConnector.Protocol.Serialization.IOBehavior, System.Threading.CancellationToken)
+ReceiveReplyAsync()
+SendReplyAsync()
+ThrowIfStatementContainsDelimiter(MySqlConnector.MySqlException, MySqlConnector.Core.IMySqlCommand)
+CreateExceptionForInvalidState()
+OpenTcpSocketAsync()
+OpenUnixSocketAsync()
+OpenNamedPipeAsync()
+InitSslAsync()
+ShouldGetRealServerDetails(MySqlConnector.Core.ConnectionSettings)
+GetRealServerDetailsAsync()
+ShutdownSocket()
+SafeDispose<T>(ref T)
+SetFailed(System.Exception)
+VerifyState(MySqlConnector.Core.ServerSession.State)
+VerifyState(MySqlConnector.Core.ServerSession.State, MySqlConnector.Core.ServerSession.State, MySqlConnector.Core.ServerSession.State, MySqlConnector.Core.ServerSession.State, MySqlConnector.Core.ServerSession.State, MySqlConnector.Core.ServerSession.State)
+SslIsEncrypted()
+SslIsSigned()
+SslIsAuthenticated()
+SslIsMutuallyAuthenticated()
+SslProtocol()
+CreateConnectionAttributes(string)
+CreateExceptionForErrorPayload(System.ReadOnlySpan<byte>)
+ClearPreparedStatements()
+GetPassword(MySqlConnector.Core.ConnectionSettings, MySqlConnector.MySqlConnection)
+DelimiterSqlParser(MySqlConnector.Core.IMySqlCommand)
+HasDelimiter()
+HasDelimiter(bool)
+OnStatementBegin(int)
+Sql()
+ServerSession()
+CannotExecuteNewCommandInState(Microsoft.Extensions.Logging.ILogger, string, MySqlConnector.Core.ServerSession.State)
+EnteringFinishQuerying(Microsoft.Extensions.Logging.ILogger, string, MySqlConnector.Core.ServerSession.State)
+ExpectedSessionState1(Microsoft.Extensions.Logging.ILogger, string, MySqlConnector.Core.ServerSession.State, MySqlConnector.Core.ServerSession.State)
+__ExpectedSessionState6Struct(string, MySqlConnector.Core.ServerSession.State, MySqlConnector.Core.ServerSession.State, MySqlConnector.Core.ServerSession.State, MySqlConnector.Core.ServerSession.State, MySqlConnector.Core.ServerSession.State, MySqlConnector.Core.ServerSession.State, MySqlConnector.Core.ServerSession.State)
+ToString()
+__ExpectedSessionState6Struct()
+Count()
+Item(int)
+GetEnumerator()
+global::System.Collections.IEnumerable.GetEnumerator()
+ExpectedSessionState6(Microsoft.Extensions.Logging.ILogger, string, MySqlConnector.Core.ServerSession.State, MySqlConnector.Core.ServerSession.State, MySqlConnector.Core.ServerSession.State, MySqlConnector.Core.ServerSession.State, MySqlConnector.Core.ServerSession.State, MySqlConnector.Core.ServerSession.State, MySqlConnector.Core.ServerSession.State)
+
+
+ + \ No newline at end of file diff --git a/coveragereport/mysqlconnector.dll_ServerVersion.html b/coveragereport/mysqlconnector.dll_ServerVersion.html new file mode 100644 index 0000000..feae19d --- /dev/null +++ b/coveragereport/mysqlconnector.dll_ServerVersion.html @@ -0,0 +1,174 @@ + + + + + + + +MySqlConnector.Core.ServerVersion - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:MySqlConnector.Core.ServerVersion
Assembly:mysqlconnector.dll
File(s):/_/src/MySqlConnector/Core/ServerVersion.cs
+
+
+
+
+
+
+
Line coverage
+
+
89%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:26
Uncovered lines:3
Coverable lines:29
Total lines:60
Line coverage:89.6%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+
+ +++++ + + + + + + +
MethodBlocks covered Blocks not covered
ServerVersion(...)364
ServerVersion()20
ServerVersion()30
+
+

File(s)

+

/_/src/MySqlConnector/Core/ServerVersion.cs

+

File '/_/src/MySqlConnector/Core/ServerVersion.cs' does not exist (any more).

+
+
+ + \ No newline at end of file diff --git a/coveragereport/mysqlconnector.dll_ServerVersions.html b/coveragereport/mysqlconnector.dll_ServerVersions.html new file mode 100644 index 0000000..d445d57 --- /dev/null +++ b/coveragereport/mysqlconnector.dll_ServerVersions.html @@ -0,0 +1,166 @@ + + + + + + + +MySqlConnector.Core.ServerVersions - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:MySqlConnector.Core.ServerVersions
Assembly:mysqlconnector.dll
File(s):/_/src/MySqlConnector/Core/ServerVersions.cs
+
+
+
+
+
+
+
Line coverage
+
+
100%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:6
Uncovered lines:0
Coverable lines:6
Total lines:22
Line coverage:100%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+
+ +++++ + + + + +
MethodBlocks covered Blocks not covered
ServerVersions()70
+
+

File(s)

+

/_/src/MySqlConnector/Core/ServerVersions.cs

+

File '/_/src/MySqlConnector/Core/ServerVersions.cs' does not exist (any more).

+
+
+
+

Methods/Properties

+ServerVersions()
+
+
+ + \ No newline at end of file diff --git a/coveragereport/mysqlconnector.dll_SingleCommandPayloadCreator.html b/coveragereport/mysqlconnector.dll_SingleCommandPayloadCreator.html new file mode 100644 index 0000000..627a0bc --- /dev/null +++ b/coveragereport/mysqlconnector.dll_SingleCommandPayloadCreator.html @@ -0,0 +1,180 @@ + + + + + + + +MySqlConnector.Core.SingleCommandPayloadCreator - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:MySqlConnector.Core.SingleCommandPayloadCreator
Assembly:mysqlconnector.dll
File(s):/_/src/MySqlConnector/Core/SingleCommandPayloadCreator.cs
+
+
+
+
+
+
+
Line coverage
+
+
17%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:25
Uncovered lines:118
Coverable lines:143
Total lines:272
Line coverage:17.4%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+ +

File(s)

+

/_/src/MySqlConnector/Core/SingleCommandPayloadCreator.cs

+

File '/_/src/MySqlConnector/Core/SingleCommandPayloadCreator.cs' does not exist (any more).

+
+
+ + \ No newline at end of file diff --git a/coveragereport/mysqlconnector.dll_SocketByteHandler.html b/coveragereport/mysqlconnector.dll_SocketByteHandler.html new file mode 100644 index 0000000..21bb464 --- /dev/null +++ b/coveragereport/mysqlconnector.dll_SocketByteHandler.html @@ -0,0 +1,180 @@ + + + + + + + +MySqlConnector.Protocol.Serialization.SocketByteHandler - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:MySqlConnector.Protocol.Serialization.SocketByteHandler
Assembly:mysqlconnector.dll
File(s):/_/src/MySqlConnector/Protocol/Serialization/SocketByteHandler.cs
+
+
+
+
+
+
+
Line coverage
+
+
53%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:26
Uncovered lines:23
Coverable lines:49
Total lines:136
Line coverage:53%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+
+ +++++ + + + + + + + + + + +
MethodBlocks covered Blocks not covered
SocketByteHandler(...)40
Dispose()10
ReadBytesAsync(...)32
DoReadBytesSync(...)029
DoReadBytesAsync()3719
WriteBytesAsync(...)36
DoWriteBytesAsync()115
+
+

File(s)

+

/_/src/MySqlConnector/Protocol/Serialization/SocketByteHandler.cs

+

File '/_/src/MySqlConnector/Protocol/Serialization/SocketByteHandler.cs' does not exist (any more).

+
+
+ + \ No newline at end of file diff --git a/coveragereport/mysqlconnector.dll_SocketExtensions.html b/coveragereport/mysqlconnector.dll_SocketExtensions.html new file mode 100644 index 0000000..a1b6c57 --- /dev/null +++ b/coveragereport/mysqlconnector.dll_SocketExtensions.html @@ -0,0 +1,168 @@ + + + + + + + +MySqlConnector.Utilities.SocketExtensions - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:MySqlConnector.Utilities.SocketExtensions
Assembly:mysqlconnector.dll
File(s):/_/src/MySqlConnector/Utilities/SocketExtensions.cs
+
+
+
+
+
+
+
Line coverage
+
+
42%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:3
Uncovered lines:4
Coverable lines:7
Total lines:72
Line coverage:42.8%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+
+ +++++ + + + + + +
MethodBlocks covered Blocks not covered
Send(...)03
SetKeepAlive(...)33
+
+

File(s)

+

/_/src/MySqlConnector/Utilities/SocketExtensions.cs

+

File '/_/src/MySqlConnector/Utilities/SocketExtensions.cs' does not exist (any more).

+
+
+ + \ No newline at end of file diff --git a/coveragereport/mysqlconnector.dll_SqlParser.html b/coveragereport/mysqlconnector.dll_SqlParser.html new file mode 100644 index 0000000..bd901e4 --- /dev/null +++ b/coveragereport/mysqlconnector.dll_SqlParser.html @@ -0,0 +1,185 @@ + + + + + + + +MySqlConnector.Core.SqlParser - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:MySqlConnector.Core.SqlParser
Assembly:mysqlconnector.dll
File(s):/_/src/MySqlConnector/Core/SqlParser.cs
+
+
+
+
+
+
+
Line coverage
+
+
47%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:74
Uncovered lines:83
Coverable lines:157
Total lines:346
Line coverage:47.1%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+ +

File(s)

+

/_/src/MySqlConnector/Core/SqlParser.cs

+

File '/_/src/MySqlConnector/Core/SqlParser.cs' does not exist (any more).

+
+
+ + \ No newline at end of file diff --git a/coveragereport/mysqlconnector.dll_StandardEnlistedTransaction.html b/coveragereport/mysqlconnector.dll_StandardEnlistedTransaction.html new file mode 100644 index 0000000..c1990a2 --- /dev/null +++ b/coveragereport/mysqlconnector.dll_StandardEnlistedTransaction.html @@ -0,0 +1,174 @@ + + + + + + + +MySqlConnector.Core.StandardEnlistedTransaction - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:MySqlConnector.Core.StandardEnlistedTransaction
Assembly:mysqlconnector.dll
File(s):/_/src/MySqlConnector/Core/StandardEnlistedTransaction.cs
+
+
+
+
+
+
+
Line coverage
+
+
0%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:0
Uncovered lines:27
Coverable lines:27
Total lines:48
Line coverage:0%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+
+ +++++ + + + + + + + + +
MethodBlocks covered Blocks not covered
StandardEnlistedTransaction(...)02
OnStart()038
OnPrepare(...)01
OnCommit(...)09
OnRollback(...)09
+
+

File(s)

+

/_/src/MySqlConnector/Core/StandardEnlistedTransaction.cs

+

File '/_/src/MySqlConnector/Core/StandardEnlistedTransaction.cs' does not exist (any more).

+
+
+ + \ No newline at end of file diff --git a/coveragereport/mysqlconnector.dll_StandardPayloadHandler.html b/coveragereport/mysqlconnector.dll_StandardPayloadHandler.html new file mode 100644 index 0000000..1ffdc96 --- /dev/null +++ b/coveragereport/mysqlconnector.dll_StandardPayloadHandler.html @@ -0,0 +1,178 @@ + + + + + + + +MySqlConnector.Protocol.Serialization.StandardPayloadHandler - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:MySqlConnector.Protocol.Serialization.StandardPayloadHandler
Assembly:mysqlconnector.dll
File(s):/_/src/MySqlConnector/Protocol/Serialization/StandardPayloadHandler.cs
+
+
+
+
+
+
+
Line coverage
+
+
84%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:16
Uncovered lines:3
Coverable lines:19
Total lines:57
Line coverage:84.2%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+ +

File(s)

+

/_/src/MySqlConnector/Protocol/Serialization/StandardPayloadHandler.cs

+

File '/_/src/MySqlConnector/Protocol/Serialization/StandardPayloadHandler.cs' does not exist (any more).

+
+
+ + \ No newline at end of file diff --git a/coveragereport/mysqlconnector.dll_StatementPrepareResponsePayload.html b/coveragereport/mysqlconnector.dll_StatementPrepareResponsePayload.html new file mode 100644 index 0000000..25b09e1 --- /dev/null +++ b/coveragereport/mysqlconnector.dll_StatementPrepareResponsePayload.html @@ -0,0 +1,171 @@ + + + + + + + +MySqlConnector.Protocol.Payloads.StatementPrepareResponsePayload - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:MySqlConnector.Protocol.Payloads.StatementPrepareResponsePayload
Assembly:mysqlconnector.dll
File(s):/_/src/MySqlConnector/Protocol/Payloads/StatementPrepareResponsePayload.cs
+
+
+
+
+
+
+
Line coverage
+
+
0%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:0
Uncovered lines:15
Coverable lines:15
Total lines:30
Line coverage:0%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+
+ +++++ + + + + + +
MethodBlocks covered Blocks not covered
Create(...)09
StatementPrepareResponsePayload(...)01
+
+

File(s)

+

/_/src/MySqlConnector/Protocol/Payloads/StatementPrepareResponsePayload.cs

+

File '/_/src/MySqlConnector/Protocol/Payloads/StatementPrepareResponsePayload.cs' does not exist (any more).

+
+
+ + \ No newline at end of file diff --git a/coveragereport/mysqlconnector.dll_StatementPreparer.html b/coveragereport/mysqlconnector.dll_StatementPreparer.html new file mode 100644 index 0000000..d263df1 --- /dev/null +++ b/coveragereport/mysqlconnector.dll_StatementPreparer.html @@ -0,0 +1,204 @@ + + + + + + + +MySqlConnector.Core.StatementPreparer - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:MySqlConnector.Core.StatementPreparer
Assembly:mysqlconnector.dll
File(s):/_/src/MySqlConnector/Core/StatementPreparer.cs
+
+
+
+
+
+
+
Line coverage
+
+
41%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:31
Uncovered lines:43
Coverable lines:74
Total lines:152
Line coverage:41.8%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+ +

File(s)

+

/_/src/MySqlConnector/Core/StatementPreparer.cs

+

File '/_/src/MySqlConnector/Core/StatementPreparer.cs' does not exist (any more).

+
+
+ + \ No newline at end of file diff --git a/coveragereport/mysqlconnector.dll_StreamByteHandler.html b/coveragereport/mysqlconnector.dll_StreamByteHandler.html new file mode 100644 index 0000000..dce048e --- /dev/null +++ b/coveragereport/mysqlconnector.dll_StreamByteHandler.html @@ -0,0 +1,178 @@ + + + + + + + +MySqlConnector.Protocol.Serialization.StreamByteHandler - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:MySqlConnector.Protocol.Serialization.StreamByteHandler
Assembly:mysqlconnector.dll
File(s):/_/src/MySqlConnector/Protocol/Serialization/StreamByteHandler.cs
+
+
+
+
+
+
+
Line coverage
+
+
46%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:23
Uncovered lines:27
Coverable lines:50
Total lines:107
Line coverage:46%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+
+ +++++ + + + + + + + + + +
MethodBlocks covered Blocks not covered
StreamByteHandler(...)40
Dispose()02
ReadBytesAsync(...)69
ReadBytesAsync()3823
WriteBytesAsync(...)36
WriteBytesAsync()115
+
+

File(s)

+

/_/src/MySqlConnector/Protocol/Serialization/StreamByteHandler.cs

+

File '/_/src/MySqlConnector/Protocol/Serialization/StreamByteHandler.cs' does not exist (any more).

+
+
+ + \ No newline at end of file diff --git a/coveragereport/mysqlconnector.dll_StringColumnReader.html b/coveragereport/mysqlconnector.dll_StringColumnReader.html new file mode 100644 index 0000000..7b0cce4 --- /dev/null +++ b/coveragereport/mysqlconnector.dll_StringColumnReader.html @@ -0,0 +1,169 @@ + + + + + + + +MySqlConnector.ColumnReaders.StringColumnReader - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:MySqlConnector.ColumnReaders.StringColumnReader
Assembly:mysqlconnector.dll
File(s):/_/src/MySqlConnector/ColumnReaders/StringColumnReader.cs
+
+
+
+
+
+
+
Line coverage
+
+
100%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:2
Uncovered lines:0
Coverable lines:2
Total lines:13
Line coverage:100%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+
+ +++++ + + + + + +
MethodBlocks covered Blocks not covered
StringColumnReader()20
ReadValue(...)30
+
+

File(s)

+

/_/src/MySqlConnector/ColumnReaders/StringColumnReader.cs

+

File '/_/src/MySqlConnector/ColumnReaders/StringColumnReader.cs' does not exist (any more).

+
+
+ + \ No newline at end of file diff --git a/coveragereport/mysqlconnector.dll_TextBooleanColumnReader.html b/coveragereport/mysqlconnector.dll_TextBooleanColumnReader.html new file mode 100644 index 0000000..d965918 --- /dev/null +++ b/coveragereport/mysqlconnector.dll_TextBooleanColumnReader.html @@ -0,0 +1,173 @@ + + + + + + + +MySqlConnector.ColumnReaders.TextBooleanColumnReader - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:MySqlConnector.ColumnReaders.TextBooleanColumnReader
Assembly:mysqlconnector.dll
File(s):/_/src/MySqlConnector/ColumnReaders/TextBooleanColumnReader.cs
+
+
+
+
+
+
+
Line coverage
+
+
0%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:0
Uncovered lines:4
Coverable lines:4
Total lines:19
Line coverage:0%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+
+ +++++ + + + + + + + +
MethodBlocks covered Blocks not covered
TextBooleanColumnReader()02
ReadValue(...)02
TryReadInt32(...)03
DoReadValue(...)02
+
+

File(s)

+

/_/src/MySqlConnector/ColumnReaders/TextBooleanColumnReader.cs

+

File '/_/src/MySqlConnector/ColumnReaders/TextBooleanColumnReader.cs' does not exist (any more).

+
+
+ + \ No newline at end of file diff --git a/coveragereport/mysqlconnector.dll_TextDateTimeColumnReader.html b/coveragereport/mysqlconnector.dll_TextDateTimeColumnReader.html new file mode 100644 index 0000000..e8e1965 --- /dev/null +++ b/coveragereport/mysqlconnector.dll_TextDateTimeColumnReader.html @@ -0,0 +1,170 @@ + + + + + + + +MySqlConnector.ColumnReaders.TextDateTimeColumnReader - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:MySqlConnector.ColumnReaders.TextDateTimeColumnReader
Assembly:mysqlconnector.dll
File(s):/_/src/MySqlConnector/ColumnReaders/TextDateTimeColumnReader.cs
+
+
+
+
+
+
+
Line coverage
+
+
59%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:25
Uncovered lines:17
Coverable lines:42
Total lines:95
Line coverage:59.5%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+
+ +++++ + + + + + + +
MethodBlocks covered Blocks not covered
TextDateTimeColumnReader(...)50
ReadValue(...)20
ParseDateTime(...)5932
+
+

File(s)

+

/_/src/MySqlConnector/ColumnReaders/TextDateTimeColumnReader.cs

+

File '/_/src/MySqlConnector/ColumnReaders/TextDateTimeColumnReader.cs' does not exist (any more).

+
+
+ + \ No newline at end of file diff --git a/coveragereport/mysqlconnector.dll_TextDoubleColumnReader.html b/coveragereport/mysqlconnector.dll_TextDoubleColumnReader.html new file mode 100644 index 0000000..447a2ac --- /dev/null +++ b/coveragereport/mysqlconnector.dll_TextDoubleColumnReader.html @@ -0,0 +1,169 @@ + + + + + + + +MySqlConnector.ColumnReaders.TextDoubleColumnReader - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:MySqlConnector.ColumnReaders.TextDoubleColumnReader
Assembly:mysqlconnector.dll
File(s):/_/src/MySqlConnector/ColumnReaders/TextDoubleColumnReader.cs
+
+
+
+
+
+
+
Line coverage
+
+
10%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:1
Uncovered lines:9
Coverable lines:10
Total lines:23
Line coverage:10%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+
+ +++++ + + + + + +
MethodBlocks covered Blocks not covered
TextDoubleColumnReader()20
ReadValue(...)022
+
+

File(s)

+

/_/src/MySqlConnector/ColumnReaders/TextDoubleColumnReader.cs

+

File '/_/src/MySqlConnector/ColumnReaders/TextDoubleColumnReader.cs' does not exist (any more).

+
+
+ + \ No newline at end of file diff --git a/coveragereport/mysqlconnector.dll_TextFloatColumnReader.html b/coveragereport/mysqlconnector.dll_TextFloatColumnReader.html new file mode 100644 index 0000000..cb8fe00 --- /dev/null +++ b/coveragereport/mysqlconnector.dll_TextFloatColumnReader.html @@ -0,0 +1,169 @@ + + + + + + + +MySqlConnector.ColumnReaders.TextFloatColumnReader - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:MySqlConnector.ColumnReaders.TextFloatColumnReader
Assembly:mysqlconnector.dll
File(s):/_/src/MySqlConnector/ColumnReaders/TextFloatColumnReader.cs
+
+
+
+
+
+
+
Line coverage
+
+
30%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:3
Uncovered lines:7
Coverable lines:10
Total lines:23
Line coverage:30%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+
+ +++++ + + + + + +
MethodBlocks covered Blocks not covered
TextFloatColumnReader()20
ReadValue(...)517
+
+

File(s)

+

/_/src/MySqlConnector/ColumnReaders/TextFloatColumnReader.cs

+

File '/_/src/MySqlConnector/ColumnReaders/TextFloatColumnReader.cs' does not exist (any more).

+
+
+ + \ No newline at end of file diff --git a/coveragereport/mysqlconnector.dll_TextSignedInt16ColumnReader.html b/coveragereport/mysqlconnector.dll_TextSignedInt16ColumnReader.html new file mode 100644 index 0000000..7f4cfbf --- /dev/null +++ b/coveragereport/mysqlconnector.dll_TextSignedInt16ColumnReader.html @@ -0,0 +1,173 @@ + + + + + + + +MySqlConnector.ColumnReaders.TextSignedInt16ColumnReader - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:MySqlConnector.ColumnReaders.TextSignedInt16ColumnReader
Assembly:mysqlconnector.dll
File(s):/_/src/MySqlConnector/ColumnReaders/TextSignedInt16ColumnReader.cs
+
+
+
+
+
+
+
Line coverage
+
+
0%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:0
Uncovered lines:4
Coverable lines:4
Total lines:20
Line coverage:0%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+
+ +++++ + + + + + + + +
MethodBlocks covered Blocks not covered
TextSignedInt16ColumnReader()02
ReadValue(...)02
TryReadInt32(...)03
DoReadValue(...)07
+
+

File(s)

+

/_/src/MySqlConnector/ColumnReaders/TextSignedInt16ColumnReader.cs

+

File '/_/src/MySqlConnector/ColumnReaders/TextSignedInt16ColumnReader.cs' does not exist (any more).

+
+
+ + \ No newline at end of file diff --git a/coveragereport/mysqlconnector.dll_TextSignedInt32ColumnReader.html b/coveragereport/mysqlconnector.dll_TextSignedInt32ColumnReader.html new file mode 100644 index 0000000..5d4d9a9 --- /dev/null +++ b/coveragereport/mysqlconnector.dll_TextSignedInt32ColumnReader.html @@ -0,0 +1,173 @@ + + + + + + + +MySqlConnector.ColumnReaders.TextSignedInt32ColumnReader - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:MySqlConnector.ColumnReaders.TextSignedInt32ColumnReader
Assembly:mysqlconnector.dll
File(s):/_/src/MySqlConnector/ColumnReaders/TextSignedInt32ColumnReader.cs
+
+
+
+
+
+
+
Line coverage
+
+
75%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:3
Uncovered lines:1
Coverable lines:4
Total lines:20
Line coverage:75%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+
+ +++++ + + + + + + + +
MethodBlocks covered Blocks not covered
TextSignedInt32ColumnReader()20
ReadValue(...)02
TryReadInt32(...)30
DoReadValue(...)52
+
+

File(s)

+

/_/src/MySqlConnector/ColumnReaders/TextSignedInt32ColumnReader.cs

+

File '/_/src/MySqlConnector/ColumnReaders/TextSignedInt32ColumnReader.cs' does not exist (any more).

+
+
+ + \ No newline at end of file diff --git a/coveragereport/mysqlconnector.dll_TextSignedInt64ColumnReader.html b/coveragereport/mysqlconnector.dll_TextSignedInt64ColumnReader.html new file mode 100644 index 0000000..7fec55b --- /dev/null +++ b/coveragereport/mysqlconnector.dll_TextSignedInt64ColumnReader.html @@ -0,0 +1,173 @@ + + + + + + + +MySqlConnector.ColumnReaders.TextSignedInt64ColumnReader - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:MySqlConnector.ColumnReaders.TextSignedInt64ColumnReader
Assembly:mysqlconnector.dll
File(s):/_/src/MySqlConnector/ColumnReaders/TextSignedInt64ColumnReader.cs
+
+
+
+
+
+
+
Line coverage
+
+
0%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:0
Uncovered lines:4
Coverable lines:4
Total lines:20
Line coverage:0%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+
+ +++++ + + + + + + + +
MethodBlocks covered Blocks not covered
TextSignedInt64ColumnReader()02
ReadValue(...)02
TryReadInt32(...)03
DoReadValue(...)07
+
+

File(s)

+

/_/src/MySqlConnector/ColumnReaders/TextSignedInt64ColumnReader.cs

+

File '/_/src/MySqlConnector/ColumnReaders/TextSignedInt64ColumnReader.cs' does not exist (any more).

+
+
+ + \ No newline at end of file diff --git a/coveragereport/mysqlconnector.dll_TextSignedInt8ColumnReader.html b/coveragereport/mysqlconnector.dll_TextSignedInt8ColumnReader.html new file mode 100644 index 0000000..c1fbb2d --- /dev/null +++ b/coveragereport/mysqlconnector.dll_TextSignedInt8ColumnReader.html @@ -0,0 +1,173 @@ + + + + + + + +MySqlConnector.ColumnReaders.TextSignedInt8ColumnReader - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:MySqlConnector.ColumnReaders.TextSignedInt8ColumnReader
Assembly:mysqlconnector.dll
File(s):/_/src/MySqlConnector/ColumnReaders/TextSignedInt8ColumnReader.cs
+
+
+
+
+
+
+
Line coverage
+
+
75%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:3
Uncovered lines:1
Coverable lines:4
Total lines:20
Line coverage:75%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+
+ +++++ + + + + + + + +
MethodBlocks covered Blocks not covered
TextSignedInt8ColumnReader()20
ReadValue(...)20
TryReadInt32(...)03
DoReadValue(...)52
+
+

File(s)

+

/_/src/MySqlConnector/ColumnReaders/TextSignedInt8ColumnReader.cs

+

File '/_/src/MySqlConnector/ColumnReaders/TextSignedInt8ColumnReader.cs' does not exist (any more).

+
+
+ + \ No newline at end of file diff --git a/coveragereport/mysqlconnector.dll_TextTimeColumnReader.html b/coveragereport/mysqlconnector.dll_TextTimeColumnReader.html new file mode 100644 index 0000000..34a928c --- /dev/null +++ b/coveragereport/mysqlconnector.dll_TextTimeColumnReader.html @@ -0,0 +1,169 @@ + + + + + + + +MySqlConnector.ColumnReaders.TextTimeColumnReader - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:MySqlConnector.ColumnReaders.TextTimeColumnReader
Assembly:mysqlconnector.dll
File(s):/_/src/MySqlConnector/ColumnReaders/TextTimeColumnReader.cs
+
+
+
+
+
+
+
Line coverage
+
+
0%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:0
Uncovered lines:2
Coverable lines:2
Total lines:12
Line coverage:0%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+
+ +++++ + + + + + +
MethodBlocks covered Blocks not covered
TextTimeColumnReader()02
ReadValue(...)02
+
+

File(s)

+

/_/src/MySqlConnector/ColumnReaders/TextTimeColumnReader.cs

+

File '/_/src/MySqlConnector/ColumnReaders/TextTimeColumnReader.cs' does not exist (any more).

+
+
+ + \ No newline at end of file diff --git a/coveragereport/mysqlconnector.dll_TextUnsignedInt16ColumnReader.html b/coveragereport/mysqlconnector.dll_TextUnsignedInt16ColumnReader.html new file mode 100644 index 0000000..0183034 --- /dev/null +++ b/coveragereport/mysqlconnector.dll_TextUnsignedInt16ColumnReader.html @@ -0,0 +1,173 @@ + + + + + + + +MySqlConnector.ColumnReaders.TextUnsignedInt16ColumnReader - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:MySqlConnector.ColumnReaders.TextUnsignedInt16ColumnReader
Assembly:mysqlconnector.dll
File(s):/_/src/MySqlConnector/ColumnReaders/TextUnsignedInt16ColumnReader.cs
+
+
+
+
+
+
+
Line coverage
+
+
0%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:0
Uncovered lines:4
Coverable lines:4
Total lines:20
Line coverage:0%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+
+ +++++ + + + + + + + +
MethodBlocks covered Blocks not covered
TextUnsignedInt16ColumnReader()02
ReadValue(...)02
TryReadInt32(...)03
DoReadValue(...)07
+
+

File(s)

+

/_/src/MySqlConnector/ColumnReaders/TextUnsignedInt16ColumnReader.cs

+

File '/_/src/MySqlConnector/ColumnReaders/TextUnsignedInt16ColumnReader.cs' does not exist (any more).

+
+
+ + \ No newline at end of file diff --git a/coveragereport/mysqlconnector.dll_TextUnsignedInt32ColumnReader.html b/coveragereport/mysqlconnector.dll_TextUnsignedInt32ColumnReader.html new file mode 100644 index 0000000..fde7ef6 --- /dev/null +++ b/coveragereport/mysqlconnector.dll_TextUnsignedInt32ColumnReader.html @@ -0,0 +1,173 @@ + + + + + + + +MySqlConnector.ColumnReaders.TextUnsignedInt32ColumnReader - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:MySqlConnector.ColumnReaders.TextUnsignedInt32ColumnReader
Assembly:mysqlconnector.dll
File(s):/_/src/MySqlConnector/ColumnReaders/TextUnsignedInt32ColumnReader.cs
+
+
+
+
+
+
+
Line coverage
+
+
0%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:0
Uncovered lines:4
Coverable lines:4
Total lines:18
Line coverage:0%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+
+ +++++ + + + + + + + +
MethodBlocks covered Blocks not covered
TextUnsignedInt32ColumnReader()02
ReadValue(...)02
TryReadInt32(...)03
DoReadValue(...)07
+
+

File(s)

+

/_/src/MySqlConnector/ColumnReaders/TextUnsignedInt32ColumnReader.cs

+

File '/_/src/MySqlConnector/ColumnReaders/TextUnsignedInt32ColumnReader.cs' does not exist (any more).

+
+
+ + \ No newline at end of file diff --git a/coveragereport/mysqlconnector.dll_TextUnsignedInt64ColumnReader.html b/coveragereport/mysqlconnector.dll_TextUnsignedInt64ColumnReader.html new file mode 100644 index 0000000..63cb4cb --- /dev/null +++ b/coveragereport/mysqlconnector.dll_TextUnsignedInt64ColumnReader.html @@ -0,0 +1,173 @@ + + + + + + + +MySqlConnector.ColumnReaders.TextUnsignedInt64ColumnReader - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:MySqlConnector.ColumnReaders.TextUnsignedInt64ColumnReader
Assembly:mysqlconnector.dll
File(s):/_/src/MySqlConnector/ColumnReaders/TextUnsignedInt64ColumnReader.cs
+
+
+
+
+
+
+
Line coverage
+
+
0%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:0
Uncovered lines:4
Coverable lines:4
Total lines:20
Line coverage:0%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+
+ +++++ + + + + + + + +
MethodBlocks covered Blocks not covered
TextUnsignedInt64ColumnReader()02
ReadValue(...)02
TryReadInt32(...)03
DoReadValue(...)07
+
+

File(s)

+

/_/src/MySqlConnector/ColumnReaders/TextUnsignedInt64ColumnReader.cs

+

File '/_/src/MySqlConnector/ColumnReaders/TextUnsignedInt64ColumnReader.cs' does not exist (any more).

+
+
+ + \ No newline at end of file diff --git a/coveragereport/mysqlconnector.dll_TextUnsignedInt8ColumnReader.html b/coveragereport/mysqlconnector.dll_TextUnsignedInt8ColumnReader.html new file mode 100644 index 0000000..5972c10 --- /dev/null +++ b/coveragereport/mysqlconnector.dll_TextUnsignedInt8ColumnReader.html @@ -0,0 +1,173 @@ + + + + + + + +MySqlConnector.ColumnReaders.TextUnsignedInt8ColumnReader - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:MySqlConnector.ColumnReaders.TextUnsignedInt8ColumnReader
Assembly:mysqlconnector.dll
File(s):/_/src/MySqlConnector/ColumnReaders/TextUnsignedInt8ColumnReader.cs
+
+
+
+
+
+
+
Line coverage
+
+
0%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:0
Uncovered lines:4
Coverable lines:4
Total lines:20
Line coverage:0%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+
+ +++++ + + + + + + + +
MethodBlocks covered Blocks not covered
TextUnsignedInt8ColumnReader()02
ReadValue(...)02
TryReadInt32(...)03
DoReadValue(...)07
+
+

File(s)

+

/_/src/MySqlConnector/ColumnReaders/TextUnsignedInt8ColumnReader.cs

+

File '/_/src/MySqlConnector/ColumnReaders/TextUnsignedInt8ColumnReader.cs' does not exist (any more).

+
+
+ + \ No newline at end of file diff --git a/coveragereport/mysqlconnector.dll_TimerQueue.html b/coveragereport/mysqlconnector.dll_TimerQueue.html new file mode 100644 index 0000000..458c256 --- /dev/null +++ b/coveragereport/mysqlconnector.dll_TimerQueue.html @@ -0,0 +1,184 @@ + + + + + + + +MySqlConnector.Utilities.TimerQueue - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:MySqlConnector.Utilities.TimerQueue
Assembly:mysqlconnector.dll
File(s):/_/src/MySqlConnector/Utilities/TimerQueue.cs
+
+
+
+
+
+
+
Line coverage
+
+
80%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:46
Uncovered lines:11
Coverable lines:57
Total lines:132
Line coverage:80.7%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+
+ +++++ + + + + + + + + + + + +
MethodBlocks covered Blocks not covered
TimerQueue()20
Add(...)222
Remove(...)170
TimerQueue()60
Callback(...)308
UnsafeSetTimer(...)30
UnsafeClearTimer()02
Data(...)10
+
+

File(s)

+

/_/src/MySqlConnector/Utilities/TimerQueue.cs

+

File '/_/src/MySqlConnector/Utilities/TimerQueue.cs' does not exist (any more).

+
+
+ + \ No newline at end of file diff --git a/coveragereport/mysqlconnector.dll_TypeMapper.html b/coveragereport/mysqlconnector.dll_TypeMapper.html new file mode 100644 index 0000000..f79e00c --- /dev/null +++ b/coveragereport/mysqlconnector.dll_TypeMapper.html @@ -0,0 +1,197 @@ + + + + + + + +MySqlConnector.Core.TypeMapper - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:MySqlConnector.Core.TypeMapper
Assembly:mysqlconnector.dll
File(s):/_/src/MySqlConnector/Core/TypeMapper.cs
+
+
+
+
+
+
+
Line coverage
+
+
50%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:100
Uncovered lines:99
Coverable lines:199
Total lines:350
Line coverage:50.2%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+ +

File(s)

+

/_/src/MySqlConnector/Core/TypeMapper.cs

+

File '/_/src/MySqlConnector/Core/TypeMapper.cs' does not exist (any more).

+
+
+ + \ No newline at end of file diff --git a/coveragereport/mysqlconnector.dll_Utility.html b/coveragereport/mysqlconnector.dll_Utility.html new file mode 100644 index 0000000..87a75a9 --- /dev/null +++ b/coveragereport/mysqlconnector.dll_Utility.html @@ -0,0 +1,200 @@ + + + + + + + +MySqlConnector.Utilities.Utility - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:MySqlConnector.Utilities.Utility
Assembly:mysqlconnector.dll
File(s):/_/src/MySqlConnector/Utilities/Utility.cs
+
+
+
+
+
+
+
Line coverage
+
+
9%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:14
Uncovered lines:138
Coverable lines:152
Total lines:684
Line coverage:9.2%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+ +

File(s)

+

/_/src/MySqlConnector/Utilities/Utility.cs

+

File '/_/src/MySqlConnector/Utilities/Utility.cs' does not exist (any more).

+
+
+ + \ No newline at end of file diff --git a/coveragereport/mysqlconnector.dll_ValueTaskExtensions.html b/coveragereport/mysqlconnector.dll_ValueTaskExtensions.html new file mode 100644 index 0000000..026ab72 --- /dev/null +++ b/coveragereport/mysqlconnector.dll_ValueTaskExtensions.html @@ -0,0 +1,168 @@ + + + + + + + +MySqlConnector.Utilities.ValueTaskExtensions - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:MySqlConnector.Utilities.ValueTaskExtensions
Assembly:mysqlconnector.dll
File(s):/_/src/MySqlConnector/Utilities/ValueTaskExtensions.cs
+
+
+
+
+
+
+
Line coverage
+
+
0%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:0
Uncovered lines:2
Coverable lines:2
Total lines:19
Line coverage:0%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+
+ +++++ + + + + + +
MethodBlocks covered Blocks not covered
FromException(...)02
FromException<T>(...)02
+
+

File(s)

+

/_/src/MySqlConnector/Utilities/ValueTaskExtensions.cs

+

File '/_/src/MySqlConnector/Utilities/ValueTaskExtensions.cs' does not exist (any more).

+
+
+ + \ No newline at end of file diff --git a/coveragereport/mysqlconnector.dll_XaEnlistedTransaction.html b/coveragereport/mysqlconnector.dll_XaEnlistedTransaction.html new file mode 100644 index 0000000..669d3ca --- /dev/null +++ b/coveragereport/mysqlconnector.dll_XaEnlistedTransaction.html @@ -0,0 +1,176 @@ + + + + + + + +MySqlConnector.Core.XaEnlistedTransaction - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:MySqlConnector.Core.XaEnlistedTransaction
Assembly:mysqlconnector.dll
File(s):/_/src/MySqlConnector/Core/XaEnlistedTransaction.cs
+
+
+
+
+
+
+
Line coverage
+
+
0%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:0
Uncovered lines:21
Coverable lines:21
Total lines:52
Line coverage:0%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+
+ +++++ + + + + + + + + + +
MethodBlocks covered Blocks not covered
XaEnlistedTransaction(...)02
OnStart()09
OnPrepare(...)03
OnCommit(...)02
OnRollback(...)012
ExecuteXaCommand(...)011
+
+

File(s)

+

/_/src/MySqlConnector/Core/XaEnlistedTransaction.cs

+

File '/_/src/MySqlConnector/Core/XaEnlistedTransaction.cs' does not exist (any more).

+
+
+ + \ No newline at end of file diff --git a/coveragereport/mysqlconnector.dll__RegexGenerator_g_F74B1AE921BCE1EA81E8FE504B5B6446748E035A__NameRegex_0.html b/coveragereport/mysqlconnector.dll__RegexGenerator_g_F74B1AE921BCE1EA81E8FE504B5B6446748E035A__NameRegex_0.html new file mode 100644 index 0000000..1879e99 --- /dev/null +++ b/coveragereport/mysqlconnector.dll__RegexGenerator_g_F74B1AE921BCE1EA81E8FE504B5B6446748E035A__NameRegex_0.html @@ -0,0 +1,172 @@ + + + + + + + +System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__NameRegex_0 - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__NameRegex_0
Assembly:mysqlconnector.dll
File(s):/_/src/MySqlConnector/System.Text.RegularExpressions.Generator/System.Text.RegularExpressions.Generator.RegexGenerator/RegexGenerator.g.cs
+
+
+
+
+
+
+
Line coverage
+
+
0%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:0
Uncovered lines:288
Coverable lines:288
Total lines:890
Line coverage:0%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+
+ +++++ + + + + + + + +
MethodBlocks covered Blocks not covered
RegexGenerator_g()02
RegexGenerator_g()07
RegexGenerator_g()06
RegexGenerator_g()0252
+
+

File(s)

+

/_/src/MySqlConnector/System.Text.RegularExpressions.Generator/System.Text.RegularExpressions.Generator.RegexGenerator/RegexGenerator.g.cs

+

File '/_/src/MySqlConnector/System.Text.RegularExpressions.Generator/System.Text.RegularExpressions.Generator.RegexGenerator/RegexGenerator.g.cs' does not exist (any more).

+
+
+ + \ No newline at end of file diff --git a/coveragereport/mysqlconnector.dll__RegexGenerator_g_F74B1AE921BCE711EA81E8FE504B5B6446748E035A__Utilities.html b/coveragereport/mysqlconnector.dll__RegexGenerator_g_F74B1AE921BCE711EA81E8FE504B5B6446748E035A__Utilities.html new file mode 100644 index 0000000..ec68f67 --- /dev/null +++ b/coveragereport/mysqlconnector.dll__RegexGenerator_g_F74B1AE921BCE711EA81E8FE504B5B6446748E035A__Utilities.html @@ -0,0 +1,172 @@ + + + + + + + +System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Utilities - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Utilities
Assembly:mysqlconnector.dll
File(s):/_/src/MySqlConnector/System.Text.RegularExpressions.Generator/System.Text.RegularExpressions.Generator.RegexGenerator/RegexGenerator.g.cs
+
+
+
+
+
+
+
Line coverage
+
+
0%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:0
Uncovered lines:41
Coverable lines:41
Total lines:1381
Line coverage:0%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+
+ +++++ + + + + + + + +
MethodBlocks covered Blocks not covered
RegexGenerator_g()01
RegexGenerator_g()04
RegexGenerator_g()04
RegexGenerator_g()04
+
+

File(s)

+

/_/src/MySqlConnector/System.Text.RegularExpressions.Generator/System.Text.RegularExpressions.Generator.RegexGenerator/RegexGenerator.g.cs

+

File '/_/src/MySqlConnector/System.Text.RegularExpressions.Generator/System.Text.RegularExpressions.Generator.RegexGenerator/RegexGenerator.g.cs' does not exist (any more).

+
+
+ + \ No newline at end of file diff --git a/coveragereport/mysqlconnector.dll__RegexGenerator_g_F74B1AE921BCEFE504B5B6446748E035A__TlsVersionsRegex_1.html b/coveragereport/mysqlconnector.dll__RegexGenerator_g_F74B1AE921BCEFE504B5B6446748E035A__TlsVersionsRegex_1.html new file mode 100644 index 0000000..4ca39b5 --- /dev/null +++ b/coveragereport/mysqlconnector.dll__RegexGenerator_g_F74B1AE921BCEFE504B5B6446748E035A__TlsVersionsRegex_1.html @@ -0,0 +1,172 @@ + + + + + + + +System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__TlsVersionsRegex_1 - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__TlsVersionsRegex_1
Assembly:mysqlconnector.dll
File(s):/_/src/MySqlConnector/System.Text.RegularExpressions.Generator/System.Text.RegularExpressions.Generator.RegexGenerator/RegexGenerator.g.cs
+
+
+
+
+
+
+
Line coverage
+
+
0%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:0
Uncovered lines:142
Coverable lines:142
Total lines:1277
Line coverage:0%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
+

Feature is only available for sponsors

+Upgrade to PRO version +
+
+
+
+

Metrics

+
+ +++++ + + + + + + + +
MethodBlocks covered Blocks not covered
RegexGenerator_g()02
RegexGenerator_g()010
RegexGenerator_g()015
RegexGenerator_g()0128
+
+

File(s)

+

/_/src/MySqlConnector/System.Text.RegularExpressions.Generator/System.Text.RegularExpressions.Generator.RegexGenerator/RegexGenerator.g.cs

+

File '/_/src/MySqlConnector/System.Text.RegularExpressions.Generator/System.Text.RegularExpressions.Generator.RegexGenerator/RegexGenerator.g.cs' does not exist (any more).

+
+
+ + \ No newline at end of file diff --git a/coveragereport/report.css b/coveragereport/report.css new file mode 100644 index 0000000..db2d588 --- /dev/null +++ b/coveragereport/report.css @@ -0,0 +1,785 @@ +:root { + --green: #0aad0a; + --lightgreen: #dcf4dc; +} + +html { font-family: sans-serif; margin: 0; padding: 0; font-size: 0.9em; background-color: #d6d6d6; height: 100%; } +body { margin: 0; padding: 0; height: 100%; color: #000; } +h1 { font-family: 'Century Gothic', sans-serif; font-size: 1.2em; font-weight: normal; color: #fff; background-color: #6f6f6f; padding: 10px; margin: 20px -20px 20px -20px; } +h1:first-of-type { margin-top: 0; } +h2 { font-size: 1.0em; font-weight: bold; margin: 10px 0 15px 0; padding: 0; } +h3 { font-size: 1.0em; font-weight: bold; margin: 0 0 10px 0; padding: 0; display: inline-block; } +input, select, button { border: 1px solid #767676; border-radius: 0; } +button { background-color: #ddd; cursor: pointer; } +a { color: #c00; text-decoration: none; } +a:hover { color: #000; text-decoration: none; } +h1 a.back { color: #fff; background-color: #949494; display: inline-block; margin: -12px 5px -10px -10px; padding: 10px; border-right: 1px solid #fff; } +h1 a.back:hover { background-color: #ccc; } +h1 a.button { color: #000; background-color: #bebebe; margin: -5px 0 0 10px; padding: 5px 8px 5px 8px; border: 1px solid #fff; font-size: 0.9em; border-radius: 3px; float:right; } +h1 a.button:hover { background-color: #ccc; } +h1 a.button i { position: relative; top: 1px; } + +.container { margin: auto; max-width: 1650px; width: 90%; background-color: #fff; display: flex; box-shadow: 0 0 60px #7d7d7d; min-height: 100%; } +.containerleft { padding: 0 20px 20px 20px; flex: 1; min-width: 1%; } +.containerright { width: 340px; min-width: 340px; background-color: #e5e5e5; height: 100%; } +.containerrightfixed { position: fixed; padding: 0 20px 20px 20px; border-left: 1px solid #6f6f6f; width: 300px; overflow-y: auto; height: 100%; top: 0; bottom: 0; } +.containerrightfixed h1 { background-color: #c00; } +.containerrightfixed label, .containerright a { white-space: nowrap; overflow: hidden; display: inline-block; width: 100%; max-width: 300px; text-overflow: ellipsis; } +.containerright a { margin-bottom: 3px; } + +@media screen and (max-width:1200px){ + .container { box-shadow: none; width: 100%; } + .containerright { display: none; } +} + +.popup-container { position: fixed; left: 0; right: 0; top: 0; bottom: 0; background-color: rgb(0, 0, 0, 0.6); z-index: 100; } +.popup { position: absolute; top: 50%; right: 50%; transform: translate(50%,-50%); background-color: #fff; padding: 25px; border-radius: 15px; min-width: 300px; } +.popup .close { text-align: right; color: #979797; font-size: 25px;position: relative; left: 10px; bottom: 10px; cursor: pointer; } + +.footer { font-size: 0.7em; text-align: center; margin-top: 35px; } + +.card-group { display: flex; flex-wrap: wrap; margin-top: -15px; margin-left: -15px; } +.card-group + .card-group { margin-top: 0; } +.card-group .card { margin-top: 15px; margin-left: 15px; display: flex; flex-direction: column; background-color: #e4e4e4; background: radial-gradient(circle, #fefefe 0%, #f6f6f6 100%); border: 1px solid #c1c1c1; padding: 15px; color: #6f6f6f; max-width: 100% } +.card-group .card .card-header { font-size: 1.5rem; font-family: 'Century Gothic', sans-serif; margin-bottom: 15px; flex-grow: 1; } +.card-group .card .card-body { display: flex; flex-direction: row; gap: 15px; flex-grow: 1; } +.card-group .card .card-body div.table { display: flex; flex-direction: column; } +.card-group .card .large { font-size: 5rem; line-height: 5rem; font-weight: bold; align-self: flex-end; border-left-width: 4px; padding-left: 10px; } +.card-group .card table { align-self: flex-end; border-collapse: collapse; } +.card-group .card table tr { border-bottom: 1px solid #c1c1c1; } +.card-group .card table tr:hover { background-color: #c1c1c1; } +.card-group .card table tr:last-child { border-bottom: none; } +.card-group .card table th, .card-group .card table td { padding: 2px; } +.card-group td.limit-width { max-width: 200px; text-overflow: ellipsis; overflow: hidden; } +.card-group td.overflow-wrap { overflow-wrap: anywhere; } + +.pro-button { color: #fff; background-color: #20A0D2; background-image: linear-gradient(50deg, #1c7ed6 0%, #23b8cf 100%); padding: 10px; border-radius: 3px; font-weight: bold; display: inline-block; } +.pro-button:hover { color: #fff; background-color: #1C8EB7; background-image: linear-gradient(50deg, #1A6FBA 0%, #1EA1B5 100%); } +.pro-button-tiny { border-radius: 10px; padding: 3px 8px; } + +th { text-align: left; } +.table-fixed { table-layout: fixed; } +.table-responsive { overflow-x: auto; } +.table-responsive::-webkit-scrollbar { height: 20px; } +.table-responsive::-webkit-scrollbar-thumb { background-color: #6f6f6f; border-radius: 20px; border: 5px solid #fff; } +.overview { border: 1px solid #c1c1c1; border-collapse: collapse; width: 100%; word-wrap: break-word; } +.overview th { border: 1px solid #c1c1c1; border-collapse: collapse; padding: 2px 4px 2px 4px; background-color: #ddd; } +.overview tr.namespace th { background-color: #dcdcdc; } +.overview thead th { background-color: #d1d1d1; } +.overview th a { color: #000; } +.overview tr.namespace a { margin-left: 15px; display: block; } +.overview td { border: 1px solid #c1c1c1; border-collapse: collapse; padding: 2px 5px 2px 5px; } +.overview tr.header th { background-color: #d1d1d1; } +.overview tr.header th:nth-child(2n+1) { background-color: #ddd; } +.overview tr.header th:first-child { border-left: 1px solid #fff; border-top: 1px solid #fff; background-color: #fff; } +.overview tr:hover>td { background-color: #b0b0b0; } + +div.currenthistory { margin: -2px -5px 0 -5px; padding: 2px 5px 2px 5px; height: 16px; } +.coverage { border-collapse: collapse; font-size: 5px; height: 10px; } +.coverage td { padding: 0; border: none; } +.stripped tr:nth-child(2n+1) { background-color: #F3F3F3; } + +.customizebox { font-size: 0.75em; margin-bottom: 7px; display: grid; grid-template-columns: 1fr; grid-template-rows: auto auto auto auto; grid-column-gap: 10px; grid-row-gap: 10px; } +.customizebox>div { align-self: end; } +.customizebox div.col-right input { width: 150px; } + +@media screen and (min-width: 1000px) { + .customizebox { grid-template-columns: repeat(4, 1fr); grid-template-rows: 1fr; } + .customizebox div.col-center { justify-self: center; } + .customizebox div.col-right { justify-self: end; } +} +.slider-label { position: relative; left: 85px; } + +.percentagebar { + padding-left: 3px; +} +a.percentagebar { + padding-left: 6px; +} +.percentagebarundefined { + border-left: 2px solid #fff; +} +.percentagebar0 { + border-left: 2px solid #c10909; +} +.percentagebar10 { + border-left: 2px solid; + border-image: linear-gradient(to bottom, #c10909 90%, var(--green) 90%, var(--green) 100%) 1; +} +.percentagebar20 { + border-left: 2px solid; + border-image: linear-gradient(to bottom, #c10909 80%, var(--green) 80%, var(--green) 100%) 1; +} +.percentagebar30 { + border-left: 2px solid; + border-image: linear-gradient(to bottom, #c10909 70%, var(--green) 70%, var(--green) 100%) 1; +} +.percentagebar40 { + border-left: 2px solid; + border-image: linear-gradient(to bottom, #c10909 60%, var(--green) 60%, var(--green) 100%) 1; +} +.percentagebar50 { + border-left: 2px solid; + border-image: linear-gradient(to bottom, #c10909 50%, var(--green) 50%, var(--green) 100%) 1; +} +.percentagebar60 { + border-left: 2px solid; + border-image: linear-gradient(to bottom, #c10909 40%, var(--green) 40%, var(--green) 100%) 1; +} +.percentagebar70 { + border-left: 2px solid; + border-image: linear-gradient(to bottom, #c10909 30%, var(--green) 30%, var(--green) 100%) 1; +} +.percentagebar80 { + border-left: 2px solid; + border-image: linear-gradient(to bottom, #c10909 20%, var(--green) 20%, var(--green) 100%) 1; +} +.percentagebar90 { + border-left: 2px solid; + border-image: linear-gradient(to bottom, #c10909 10%, var(--green) 10%, var(--green) 100%) 1; +} +.percentagebar100 { + border-left: 2px solid var(--green); +} + +.mt-1 { margin-top: 4px; } +.hidden, .ng-hide { display: none; } +.right { text-align: right; } +.center { text-align: center; } +.rightmargin { padding-right: 8px; } +.leftmargin { padding-left: 5px; } +.green { background-color: var(--green); } +.lightgreen { background-color: var(--lightgreen); } +.red { background-color: #c10909; } +.lightred { background-color: #f7dede; } +.orange { background-color: #FFA500; } +.lightorange { background-color: #FFEFD5; } +.gray { background-color: #dcdcdc; } +.lightgray { color: #888888; } +.lightgraybg { background-color: #dadada; } + +code { font-family: Consolas, monospace; font-size: 0.9em; } + +.toggleZoom { text-align:right; } + +.historychart svg { max-width: 100%; } +.ct-chart { position: relative; } +.ct-chart .ct-line { stroke-width: 2px !important; } +.ct-chart .ct-point { stroke-width: 6px !important; transition: stroke-width .2s; } +.ct-chart .ct-point:hover { stroke-width: 10px !important; } +.ct-chart .ct-series.ct-series-a .ct-line, .ct-chart .ct-series.ct-series-a .ct-point { stroke: #c00 !important;} +.ct-chart .ct-series.ct-series-b .ct-line, .ct-chart .ct-series.ct-series-b .ct-point { stroke: #1c2298 !important;} +.ct-chart .ct-series.ct-series-c .ct-line, .ct-chart .ct-series.ct-series-c .ct-point { stroke: #0aad0a !important;} + +.tinylinecoveragechart, .tinybranchcoveragechart, .tinymethodcoveragechart { background-color: #fff; margin-left: -3px; float: left; border: 1px solid #c1c1c1; width: 30px; height: 18px; } +.historiccoverageoffset { margin-top: 7px; } + +.tinylinecoveragechart .ct-line, .tinybranchcoveragechart .ct-line, .tinymethodcoveragechart .ct-line { stroke-width: 1px !important; } +.tinybranchcoveragechart .ct-series.ct-series-a .ct-line { stroke: #1c2298 !important; } +.tinymethodcoveragechart .ct-series.ct-series-a .ct-line { stroke: #0aad0a !important; } + +.linecoverage { background-color: #c00; width: 10px; height: 8px; border: 1px solid #000; display: inline-block; } +.branchcoverage { background-color: #1c2298; width: 10px; height: 8px; border: 1px solid #000; display: inline-block; } +.codeelementcoverage { background-color: #0aad0a; width: 10px; height: 8px; border: 1px solid #000; display: inline-block; } + +.tooltip { position: absolute; display: none; padding: 5px; background: #F4C63D; color: #453D3F; pointer-events: none; z-index: 1; min-width: 250px; } + +.column-min-200 { min-width: 200px; } +.column60 { width: 60px; } +.column70 { width: 70px; } +.column90 { width: 90px; } +.column98 { width: 98px; } +.column100 { width: 100px; } +.column105 { width: 105px; } +.column112 { width: 112px; } + +.cardpercentagebar { border-left-style: solid; } +.cardpercentagebar0 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 0%, var(--green) 0%) 1; } +.cardpercentagebar1 { border-image: linear-gradient(to bottom, #c10909 1%, #c10909 1%, var(--green) 1%) 1; } +.cardpercentagebar2 { border-image: linear-gradient(to bottom, #c10909 2%, #c10909 2%, var(--green) 2%) 1; } +.cardpercentagebar3 { border-image: linear-gradient(to bottom, #c10909 3%, #c10909 3%, var(--green) 3%) 1; } +.cardpercentagebar4 { border-image: linear-gradient(to bottom, #c10909 4%, #c10909 4%, var(--green) 4%) 1; } +.cardpercentagebar5 { border-image: linear-gradient(to bottom, #c10909 5%, #c10909 5%, var(--green) 5%) 1; } +.cardpercentagebar6 { border-image: linear-gradient(to bottom, #c10909 6%, #c10909 6%, var(--green) 6%) 1; } +.cardpercentagebar7 { border-image: linear-gradient(to bottom, #c10909 7%, #c10909 7%, var(--green) 7%) 1; } +.cardpercentagebar8 { border-image: linear-gradient(to bottom, #c10909 8%, #c10909 8%, var(--green) 8%) 1; } +.cardpercentagebar9 { border-image: linear-gradient(to bottom, #c10909 9%, #c10909 9%, var(--green) 9%) 1; } +.cardpercentagebar10 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 10%, var(--green) 10%) 1; } +.cardpercentagebar11 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 11%, var(--green) 11%) 1; } +.cardpercentagebar12 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 12%, var(--green) 12%) 1; } +.cardpercentagebar13 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 13%, var(--green) 13%) 1; } +.cardpercentagebar14 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 14%, var(--green) 14%) 1; } +.cardpercentagebar15 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 15%, var(--green) 15%) 1; } +.cardpercentagebar16 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 16%, var(--green) 16%) 1; } +.cardpercentagebar17 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 17%, var(--green) 17%) 1; } +.cardpercentagebar18 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 18%, var(--green) 18%) 1; } +.cardpercentagebar19 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 19%, var(--green) 19%) 1; } +.cardpercentagebar20 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 20%, var(--green) 20%) 1; } +.cardpercentagebar21 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 21%, var(--green) 21%) 1; } +.cardpercentagebar22 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 22%, var(--green) 22%) 1; } +.cardpercentagebar23 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 23%, var(--green) 23%) 1; } +.cardpercentagebar24 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 24%, var(--green) 24%) 1; } +.cardpercentagebar25 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 25%, var(--green) 25%) 1; } +.cardpercentagebar26 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 26%, var(--green) 26%) 1; } +.cardpercentagebar27 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 27%, var(--green) 27%) 1; } +.cardpercentagebar28 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 28%, var(--green) 28%) 1; } +.cardpercentagebar29 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 29%, var(--green) 29%) 1; } +.cardpercentagebar30 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 30%, var(--green) 30%) 1; } +.cardpercentagebar31 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 31%, var(--green) 31%) 1; } +.cardpercentagebar32 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 32%, var(--green) 32%) 1; } +.cardpercentagebar33 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 33%, var(--green) 33%) 1; } +.cardpercentagebar34 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 34%, var(--green) 34%) 1; } +.cardpercentagebar35 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 35%, var(--green) 35%) 1; } +.cardpercentagebar36 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 36%, var(--green) 36%) 1; } +.cardpercentagebar37 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 37%, var(--green) 37%) 1; } +.cardpercentagebar38 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 38%, var(--green) 38%) 1; } +.cardpercentagebar39 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 39%, var(--green) 39%) 1; } +.cardpercentagebar40 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 40%, var(--green) 40%) 1; } +.cardpercentagebar41 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 41%, var(--green) 41%) 1; } +.cardpercentagebar42 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 42%, var(--green) 42%) 1; } +.cardpercentagebar43 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 43%, var(--green) 43%) 1; } +.cardpercentagebar44 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 44%, var(--green) 44%) 1; } +.cardpercentagebar45 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 45%, var(--green) 45%) 1; } +.cardpercentagebar46 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 46%, var(--green) 46%) 1; } +.cardpercentagebar47 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 47%, var(--green) 47%) 1; } +.cardpercentagebar48 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 48%, var(--green) 48%) 1; } +.cardpercentagebar49 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 49%, var(--green) 49%) 1; } +.cardpercentagebar50 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 50%, var(--green) 50%) 1; } +.cardpercentagebar51 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 51%, var(--green) 51%) 1; } +.cardpercentagebar52 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 52%, var(--green) 52%) 1; } +.cardpercentagebar53 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 53%, var(--green) 53%) 1; } +.cardpercentagebar54 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 54%, var(--green) 54%) 1; } +.cardpercentagebar55 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 55%, var(--green) 55%) 1; } +.cardpercentagebar56 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 56%, var(--green) 56%) 1; } +.cardpercentagebar57 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 57%, var(--green) 57%) 1; } +.cardpercentagebar58 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 58%, var(--green) 58%) 1; } +.cardpercentagebar59 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 59%, var(--green) 59%) 1; } +.cardpercentagebar60 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 60%, var(--green) 60%) 1; } +.cardpercentagebar61 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 61%, var(--green) 61%) 1; } +.cardpercentagebar62 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 62%, var(--green) 62%) 1; } +.cardpercentagebar63 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 63%, var(--green) 63%) 1; } +.cardpercentagebar64 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 64%, var(--green) 64%) 1; } +.cardpercentagebar65 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 65%, var(--green) 65%) 1; } +.cardpercentagebar66 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 66%, var(--green) 66%) 1; } +.cardpercentagebar67 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 67%, var(--green) 67%) 1; } +.cardpercentagebar68 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 68%, var(--green) 68%) 1; } +.cardpercentagebar69 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 69%, var(--green) 69%) 1; } +.cardpercentagebar70 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 70%, var(--green) 70%) 1; } +.cardpercentagebar71 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 71%, var(--green) 71%) 1; } +.cardpercentagebar72 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 72%, var(--green) 72%) 1; } +.cardpercentagebar73 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 73%, var(--green) 73%) 1; } +.cardpercentagebar74 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 74%, var(--green) 74%) 1; } +.cardpercentagebar75 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 75%, var(--green) 75%) 1; } +.cardpercentagebar76 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 76%, var(--green) 76%) 1; } +.cardpercentagebar77 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 77%, var(--green) 77%) 1; } +.cardpercentagebar78 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 78%, var(--green) 78%) 1; } +.cardpercentagebar79 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 79%, var(--green) 79%) 1; } +.cardpercentagebar80 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 80%, var(--green) 80%) 1; } +.cardpercentagebar81 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 81%, var(--green) 81%) 1; } +.cardpercentagebar82 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 82%, var(--green) 82%) 1; } +.cardpercentagebar83 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 83%, var(--green) 83%) 1; } +.cardpercentagebar84 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 84%, var(--green) 84%) 1; } +.cardpercentagebar85 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 85%, var(--green) 85%) 1; } +.cardpercentagebar86 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 86%, var(--green) 86%) 1; } +.cardpercentagebar87 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 87%, var(--green) 87%) 1; } +.cardpercentagebar88 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 88%, var(--green) 88%) 1; } +.cardpercentagebar89 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 89%, var(--green) 89%) 1; } +.cardpercentagebar90 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 90%, var(--green) 90%) 1; } +.cardpercentagebar91 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 91%, var(--green) 91%) 1; } +.cardpercentagebar92 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 92%, var(--green) 92%) 1; } +.cardpercentagebar93 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 93%, var(--green) 93%) 1; } +.cardpercentagebar94 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 94%, var(--green) 94%) 1; } +.cardpercentagebar95 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 95%, var(--green) 95%) 1; } +.cardpercentagebar96 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 96%, var(--green) 96%) 1; } +.cardpercentagebar97 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 97%, var(--green) 97%) 1; } +.cardpercentagebar98 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 98%, var(--green) 98%) 1; } +.cardpercentagebar99 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 99%, var(--green) 99%) 1; } +.cardpercentagebar100 { border-image: linear-gradient(to bottom, #c10909 0%, #c10909 100%, var(--green) 100%) 1; } + +.covered0 { width: 0px; } +.covered1 { width: 1px; } +.covered2 { width: 2px; } +.covered3 { width: 3px; } +.covered4 { width: 4px; } +.covered5 { width: 5px; } +.covered6 { width: 6px; } +.covered7 { width: 7px; } +.covered8 { width: 8px; } +.covered9 { width: 9px; } +.covered10 { width: 10px; } +.covered11 { width: 11px; } +.covered12 { width: 12px; } +.covered13 { width: 13px; } +.covered14 { width: 14px; } +.covered15 { width: 15px; } +.covered16 { width: 16px; } +.covered17 { width: 17px; } +.covered18 { width: 18px; } +.covered19 { width: 19px; } +.covered20 { width: 20px; } +.covered21 { width: 21px; } +.covered22 { width: 22px; } +.covered23 { width: 23px; } +.covered24 { width: 24px; } +.covered25 { width: 25px; } +.covered26 { width: 26px; } +.covered27 { width: 27px; } +.covered28 { width: 28px; } +.covered29 { width: 29px; } +.covered30 { width: 30px; } +.covered31 { width: 31px; } +.covered32 { width: 32px; } +.covered33 { width: 33px; } +.covered34 { width: 34px; } +.covered35 { width: 35px; } +.covered36 { width: 36px; } +.covered37 { width: 37px; } +.covered38 { width: 38px; } +.covered39 { width: 39px; } +.covered40 { width: 40px; } +.covered41 { width: 41px; } +.covered42 { width: 42px; } +.covered43 { width: 43px; } +.covered44 { width: 44px; } +.covered45 { width: 45px; } +.covered46 { width: 46px; } +.covered47 { width: 47px; } +.covered48 { width: 48px; } +.covered49 { width: 49px; } +.covered50 { width: 50px; } +.covered51 { width: 51px; } +.covered52 { width: 52px; } +.covered53 { width: 53px; } +.covered54 { width: 54px; } +.covered55 { width: 55px; } +.covered56 { width: 56px; } +.covered57 { width: 57px; } +.covered58 { width: 58px; } +.covered59 { width: 59px; } +.covered60 { width: 60px; } +.covered61 { width: 61px; } +.covered62 { width: 62px; } +.covered63 { width: 63px; } +.covered64 { width: 64px; } +.covered65 { width: 65px; } +.covered66 { width: 66px; } +.covered67 { width: 67px; } +.covered68 { width: 68px; } +.covered69 { width: 69px; } +.covered70 { width: 70px; } +.covered71 { width: 71px; } +.covered72 { width: 72px; } +.covered73 { width: 73px; } +.covered74 { width: 74px; } +.covered75 { width: 75px; } +.covered76 { width: 76px; } +.covered77 { width: 77px; } +.covered78 { width: 78px; } +.covered79 { width: 79px; } +.covered80 { width: 80px; } +.covered81 { width: 81px; } +.covered82 { width: 82px; } +.covered83 { width: 83px; } +.covered84 { width: 84px; } +.covered85 { width: 85px; } +.covered86 { width: 86px; } +.covered87 { width: 87px; } +.covered88 { width: 88px; } +.covered89 { width: 89px; } +.covered90 { width: 90px; } +.covered91 { width: 91px; } +.covered92 { width: 92px; } +.covered93 { width: 93px; } +.covered94 { width: 94px; } +.covered95 { width: 95px; } +.covered96 { width: 96px; } +.covered97 { width: 97px; } +.covered98 { width: 98px; } +.covered99 { width: 99px; } +.covered100 { width: 100px; } + + @media print { + html, body { background-color: #fff; } + .container { max-width: 100%; width: 100%; padding: 0; } + .overview colgroup col:first-child { width: 300px; } +} + +.icon-up-dir_active { + background-image: url(icon_up-dir.svg), url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPHN2ZyB3aWR0aD0iMTc5MiIgaGVpZ2h0PSIxNzkyIiB2aWV3Qm94PSIwIDAgMTc5MiAxNzkyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGZpbGw9IiNjMDAiIGQ9Ik0xNDA4IDEyMTZxMCAyNi0xOSA0NXQtNDUgMTloLTg5NnEtMjYgMC00NS0xOXQtMTktNDUgMTktNDVsNDQ4LTQ0OHExOS0xOSA0NS0xOXQ0NSAxOWw0NDggNDQ4cTE5IDE5IDE5IDQ1eiIvPjwvc3ZnPg==); + background-repeat: no-repeat; + background-size: contain; + padding-left: 15px; + height: 0.9em; + display: inline-block; + position: relative; + top: 3px; +} +.icon-down-dir_active { + background-image: url(icon_up-dir_active.svg), url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPHN2ZyB3aWR0aD0iMTc5MiIgaGVpZ2h0PSIxNzkyIiB2aWV3Qm94PSIwIDAgMTc5MiAxNzkyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGZpbGw9IiNjMDAiIGQ9Ik0xNDA4IDcwNHEwIDI2LTE5IDQ1bC00NDggNDQ4cS0xOSAxOS00NSAxOXQtNDUtMTlsLTQ0OC00NDhxLTE5LTE5LTE5LTQ1dDE5LTQ1IDQ1LTE5aDg5NnEyNiAwIDQ1IDE5dDE5IDQ1eiIvPjwvc3ZnPg==); + background-repeat: no-repeat; + background-size: contain; + padding-left: 15px; + height: 0.9em; + display: inline-block; + position: relative; + top: 3px; +} +.icon-down-dir { + background-image: url(icon_down-dir_active.svg), url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPHN2ZyB3aWR0aD0iMTc5MiIgaGVpZ2h0PSIxNzkyIiB2aWV3Qm94PSIwIDAgMTc5MiAxNzkyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGQ9Ik0xNDA4IDcwNHEwIDI2LTE5IDQ1bC00NDggNDQ4cS0xOSAxOS00NSAxOXQtNDUtMTlsLTQ0OC00NDhxLTE5LTE5LTE5LTQ1dDE5LTQ1IDQ1LTE5aDg5NnEyNiAwIDQ1IDE5dDE5IDQ1eiIvPjwvc3ZnPg==); + background-repeat: no-repeat; + background-size: contain; + padding-left: 15px; + height: 0.9em; + display: inline-block; + position: relative; + top: 3px; +} +.icon-info-circled { + background-image: url(icon_info-circled.svg), url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPHN2ZyB3aWR0aD0iMTc5MiIgaGVpZ2h0PSIxNzkyIiB2aWV3Qm94PSIwIDAgMTc5MiAxNzkyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxjaXJjbGUgY3g9Ijg5NiIgY3k9Ijg5NiIgcj0iNzUwIiBmaWxsPSIjZmZmIiAvPjxwYXRoIGZpbGw9IiMyOEE1RkYiIGQ9Ik0xMTUyIDEzNzZ2LTE2MHEwLTE0LTktMjN0LTIzLTloLTk2di01MTJxMC0xNC05LTIzdC0yMy05aC0zMjBxLTE0IDAtMjMgOXQtOSAyM3YxNjBxMCAxNCA5IDIzdDIzIDloOTZ2MzIwaC05NnEtMTQgMC0yMyA5dC05IDIzdjE2MHEwIDE0IDkgMjN0MjMgOWg0NDhxMTQgMCAyMy05dDktMjN6bS0xMjgtODk2di0xNjBxMC0xNC05LTIzdC0yMy05aC0xOTJxLTE0IDAtMjMgOXQtOSAyM3YxNjBxMCAxNCA5IDIzdDIzIDloMTkycTE0IDAgMjMtOXQ5LTIzem02NDAgNDE2cTAgMjA5LTEwMyAzODUuNXQtMjc5LjUgMjc5LjUtMzg1LjUgMTAzLTM4NS41LTEwMy0yNzkuNS0yNzkuNS0xMDMtMzg1LjUgMTAzLTM4NS41IDI3OS41LTI3OS41IDM4NS41LTEwMyAzODUuNSAxMDMgMjc5LjUgMjc5LjUgMTAzIDM4NS41eiIvPjwvc3ZnPg==); + background-repeat: no-repeat; + background-size: contain; + padding-left: 15px; + height: 0.9em; + display: inline-block; +} +.icon-plus { + background-image: url(icon_plus.svg), url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPHN2ZyB3aWR0aD0iMTc5MiIgaGVpZ2h0PSIxNzkyIiB2aWV3Qm94PSIwIDAgMTc5MiAxNzkyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGQ9Ik0xNjAwIDczNnYxOTJxMCA0MC0yOCA2OHQtNjggMjhoLTQxNnY0MTZxMCA0MC0yOCA2OHQtNjggMjhoLTE5MnEtNDAgMC02OC0yOHQtMjgtNjh2LTQxNmgtNDE2cS00MCAwLTY4LTI4dC0yOC02OHYtMTkycTAtNDAgMjgtNjh0NjgtMjhoNDE2di00MTZxMC00MCAyOC02OHQ2OC0yOGgxOTJxNDAgMCA2OCAyOHQyOCA2OHY0MTZoNDE2cTQwIDAgNjggMjh0MjggNjh6Ii8+PC9zdmc+); + background-repeat: no-repeat; + background-size: contain; + padding-left: 15px; + height: 0.9em; + display: inline-block; + position: relative; + top: 3px; +} +.icon-minus { + background-image: url(icon_minus.svg), url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPHN2ZyB3aWR0aD0iMTc5MiIgaGVpZ2h0PSIxNzkyIiB2aWV3Qm94PSIwIDAgMTc5MiAxNzkyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGZpbGw9IiNjMDAiIGQ9Ik0xNjAwIDczNnYxOTJxMCA0MC0yOCA2OHQtNjggMjhoLTEyMTZxLTQwIDAtNjgtMjh0LTI4LTY4di0xOTJxMC00MCAyOC02OHQ2OC0yOGgxMjE2cTQwIDAgNjggMjh0MjggNjh6Ii8+PC9zdmc+); + background-repeat: no-repeat; + background-size: contain; + padding-left: 15px; + height: 0.9em; + display: inline-block; + position: relative; + top: 3px; +} +.icon-wrench { + background-image: url(icon_wrench.svg), url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPHN2ZyB3aWR0aD0iMTc5MiIgaGVpZ2h0PSIxNzkyIiB2aWV3Qm94PSIwIDAgMTc5MiAxNzkyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGQ9Ik00NDggMTQ3MnEwLTI2LTE5LTQ1dC00NS0xOS00NSAxOS0xOSA0NSAxOSA0NSA0NSAxOSA0NS0xOSAxOS00NXptNjQ0LTQyMGwtNjgyIDY4MnEtMzcgMzctOTAgMzctNTIgMC05MS0zN2wtMTA2LTEwOHEtMzgtMzYtMzgtOTAgMC01MyAzOC05MWw2ODEtNjgxcTM5IDk4IDExNC41IDE3My41dDE3My41IDExNC41em02MzQtNDM1cTAgMzktMjMgMTA2LTQ3IDEzNC0xNjQuNSAyMTcuNXQtMjU4LjUgODMuNXEtMTg1IDAtMzE2LjUtMTMxLjV0LTEzMS41LTMxNi41IDEzMS41LTMxNi41IDMxNi41LTEzMS41cTU4IDAgMTIxLjUgMTYuNXQxMDcuNSA0Ni41cTE2IDExIDE2IDI4dC0xNiAyOGwtMjkzIDE2OXYyMjRsMTkzIDEwN3E1LTMgNzktNDguNXQxMzUuNS04MSA3MC41LTM1LjVxMTUgMCAyMy41IDEwdDguNSAyNXoiLz48L3N2Zz4=); + background-repeat: no-repeat; + background-size: contain; + padding-left: 20px; + height: 0.9em; + display: inline-block; +} +.icon-cog { + background-image: url(icon_cog.svg), url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48c3ZnIHdpZHRoPSI1MTIiIGhlaWdodD0iNTEyIiB2aWV3Qm94PSIwIDAgNTEyIDUxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNNDQ0Ljc4OCAyOTEuMWw0Mi42MTYgMjQuNTk5YzQuODY3IDIuODA5IDcuMTI2IDguNjE4IDUuNDU5IDEzLjk4NS0xMS4wNyAzNS42NDItMjkuOTcgNjcuODQyLTU0LjY4OSA5NC41ODZhMTIuMDE2IDEyLjAxNiAwIDAgMS0xNC44MzIgMi4yNTRsLTQyLjU4NC0yNC41OTVhMTkxLjU3NyAxOTEuNTc3IDAgMCAxLTYwLjc1OSAzNS4xM3Y0OS4xODJhMTIuMDEgMTIuMDEgMCAwIDEtOS4zNzcgMTEuNzE4Yy0zNC45NTYgNy44NS03Mi40OTkgOC4yNTYtMTA5LjIxOS4wMDctNS40OS0xLjIzMy05LjQwMy02LjA5Ni05LjQwMy0xMS43MjN2LTQ5LjE4NGExOTEuNTU1IDE5MS41NTUgMCAwIDEtNjAuNzU5LTM1LjEzbC00Mi41ODQgMjQuNTk1YTEyLjAxNiAxMi4wMTYgMCAwIDEtMTQuODMyLTIuMjU0Yy0yNC43MTgtMjYuNzQ0LTQzLjYxOS01OC45NDQtNTQuNjg5LTk0LjU4Ni0xLjY2Ny01LjM2Ni41OTItMTEuMTc1IDUuNDU5LTEzLjk4NUw2Ny4yMTIgMjkxLjFhMTkzLjQ4IDE5My40OCAwIDAgMSAwLTcwLjE5OWwtNDIuNjE2LTI0LjU5OWMtNC44NjctMi44MDktNy4xMjYtOC42MTgtNS40NTktMTMuOTg1IDExLjA3LTM1LjY0MiAyOS45Ny02Ny44NDIgNTQuNjg5LTk0LjU4NmExMi4wMTYgMTIuMDE2IDAgMCAxIDE0LjgzMi0yLjI1NGw0Mi41ODQgMjQuNTk1YTE5MS41NzcgMTkxLjU3NyAwIDAgMSA2MC43NTktMzUuMTNWMjUuNzU5YTEyLjAxIDEyLjAxIDAgMCAxIDkuMzc3LTExLjcxOGMzNC45NTYtNy44NSA3Mi40OTktOC4yNTYgMTA5LjIxOS0uMDA3IDUuNDkgMS4yMzMgOS40MDMgNi4wOTYgOS40MDMgMTEuNzIzdjQ5LjE4NGExOTEuNTU1IDE5MS41NTUgMCAwIDEgNjAuNzU5IDM1LjEzbDQyLjU4NC0yNC41OTVhMTIuMDE2IDEyLjAxNiAwIDAgMSAxNC44MzIgMi4yNTRjMjQuNzE4IDI2Ljc0NCA0My42MTkgNTguOTQ0IDU0LjY4OSA5NC41ODYgMS42NjcgNS4zNjYtLjU5MiAxMS4xNzUtNS40NTkgMTMuOTg1TDQ0NC43ODggMjIwLjlhMTkzLjQ4NSAxOTMuNDg1IDAgMCAxIDAgNzAuMnpNMzM2IDI1NmMwLTQ0LjExMi0zNS44ODgtODAtODAtODBzLTgwIDM1Ljg4OC04MCA4MCAzNS44ODggODAgODAgODAgODAtMzUuODg4IDgwLTgweiIvPjwvc3ZnPg==); + background-repeat: no-repeat; + background-size: contain; + padding-left: 16px; + height: 0.8em; + display: inline-block; +} +.icon-fork { + background-image: url(icon_fork.svg), url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPHN2ZyB3aWR0aD0iMTc5MiIgaGVpZ2h0PSIxNzkyIiB2aWV3Qm94PSIwIDAgMTc5MiAxNzkyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxyZWN0IHdpZHRoPSIxNzkyIiBoZWlnaHQ9IjE3OTIiIHN0eWxlPSJmaWxsOiNmZmYiIC8+PHBhdGggZD0iTTY3MiAxNDcycTAtNDAtMjgtNjh0LTY4LTI4LTY4IDI4LTI4IDY4IDI4IDY4IDY4IDI4IDY4LTI4IDI4LTY4em0wLTExNTJxMC00MC0yOC02OHQtNjgtMjgtNjggMjgtMjggNjggMjggNjggNjggMjggNjgtMjggMjgtNjh6bTY0MCAxMjhxMC00MC0yOC02OHQtNjgtMjgtNjggMjgtMjggNjggMjggNjggNjggMjggNjgtMjggMjgtNjh6bTk2IDBxMCA1Mi0yNiA5Ni41dC03MCA2OS41cS0yIDI4Ny0yMjYgNDE0LTY3IDM4LTIwMyA4MS0xMjggNDAtMTY5LjUgNzF0LTQxLjUgMTAwdjI2cTQ0IDI1IDcwIDY5LjV0MjYgOTYuNXEwIDgwLTU2IDEzNnQtMTM2IDU2LTEzNi01Ni01Ni0xMzZxMC01MiAyNi05Ni41dDcwLTY5LjV2LTgyMHEtNDQtMjUtNzAtNjkuNXQtMjYtOTYuNXEwLTgwIDU2LTEzNnQxMzYtNTYgMTM2IDU2IDU2IDEzNnEwIDUyLTI2IDk2LjV0LTcwIDY5LjV2NDk3cTU0LTI2IDE1NC01NyA1NS0xNyA4Ny41LTI5LjV0NzAuNS0zMSA1OS0zOS41IDQwLjUtNTEgMjgtNjkuNSA4LjUtOTEuNXEtNDQtMjUtNzAtNjkuNXQtMjYtOTYuNXEwLTgwIDU2LTEzNnQxMzYtNTYgMTM2IDU2IDU2IDEzNnoiLz48L3N2Zz4=); + background-repeat: no-repeat; + background-size: contain; + padding-left: 20px; + height: 0.9em; + display: inline-block; +} +.icon-cube { + background-image: url(icon_cube.svg), url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPHN2ZyB3aWR0aD0iMTc5MiIgaGVpZ2h0PSIxNzkyIiB2aWV3Qm94PSIwIDAgMTc5MiAxNzkyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGQ9Ik04OTYgMTYyOWw2NDAtMzQ5di02MzZsLTY0MCAyMzN2NzUyem0tNjQtODY1bDY5OC0yNTQtNjk4LTI1NC02OTggMjU0em04MzItMjUydjc2OHEwIDM1LTE4IDY1dC00OSA0N2wtNzA0IDM4NHEtMjggMTYtNjEgMTZ0LTYxLTE2bC03MDQtMzg0cS0zMS0xNy00OS00N3QtMTgtNjV2LTc2OHEwLTQwIDIzLTczdDYxLTQ3bDcwNC0yNTZxMjItOCA0NC04dDQ0IDhsNzA0IDI1NnEzOCAxNCA2MSA0N3QyMyA3M3oiLz48L3N2Zz4=); + background-repeat: no-repeat; + background-size: contain; + padding-left: 20px; + height: 0.9em; + display: inline-block; +} +.icon-search-plus { + background-image: url(icon_search-plus.svg), url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPHN2ZyB3aWR0aD0iMTc5MiIgaGVpZ2h0PSIxNzkyIiB2aWV3Qm94PSIwIDAgMTc5MiAxNzkyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGZpbGw9IiM2ZjZmNmYiIGQ9Ik0xMDg4IDgwMHY2NHEwIDEzLTkuNSAyMi41dC0yMi41IDkuNWgtMjI0djIyNHEwIDEzLTkuNSAyMi41dC0yMi41IDkuNWgtNjRxLTEzIDAtMjIuNS05LjV0LTkuNS0yMi41di0yMjRoLTIyNHEtMTMgMC0yMi41LTkuNXQtOS41LTIyLjV2LTY0cTAtMTMgOS41LTIyLjV0MjIuNS05LjVoMjI0di0yMjRxMC0xMyA5LjUtMjIuNXQyMi41LTkuNWg2NHExMyAwIDIyLjUgOS41dDkuNSAyMi41djIyNGgyMjRxMTMgMCAyMi41IDkuNXQ5LjUgMjIuNXptMTI4IDMycTAtMTg1LTEzMS41LTMxNi41dC0zMTYuNS0xMzEuNS0zMTYuNSAxMzEuNS0xMzEuNSAzMTYuNSAxMzEuNSAzMTYuNSAzMTYuNSAxMzEuNSAzMTYuNS0xMzEuNSAxMzEuNS0zMTYuNXptNTEyIDgzMnEwIDUzLTM3LjUgOTAuNXQtOTAuNSAzNy41cS01NCAwLTkwLTM4bC0zNDMtMzQycS0xNzkgMTI0LTM5OSAxMjQtMTQzIDAtMjczLjUtNTUuNXQtMjI1LTE1MC0xNTAtMjI1LTU1LjUtMjczLjUgNTUuNS0yNzMuNSAxNTAtMjI1IDIyNS0xNTAgMjczLjUtNTUuNSAyNzMuNSA1NS41IDIyNSAxNTAgMTUwIDIyNSA1NS41IDI3My41cTAgMjIwLTEyNCAzOTlsMzQzIDM0M3EzNyAzNyAzNyA5MHoiLz48L3N2Zz4=); + background-repeat: no-repeat; + background-size: contain; + padding-left: 20px; + height: 0.9em; + display: inline-block; +} +.icon-search-minus { + background-image: url(icon_search-minus.svg), url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPHN2ZyB3aWR0aD0iMTc5MiIgaGVpZ2h0PSIxNzkyIiB2aWV3Qm94PSIwIDAgMTc5MiAxNzkyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGZpbGw9IiM2ZjZmNmYiIGQ9Ik0xMDg4IDgwMHY2NHEwIDEzLTkuNSAyMi41dC0yMi41IDkuNWgtNTc2cS0xMyAwLTIyLjUtOS41dC05LjUtMjIuNXYtNjRxMC0xMyA5LjUtMjIuNXQyMi41LTkuNWg1NzZxMTMgMCAyMi41IDkuNXQ5LjUgMjIuNXptMTI4IDMycTAtMTg1LTEzMS41LTMxNi41dC0zMTYuNS0xMzEuNS0zMTYuNSAxMzEuNS0xMzEuNSAzMTYuNSAxMzEuNSAzMTYuNSAzMTYuNSAxMzEuNSAzMTYuNS0xMzEuNSAxMzEuNS0zMTYuNXptNTEyIDgzMnEwIDUzLTM3LjUgOTAuNXQtOTAuNSAzNy41cS01NCAwLTkwLTM4bC0zNDMtMzQycS0xNzkgMTI0LTM5OSAxMjQtMTQzIDAtMjczLjUtNTUuNXQtMjI1LTE1MC0xNTAtMjI1LTU1LjUtMjczLjUgNTUuNS0yNzMuNSAxNTAtMjI1IDIyNS0xNTAgMjczLjUtNTUuNSAyNzMuNSA1NS41IDIyNSAxNTAgMTUwIDIyNSA1NS41IDI3My41cTAgMjIwLTEyNCAzOTlsMzQzIDM0M3EzNyAzNyAzNyA5MHoiLz48L3N2Zz4=); + background-repeat: no-repeat; + background-size: contain; + padding-left: 20px; + height: 0.9em; + display: inline-block; +} +.icon-star { + background-image: url(icon_star.svg), url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPHN2ZyB3aWR0aD0iMTc5MiIgaGVpZ2h0PSIxNzkyIiB2aWV3Qm94PSIwIDAgMTc5MiAxNzkyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGQ9Ik0xNzI4IDY0N3EwIDIyLTI2IDQ4bC0zNjMgMzU0IDg2IDUwMHExIDcgMSAyMCAwIDIxLTEwLjUgMzUuNXQtMzAuNSAxNC41cS0xOSAwLTQwLTEybC00NDktMjM2LTQ0OSAyMzZxLTIyIDEyLTQwIDEyLTIxIDAtMzEuNS0xNC41dC0xMC41LTM1LjVxMC02IDItMjBsODYtNTAwLTM2NC0zNTRxLTI1LTI3LTI1LTQ4IDAtMzcgNTYtNDZsNTAyLTczIDIyNS00NTVxMTktNDEgNDktNDF0NDkgNDFsMjI1IDQ1NSA1MDIgNzNxNTYgOSA1NiA0NnoiIGZpbGw9IiMwMDAiLz48L3N2Zz4=); + background-repeat: no-repeat; + background-size: contain; + padding-left: 20px; + height: 0.9em; + display: inline-block; +} +.icon-sponsor { + background-image: url(icon_sponsor.svg), url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPHN2ZyB3aWR0aD0iMTc5MiIgaGVpZ2h0PSIxNzkyIiB2aWV3Qm94PSIwIDAgMTc5MiAxNzkyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGQ9Ik04OTYgMTY2NHEtMjYgMC00NC0xOGwtNjI0LTYwMnEtMTAtOC0yNy41LTI2dC01NS41LTY1LjUtNjgtOTcuNS01My41LTEyMS0yMy41LTEzOHEwLTIyMCAxMjctMzQ0dDM1MS0xMjRxNjIgMCAxMjYuNSAyMS41dDEyMCA1OCA5NS41IDY4LjUgNzYgNjhxMzYtMzYgNzYtNjh0OTUuNS02OC41IDEyMC01OCAxMjYuNS0yMS41cTIyNCAwIDM1MSAxMjR0MTI3IDM0NHEwIDIyMS0yMjkgNDUwbC02MjMgNjAwcS0xOCAxOC00NCAxOHoiIGZpbGw9IiNlYTRhYWEiLz48L3N2Zz4=); + background-repeat: no-repeat; + background-size: contain; + padding-left: 20px; + height: 0.9em; + display: inline-block; +} + + + +@media (prefers-color-scheme: dark) { + @media screen { + html { + background-color: #333; + color: #fff; + } + + body { + color: #fff; + } + + h1 { + background-color: #555453; + color: #fff; + } + + .container { + background-color: #333; + box-shadow: 0 0 60px #0c0c0c; + } + + .containerrightfixed { + background-color: #3D3C3C; + border-left: 1px solid #515050; + } + + .containerrightfixed h1 { + background-color: #484747; + } + + .popup-container { + background-color: rgb(80, 80, 80, 0.6); + } + + .popup { + background-color: #333; + } + + .card-group .card { + background-color: #333; + background: radial-gradient(circle, #444 0%, #333 100%); + border: 1px solid #545454; + color: #fff; + } + + .card-group .card table tr { + border-bottom: 1px solid #545454; + } + + .card-group .card table tr:hover { + background-color: #2E2D2C; + } + + .table-responsive::-webkit-scrollbar-thumb { + background-color: #555453; + border: 5px solid #333; + } + + .overview tr:hover > td { + background-color: #2E2D2C; + } + + .overview th { + background-color: #444; + border: 1px solid #3B3A39; + } + + .overview tr.namespace th { + background-color: #444; + } + + .overview thead th { + background-color: #444; + } + + .overview th a { + color: #fff; + color: rgba(255, 255, 255, 0.95); + } + + .overview th a:hover { + color: #0078d4; + } + + .overview td { + border: 1px solid #3B3A39; + } + + .overview .coverage td { + border: none; + } + + .overview tr.header th { + background-color: #444; + } + + .overview tr.header th:nth-child(2n+1) { + background-color: #3a3a3a; + } + + .overview tr.header th:first-child { + border-left: 1px solid #333; + border-top: 1px solid #333; + background-color: #333; + } + + .stripped tr:nth-child(2n+1) { + background-color: #3c3c3c; + } + + input, select, button { + background-color: #333; + color: #fff; + border: 1px solid #A19F9D; + } + + a { + color: #fff; + color: rgba(255, 255, 255, 0.95); + } + + a:hover { + color: #0078d4; + } + + h1 a.back { + background-color: #4a4846; + } + + h1 a.button { + color: #fff; + background-color: #565656; + border-color: #c1c1c1; + } + + h1 a.button:hover { + background-color: #8d8d8d; + } + + .gray { + background-color: #484747; + } + + .lightgray { + color: #ebebeb; + } + + .lightgraybg { + background-color: #474747; + } + + .lightgreen { + background-color: #406540; + } + + .lightorange { + background-color: #ab7f36; + } + + .lightred { + background-color: #954848; + } + + .ct-label { + color: #fff !important; + fill: #fff !important; + } + + .ct-grid { + stroke: #fff !important; + } + + .ct-chart .ct-series.ct-series-a .ct-line, .ct-chart .ct-series.ct-series-a .ct-point { + stroke: #0078D4 !important; + } + + .ct-chart .ct-series.ct-series-b .ct-line, .ct-chart .ct-series.ct-series-b .ct-point { + stroke: #6dc428 !important; + } + + .ct-chart .ct-series.ct-series-c .ct-line, .ct-chart .ct-series.ct-series-c .ct-point { + stroke: #e58f1d !important; + } + + .linecoverage { + background-color: #0078D4; + } + + .branchcoverage { + background-color: #6dc428; + } + .codeelementcoverage { + background-color: #e58f1d; + } + + .tinylinecoveragechart, .tinybranchcoveragechart, .tinymethodcoveragechart { + background-color: #333; + } + + .tinybranchcoveragechart .ct-series.ct-series-a .ct-line { + stroke: #6dc428 !important; + } + + .tinymethodcoveragechart .ct-series.ct-series-a .ct-line { + stroke: #e58f1d !important; + } + + .icon-down-dir { + background-image: url(icon_down-dir_active_dark.svg), url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48c3ZnIHdpZHRoPSIxNzkyIiBoZWlnaHQ9IjE3OTIiIHZpZXdCb3g9IjAgMCAxNzkyIDE3OTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZmlsbD0iI0JGQkZDMCIgZD0iTTE0MDggNzA0cTAgMjYtMTkgNDVsLTQ0OCA0NDhxLTE5IDE5LTQ1IDE5dC00NS0xOWwtNDQ4LTQ0OHEtMTktMTktMTktNDV0MTktNDUgNDUtMTloODk2cTI2IDAgNDUgMTl0MTkgNDV6Ii8+PC9zdmc+); + } + + .icon-info-circled { + background-image: url(icon_info-circled_dark.svg), url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPHN2ZyB3aWR0aD0iMTc5MiIgaGVpZ2h0PSIxNzkyIiB2aWV3Qm94PSIwIDAgMTc5MiAxNzkyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxjaXJjbGUgY3g9Ijg5NiIgY3k9Ijg5NiIgcj0iNzUwIiBmaWxsPSIjZmZmIiAvPjxwYXRoIGZpbGw9IiMyOEE1RkYiIGQ9Ik0xMTUyIDEzNzZ2LTE2MHEwLTE0LTktMjN0LTIzLTloLTk2di01MTJxMC0xNC05LTIzdC0yMy05aC0zMjBxLTE0IDAtMjMgOXQtOSAyM3YxNjBxMCAxNCA5IDIzdDIzIDloOTZ2MzIwaC05NnEtMTQgMC0yMyA5dC05IDIzdjE2MHEwIDE0IDkgMjN0MjMgOWg0NDhxMTQgMCAyMy05dDktMjN6bS0xMjgtODk2di0xNjBxMC0xNC05LTIzdC0yMy05aC0xOTJxLTE0IDAtMjMgOXQtOSAyM3YxNjBxMCAxNCA5IDIzdDIzIDloMTkycTE0IDAgMjMtOXQ5LTIzem02NDAgNDE2cTAgMjA5LTEwMyAzODUuNXQtMjc5LjUgMjc5LjUtMzg1LjUgMTAzLTM4NS41LTEwMy0yNzkuNS0yNzkuNS0xMDMtMzg1LjUgMTAzLTM4NS41IDI3OS41LTI3OS41IDM4NS41LTEwMyAzODUuNSAxMDMgMjc5LjUgMjc5LjUgMTAzIDM4NS41eiIvPjwvc3ZnPg==); + } + + .icon-plus { + background-image: url(icon_plus_dark.svg), url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48c3ZnIHdpZHRoPSIxNzkyIiBoZWlnaHQ9IjE3OTIiIHZpZXdCb3g9IjAgMCAxNzkyIDE3OTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZmlsbD0iI0JGQkZDMCIgZD0iTTE2MDAgNzM2djE5MnEwIDQwLTI4IDY4dC02OCAyOGgtNDE2djQxNnEwIDQwLTI4IDY4dC02OCAyOGgtMTkycS00MCAwLTY4LTI4dC0yOC02OHYtNDE2aC00MTZxLTQwIDAtNjgtMjh0LTI4LTY4di0xOTJxMC00MCAyOC02OHQ2OC0yOGg0MTZ2LTQxNnEwLTQwIDI4LTY4dDY4LTI4aDE5MnE0MCAwIDY4IDI4dDI4IDY4djQxNmg0MTZxNDAgMCA2OCAyOHQyOCA2OHoiLz48L3N2Zz4=); + } + + .icon-minus { + background-image: url(icon_minus_dark.svg), url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48c3ZnIHdpZHRoPSIxNzkyIiBoZWlnaHQ9IjE3OTIiIHZpZXdCb3g9IjAgMCAxNzkyIDE3OTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZmlsbD0iI0JGQkZDMCIgZD0iTTE2MDAgNzM2djE5MnEwIDQwLTI4IDY4dC02OCAyOGgtMTIxNnEtNDAgMC02OC0yOHQtMjgtNjh2LTE5MnEwLTQwIDI4LTY4dDY4LTI4aDEyMTZxNDAgMCA2OCAyOHQyOCA2OHoiLz48L3N2Zz4=); + } + + .icon-wrench { + background-image: url(icon_wrench_dark.svg), url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48c3ZnIHdpZHRoPSIxNzkyIiBoZWlnaHQ9IjE3OTIiIHZpZXdCb3g9IjAgMCAxNzkyIDE3OTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZmlsbD0iI0JEQkRCRiIgZD0iTTQ0OCAxNDcycTAtMjYtMTktNDV0LTQ1LTE5LTQ1IDE5LTE5IDQ1IDE5IDQ1IDQ1IDE5IDQ1LTE5IDE5LTQ1em02NDQtNDIwbC02ODIgNjgycS0zNyAzNy05MCAzNy01MiAwLTkxLTM3bC0xMDYtMTA4cS0zOC0zNi0zOC05MCAwLTUzIDM4LTkxbDY4MS02ODFxMzkgOTggMTE0LjUgMTczLjV0MTczLjUgMTE0LjV6bTYzNC00MzVxMCAzOS0yMyAxMDYtNDcgMTM0LTE2NC41IDIxNy41dC0yNTguNSA4My41cS0xODUgMC0zMTYuNS0xMzEuNXQtMTMxLjUtMzE2LjUgMTMxLjUtMzE2LjUgMzE2LjUtMTMxLjVxNTggMCAxMjEuNSAxNi41dDEwNy41IDQ2LjVxMTYgMTEgMTYgMjh0LTE2IDI4bC0yOTMgMTY5djIyNGwxOTMgMTA3cTUtMyA3OS00OC41dDEzNS41LTgxIDcwLjUtMzUuNXExNSAwIDIzLjUgMTB0OC41IDI1eiIvPjwvc3ZnPg==); + } + + .icon-cog { + background-image: url(icon_cog_dark.svg), url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48c3ZnIHdpZHRoPSI1MTIiIGhlaWdodD0iNTEyIiB2aWV3Qm94PSIwIDAgNTEyIDUxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBmaWxsPSIjQkRCREJGIiBkPSJNNDQ0Ljc4OCAyOTEuMWw0Mi42MTYgMjQuNTk5YzQuODY3IDIuODA5IDcuMTI2IDguNjE4IDUuNDU5IDEzLjk4NS0xMS4wNyAzNS42NDItMjkuOTcgNjcuODQyLTU0LjY4OSA5NC41ODZhMTIuMDE2IDEyLjAxNiAwIDAgMS0xNC44MzIgMi4yNTRsLTQyLjU4NC0yNC41OTVhMTkxLjU3NyAxOTEuNTc3IDAgMCAxLTYwLjc1OSAzNS4xM3Y0OS4xODJhMTIuMDEgMTIuMDEgMCAwIDEtOS4zNzcgMTEuNzE4Yy0zNC45NTYgNy44NS03Mi40OTkgOC4yNTYtMTA5LjIxOS4wMDctNS40OS0xLjIzMy05LjQwMy02LjA5Ni05LjQwMy0xMS43MjN2LTQ5LjE4NGExOTEuNTU1IDE5MS41NTUgMCAwIDEtNjAuNzU5LTM1LjEzbC00Mi41ODQgMjQuNTk1YTEyLjAxNiAxMi4wMTYgMCAwIDEtMTQuODMyLTIuMjU0Yy0yNC43MTgtMjYuNzQ0LTQzLjYxOS01OC45NDQtNTQuNjg5LTk0LjU4Ni0xLjY2Ny01LjM2Ni41OTItMTEuMTc1IDUuNDU5LTEzLjk4NUw2Ny4yMTIgMjkxLjFhMTkzLjQ4IDE5My40OCAwIDAgMSAwLTcwLjE5OWwtNDIuNjE2LTI0LjU5OWMtNC44NjctMi44MDktNy4xMjYtOC42MTgtNS40NTktMTMuOTg1IDExLjA3LTM1LjY0MiAyOS45Ny02Ny44NDIgNTQuNjg5LTk0LjU4NmExMi4wMTYgMTIuMDE2IDAgMCAxIDE0LjgzMi0yLjI1NGw0Mi41ODQgMjQuNTk1YTE5MS41NzcgMTkxLjU3NyAwIDAgMSA2MC43NTktMzUuMTNWMjUuNzU5YTEyLjAxIDEyLjAxIDAgMCAxIDkuMzc3LTExLjcxOGMzNC45NTYtNy44NSA3Mi40OTktOC4yNTYgMTA5LjIxOS0uMDA3IDUuNDkgMS4yMzMgOS40MDMgNi4wOTYgOS40MDMgMTEuNzIzdjQ5LjE4NGExOTEuNTU1IDE5MS41NTUgMCAwIDEgNjAuNzU5IDM1LjEzbDQyLjU4NC0yNC41OTVhMTIuMDE2IDEyLjAxNiAwIDAgMSAxNC44MzIgMi4yNTRjMjQuNzE4IDI2Ljc0NCA0My42MTkgNTguOTQ0IDU0LjY4OSA5NC41ODYgMS42NjcgNS4zNjYtLjU5MiAxMS4xNzUtNS40NTkgMTMuOTg1TDQ0NC43ODggMjIwLjlhMTkzLjQ4NSAxOTMuNDg1IDAgMCAxIDAgNzAuMnpNMzM2IDI1NmMwLTQ0LjExMi0zNS44ODgtODAtODAtODBzLTgwIDM1Ljg4OC04MCA4MCAzNS44ODggODAgODAgODAgODAtMzUuODg4IDgwLTgweiIvPjwvc3ZnPg==); + } + + .icon-fork { + background-image: url(icon_fork_dark.svg), url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48c3ZnIHdpZHRoPSIxNzkyIiBoZWlnaHQ9IjE3OTIiIHZpZXdCb3g9IjAgMCAxNzkyIDE3OTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZmlsbD0iI0JGQkZDMCIgZD0iTTY3MiAxNDcycTAtNDAtMjgtNjh0LTY4LTI4LTY4IDI4LTI4IDY4IDI4IDY4IDY4IDI4IDY4LTI4IDI4LTY4em0wLTExNTJxMC00MC0yOC02OHQtNjgtMjgtNjggMjgtMjggNjggMjggNjggNjggMjggNjgtMjggMjgtNjh6bTY0MCAxMjhxMC00MC0yOC02OHQtNjgtMjgtNjggMjgtMjggNjggMjggNjggNjggMjggNjgtMjggMjgtNjh6bTk2IDBxMCA1Mi0yNiA5Ni41dC03MCA2OS41cS0yIDI4Ny0yMjYgNDE0LTY3IDM4LTIwMyA4MS0xMjggNDAtMTY5LjUgNzF0LTQxLjUgMTAwdjI2cTQ0IDI1IDcwIDY5LjV0MjYgOTYuNXEwIDgwLTU2IDEzNnQtMTM2IDU2LTEzNi01Ni01Ni0xMzZxMC01MiAyNi05Ni41dDcwLTY5LjV2LTgyMHEtNDQtMjUtNzAtNjkuNXQtMjYtOTYuNXEwLTgwIDU2LTEzNnQxMzYtNTYgMTM2IDU2IDU2IDEzNnEwIDUyLTI2IDk2LjV0LTcwIDY5LjV2NDk3cTU0LTI2IDE1NC01NyA1NS0xNyA4Ny41LTI5LjV0NzAuNS0zMSA1OS0zOS41IDQwLjUtNTEgMjgtNjkuNSA4LjUtOTEuNXEtNDQtMjUtNzAtNjkuNXQtMjYtOTYuNXEwLTgwIDU2LTEzNnQxMzYtNTYgMTM2IDU2IDU2IDEzNnoiLz48L3N2Zz4=); + } + + .icon-cube { + background-image: url(icon_cube_dark.svg), url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48c3ZnIHdpZHRoPSIxNzkyIiBoZWlnaHQ9IjE3OTIiIHZpZXdCb3g9IjAgMCAxNzkyIDE3OTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZmlsbD0iI0JGQkZDMCIgZD0iTTg5NiAxNjI5bDY0MC0zNDl2LTYzNmwtNjQwIDIzM3Y3NTJ6bS02NC04NjVsNjk4LTI1NC02OTgtMjU0LTY5OCAyNTR6bTgzMi0yNTJ2NzY4cTAgMzUtMTggNjV0LTQ5IDQ3bC03MDQgMzg0cS0yOCAxNi02MSAxNnQtNjEtMTZsLTcwNC0zODRxLTMxLTE3LTQ5LTQ3dC0xOC02NXYtNzY4cTAtNDAgMjMtNzN0NjEtNDdsNzA0LTI1NnEyMi04IDQ0LTh0NDQgOGw3MDQgMjU2cTM4IDE0IDYxIDQ3dDIzIDczeiIvPjwvc3ZnPg==); + } + + .icon-search-plus { + background-image: url(icon_search-plus_dark.svg), url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48c3ZnIHdpZHRoPSIxNzkyIiBoZWlnaHQ9IjE3OTIiIHZpZXdCb3g9IjAgMCAxNzkyIDE3OTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZmlsbD0iI0JGQkZDMCIgZD0iTTEwODggODAwdjY0cTAgMTMtOS41IDIyLjV0LTIyLjUgOS41aC0yMjR2MjI0cTAgMTMtOS41IDIyLjV0LTIyLjUgOS41aC02NHEtMTMgMC0yMi41LTkuNXQtOS41LTIyLjV2LTIyNGgtMjI0cS0xMyAwLTIyLjUtOS41dC05LjUtMjIuNXYtNjRxMC0xMyA5LjUtMjIuNXQyMi41LTkuNWgyMjR2LTIyNHEwLTEzIDkuNS0yMi41dDIyLjUtOS41aDY0cTEzIDAgMjIuNSA5LjV0OS41IDIyLjV2MjI0aDIyNHExMyAwIDIyLjUgOS41dDkuNSAyMi41em0xMjggMzJxMC0xODUtMTMxLjUtMzE2LjV0LTMxNi41LTEzMS41LTMxNi41IDEzMS41LTEzMS41IDMxNi41IDEzMS41IDMxNi41IDMxNi41IDEzMS41IDMxNi41LTEzMS41IDEzMS41LTMxNi41em01MTIgODMycTAgNTMtMzcuNSA5MC41dC05MC41IDM3LjVxLTU0IDAtOTAtMzhsLTM0My0zNDJxLTE3OSAxMjQtMzk5IDEyNC0xNDMgMC0yNzMuNS01NS41dC0yMjUtMTUwLTE1MC0yMjUtNTUuNS0yNzMuNSA1NS41LTI3My41IDE1MC0yMjUgMjI1LTE1MCAyNzMuNS01NS41IDI3My41IDU1LjUgMjI1IDE1MCAxNTAgMjI1IDU1LjUgMjczLjVxMCAyMjAtMTI0IDM5OWwzNDMgMzQzcTM3IDM3IDM3IDkweiIvPjwvc3ZnPg==); + } + + .icon-search-minus { + background-image: url(icon_search-minus_dark.svg), url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48c3ZnIHdpZHRoPSIxNzkyIiBoZWlnaHQ9IjE3OTIiIHZpZXdCb3g9IjAgMCAxNzkyIDE3OTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZmlsbD0iI0JGQkZDMCIgZD0iTTEwODggODAwdjY0cTAgMTMtOS41IDIyLjV0LTIyLjUgOS41aC01NzZxLTEzIDAtMjIuNS05LjV0LTkuNS0yMi41di02NHEwLTEzIDkuNS0yMi41dDIyLjUtOS41aDU3NnExMyAwIDIyLjUgOS41dDkuNSAyMi41em0xMjggMzJxMC0xODUtMTMxLjUtMzE2LjV0LTMxNi41LTEzMS41LTMxNi41IDEzMS41LTEzMS41IDMxNi41IDEzMS41IDMxNi41IDMxNi41IDEzMS41IDMxNi41LTEzMS41IDEzMS41LTMxNi41em01MTIgODMycTAgNTMtMzcuNSA5MC41dC05MC41IDM3LjVxLTU0IDAtOTAtMzhsLTM0My0zNDJxLTE3OSAxMjQtMzk5IDEyNC0xNDMgMC0yNzMuNS01NS41dC0yMjUtMTUwLTE1MC0yMjUtNTUuNS0yNzMuNSA1NS41LTI3My41IDE1MC0yMjUgMjI1LTE1MCAyNzMuNS01NS41IDI3My41IDU1LjUgMjI1IDE1MCAxNTAgMjI1IDU1LjUgMjczLjVxMCAyMjAtMTI0IDM5OWwzNDMgMzQzcTM3IDM3IDM3IDkweiIvPjwvc3ZnPg==); + } + + .icon-star { + background-image: url(icon_star_dark.svg), url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPHN2ZyB3aWR0aD0iMTc5MiIgaGVpZ2h0PSIxNzkyIiB2aWV3Qm94PSIwIDAgMTc5MiAxNzkyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGQ9Ik0xNzI4IDY0N3EwIDIyLTI2IDQ4bC0zNjMgMzU0IDg2IDUwMHExIDcgMSAyMCAwIDIxLTEwLjUgMzUuNXQtMzAuNSAxNC41cS0xOSAwLTQwLTEybC00NDktMjM2LTQ0OSAyMzZxLTIyIDEyLTQwIDEyLTIxIDAtMzEuNS0xNC41dC0xMC41LTM1LjVxMC02IDItMjBsODYtNTAwLTM2NC0zNTRxLTI1LTI3LTI1LTQ4IDAtMzcgNTYtNDZsNTAyLTczIDIyNS00NTVxMTktNDEgNDktNDF0NDkgNDFsMjI1IDQ1NSA1MDIgNzNxNTYgOSA1NiA0NnoiIGZpbGw9IiNmZmYiLz48L3N2Zz4=); + } + } +} + +.ct-double-octave:after,.ct-golden-section:after,.ct-major-eleventh:after,.ct-major-second:after,.ct-major-seventh:after,.ct-major-sixth:after,.ct-major-tenth:after,.ct-major-third:after,.ct-major-twelfth:after,.ct-minor-second:after,.ct-minor-seventh:after,.ct-minor-sixth:after,.ct-minor-third:after,.ct-octave:after,.ct-perfect-fifth:after,.ct-perfect-fourth:after,.ct-square:after{content:"";clear:both}.ct-label{fill:rgba(0,0,0,.4);color:rgba(0,0,0,.4);font-size:.75rem;line-height:1}.ct-chart-bar .ct-label,.ct-chart-line .ct-label{display:block;display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex}.ct-chart-donut .ct-label,.ct-chart-pie .ct-label{dominant-baseline:central}.ct-label.ct-horizontal.ct-start{-webkit-box-align:flex-end;-webkit-align-items:flex-end;-ms-flex-align:flex-end;align-items:flex-end;-webkit-box-pack:flex-start;-webkit-justify-content:flex-start;-ms-flex-pack:flex-start;justify-content:flex-start;text-align:left;text-anchor:start}.ct-label.ct-horizontal.ct-end{-webkit-box-align:flex-start;-webkit-align-items:flex-start;-ms-flex-align:flex-start;align-items:flex-start;-webkit-box-pack:flex-start;-webkit-justify-content:flex-start;-ms-flex-pack:flex-start;justify-content:flex-start;text-align:left;text-anchor:start}.ct-label.ct-vertical.ct-start{-webkit-box-align:flex-end;-webkit-align-items:flex-end;-ms-flex-align:flex-end;align-items:flex-end;-webkit-box-pack:flex-end;-webkit-justify-content:flex-end;-ms-flex-pack:flex-end;justify-content:flex-end;text-align:right;text-anchor:end}.ct-label.ct-vertical.ct-end{-webkit-box-align:flex-end;-webkit-align-items:flex-end;-ms-flex-align:flex-end;align-items:flex-end;-webkit-box-pack:flex-start;-webkit-justify-content:flex-start;-ms-flex-pack:flex-start;justify-content:flex-start;text-align:left;text-anchor:start}.ct-chart-bar .ct-label.ct-horizontal.ct-start{-webkit-box-align:flex-end;-webkit-align-items:flex-end;-ms-flex-align:flex-end;align-items:flex-end;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;text-align:center;text-anchor:start}.ct-chart-bar .ct-label.ct-horizontal.ct-end{-webkit-box-align:flex-start;-webkit-align-items:flex-start;-ms-flex-align:flex-start;align-items:flex-start;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;text-align:center;text-anchor:start}.ct-chart-bar.ct-horizontal-bars .ct-label.ct-horizontal.ct-start{-webkit-box-align:flex-end;-webkit-align-items:flex-end;-ms-flex-align:flex-end;align-items:flex-end;-webkit-box-pack:flex-start;-webkit-justify-content:flex-start;-ms-flex-pack:flex-start;justify-content:flex-start;text-align:left;text-anchor:start}.ct-chart-bar.ct-horizontal-bars .ct-label.ct-horizontal.ct-end{-webkit-box-align:flex-start;-webkit-align-items:flex-start;-ms-flex-align:flex-start;align-items:flex-start;-webkit-box-pack:flex-start;-webkit-justify-content:flex-start;-ms-flex-pack:flex-start;justify-content:flex-start;text-align:left;text-anchor:start}.ct-chart-bar.ct-horizontal-bars .ct-label.ct-vertical.ct-start{-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:flex-end;-webkit-justify-content:flex-end;-ms-flex-pack:flex-end;justify-content:flex-end;text-align:right;text-anchor:end}.ct-chart-bar.ct-horizontal-bars .ct-label.ct-vertical.ct-end{-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:flex-start;-webkit-justify-content:flex-start;-ms-flex-pack:flex-start;justify-content:flex-start;text-align:left;text-anchor:end}.ct-grid{stroke:rgba(0,0,0,.2);stroke-width:1px;stroke-dasharray:2px}.ct-grid-background{fill:none}.ct-point{stroke-width:10px;stroke-linecap:round}.ct-line{fill:none;stroke-width:4px}.ct-area{stroke:none;fill-opacity:.1}.ct-bar{fill:none;stroke-width:10px}.ct-slice-donut{fill:none;stroke-width:60px}.ct-series-a .ct-bar,.ct-series-a .ct-line,.ct-series-a .ct-point,.ct-series-a .ct-slice-donut{stroke:#d70206}.ct-series-a .ct-area,.ct-series-a .ct-slice-donut-solid,.ct-series-a .ct-slice-pie{fill:#d70206}.ct-series-b .ct-bar,.ct-series-b .ct-line,.ct-series-b .ct-point,.ct-series-b .ct-slice-donut{stroke:#f05b4f}.ct-series-b .ct-area,.ct-series-b .ct-slice-donut-solid,.ct-series-b .ct-slice-pie{fill:#f05b4f}.ct-series-c .ct-bar,.ct-series-c .ct-line,.ct-series-c .ct-point,.ct-series-c .ct-slice-donut{stroke:#f4c63d}.ct-series-c .ct-area,.ct-series-c .ct-slice-donut-solid,.ct-series-c .ct-slice-pie{fill:#f4c63d}.ct-series-d .ct-bar,.ct-series-d .ct-line,.ct-series-d .ct-point,.ct-series-d .ct-slice-donut{stroke:#d17905}.ct-series-d .ct-area,.ct-series-d .ct-slice-donut-solid,.ct-series-d .ct-slice-pie{fill:#d17905}.ct-series-e .ct-bar,.ct-series-e .ct-line,.ct-series-e .ct-point,.ct-series-e .ct-slice-donut{stroke:#453d3f}.ct-series-e .ct-area,.ct-series-e .ct-slice-donut-solid,.ct-series-e .ct-slice-pie{fill:#453d3f}.ct-series-f .ct-bar,.ct-series-f .ct-line,.ct-series-f .ct-point,.ct-series-f .ct-slice-donut{stroke:#59922b}.ct-series-f .ct-area,.ct-series-f .ct-slice-donut-solid,.ct-series-f .ct-slice-pie{fill:#59922b}.ct-series-g .ct-bar,.ct-series-g .ct-line,.ct-series-g .ct-point,.ct-series-g .ct-slice-donut{stroke:#0544d3}.ct-series-g .ct-area,.ct-series-g .ct-slice-donut-solid,.ct-series-g .ct-slice-pie{fill:#0544d3}.ct-series-h .ct-bar,.ct-series-h .ct-line,.ct-series-h .ct-point,.ct-series-h .ct-slice-donut{stroke:#6b0392}.ct-series-h .ct-area,.ct-series-h .ct-slice-donut-solid,.ct-series-h .ct-slice-pie{fill:#6b0392}.ct-series-i .ct-bar,.ct-series-i .ct-line,.ct-series-i .ct-point,.ct-series-i .ct-slice-donut{stroke:#f05b4f}.ct-series-i .ct-area,.ct-series-i .ct-slice-donut-solid,.ct-series-i .ct-slice-pie{fill:#f05b4f}.ct-series-j .ct-bar,.ct-series-j .ct-line,.ct-series-j .ct-point,.ct-series-j .ct-slice-donut{stroke:#dda458}.ct-series-j .ct-area,.ct-series-j .ct-slice-donut-solid,.ct-series-j .ct-slice-pie{fill:#dda458}.ct-series-k .ct-bar,.ct-series-k .ct-line,.ct-series-k .ct-point,.ct-series-k .ct-slice-donut{stroke:#eacf7d}.ct-series-k .ct-area,.ct-series-k .ct-slice-donut-solid,.ct-series-k .ct-slice-pie{fill:#eacf7d}.ct-series-l .ct-bar,.ct-series-l .ct-line,.ct-series-l .ct-point,.ct-series-l .ct-slice-donut{stroke:#86797d}.ct-series-l .ct-area,.ct-series-l .ct-slice-donut-solid,.ct-series-l .ct-slice-pie{fill:#86797d}.ct-series-m .ct-bar,.ct-series-m .ct-line,.ct-series-m .ct-point,.ct-series-m .ct-slice-donut{stroke:#b2c326}.ct-series-m .ct-area,.ct-series-m .ct-slice-donut-solid,.ct-series-m .ct-slice-pie{fill:#b2c326}.ct-series-n .ct-bar,.ct-series-n .ct-line,.ct-series-n .ct-point,.ct-series-n .ct-slice-donut{stroke:#6188e2}.ct-series-n .ct-area,.ct-series-n .ct-slice-donut-solid,.ct-series-n .ct-slice-pie{fill:#6188e2}.ct-series-o .ct-bar,.ct-series-o .ct-line,.ct-series-o .ct-point,.ct-series-o .ct-slice-donut{stroke:#a748ca}.ct-series-o .ct-area,.ct-series-o .ct-slice-donut-solid,.ct-series-o .ct-slice-pie{fill:#a748ca}.ct-square{display:block;position:relative;width:100%}.ct-square:before{display:block;float:left;content:"";width:0;height:0;padding-bottom:100%}.ct-square:after{display:table}.ct-square>svg{display:block;position:absolute;top:0;left:0}.ct-minor-second{display:block;position:relative;width:100%}.ct-minor-second:before{display:block;float:left;content:"";width:0;height:0;padding-bottom:93.75%}.ct-minor-second:after{display:table}.ct-minor-second>svg{display:block;position:absolute;top:0;left:0}.ct-major-second{display:block;position:relative;width:100%}.ct-major-second:before{display:block;float:left;content:"";width:0;height:0;padding-bottom:88.8888888889%}.ct-major-second:after{display:table}.ct-major-second>svg{display:block;position:absolute;top:0;left:0}.ct-minor-third{display:block;position:relative;width:100%}.ct-minor-third:before{display:block;float:left;content:"";width:0;height:0;padding-bottom:83.3333333333%}.ct-minor-third:after{display:table}.ct-minor-third>svg{display:block;position:absolute;top:0;left:0}.ct-major-third{display:block;position:relative;width:100%}.ct-major-third:before{display:block;float:left;content:"";width:0;height:0;padding-bottom:80%}.ct-major-third:after{display:table}.ct-major-third>svg{display:block;position:absolute;top:0;left:0}.ct-perfect-fourth{display:block;position:relative;width:100%}.ct-perfect-fourth:before{display:block;float:left;content:"";width:0;height:0;padding-bottom:75%}.ct-perfect-fourth:after{display:table}.ct-perfect-fourth>svg{display:block;position:absolute;top:0;left:0}.ct-perfect-fifth{display:block;position:relative;width:100%}.ct-perfect-fifth:before{display:block;float:left;content:"";width:0;height:0;padding-bottom:66.6666666667%}.ct-perfect-fifth:after{display:table}.ct-perfect-fifth>svg{display:block;position:absolute;top:0;left:0}.ct-minor-sixth{display:block;position:relative;width:100%}.ct-minor-sixth:before{display:block;float:left;content:"";width:0;height:0;padding-bottom:62.5%}.ct-minor-sixth:after{display:table}.ct-minor-sixth>svg{display:block;position:absolute;top:0;left:0}.ct-golden-section{display:block;position:relative;width:100%}.ct-golden-section:before{display:block;float:left;content:"";width:0;height:0;padding-bottom:61.804697157%}.ct-golden-section:after{display:table}.ct-golden-section>svg{display:block;position:absolute;top:0;left:0}.ct-major-sixth{display:block;position:relative;width:100%}.ct-major-sixth:before{display:block;float:left;content:"";width:0;height:0;padding-bottom:60%}.ct-major-sixth:after{display:table}.ct-major-sixth>svg{display:block;position:absolute;top:0;left:0}.ct-minor-seventh{display:block;position:relative;width:100%}.ct-minor-seventh:before{display:block;float:left;content:"";width:0;height:0;padding-bottom:56.25%}.ct-minor-seventh:after{display:table}.ct-minor-seventh>svg{display:block;position:absolute;top:0;left:0}.ct-major-seventh{display:block;position:relative;width:100%}.ct-major-seventh:before{display:block;float:left;content:"";width:0;height:0;padding-bottom:53.3333333333%}.ct-major-seventh:after{display:table}.ct-major-seventh>svg{display:block;position:absolute;top:0;left:0}.ct-octave{display:block;position:relative;width:100%}.ct-octave:before{display:block;float:left;content:"";width:0;height:0;padding-bottom:50%}.ct-octave:after{display:table}.ct-octave>svg{display:block;position:absolute;top:0;left:0}.ct-major-tenth{display:block;position:relative;width:100%}.ct-major-tenth:before{display:block;float:left;content:"";width:0;height:0;padding-bottom:40%}.ct-major-tenth:after{display:table}.ct-major-tenth>svg{display:block;position:absolute;top:0;left:0}.ct-major-eleventh{display:block;position:relative;width:100%}.ct-major-eleventh:before{display:block;float:left;content:"";width:0;height:0;padding-bottom:37.5%}.ct-major-eleventh:after{display:table}.ct-major-eleventh>svg{display:block;position:absolute;top:0;left:0}.ct-major-twelfth{display:block;position:relative;width:100%}.ct-major-twelfth:before{display:block;float:left;content:"";width:0;height:0;padding-bottom:33.3333333333%}.ct-major-twelfth:after{display:table}.ct-major-twelfth>svg{display:block;position:absolute;top:0;left:0}.ct-double-octave{display:block;position:relative;width:100%}.ct-double-octave:before{display:block;float:left;content:"";width:0;height:0;padding-bottom:25%}.ct-double-octave:after{display:table}.ct-double-octave>svg{display:block;position:absolute;top:0;left:0} \ No newline at end of file diff --git a/obj/Chemistry Cafe API.csproj.nuget.dgspec.json b/obj/Chemistry Cafe API.csproj.nuget.dgspec.json index d427636..1261b5f 100644 --- a/obj/Chemistry Cafe API.csproj.nuget.dgspec.json +++ b/obj/Chemistry Cafe API.csproj.nuget.dgspec.json @@ -1,20 +1,20 @@ { "format": 1, "restore": { - "C:\\College_Stuff\\2024_Spring\\CSCE482\\Project\\chemistry-cafe-api\\Chemistry Cafe API.csproj": {} + "C:\\Users\\Evan\\Documents\\GitHub\\chemistry-cafe-api\\Chemistry Cafe API.csproj": {} }, "projects": { - "C:\\College_Stuff\\2024_Spring\\CSCE482\\Project\\chemistry-cafe-api\\Chemistry Cafe API.csproj": { + "C:\\Users\\Evan\\Documents\\GitHub\\chemistry-cafe-api\\Chemistry Cafe API.csproj": { "version": "1.0.0", "restore": { - "projectUniqueName": "C:\\College_Stuff\\2024_Spring\\CSCE482\\Project\\chemistry-cafe-api\\Chemistry Cafe API.csproj", + "projectUniqueName": "C:\\Users\\Evan\\Documents\\GitHub\\chemistry-cafe-api\\Chemistry Cafe API.csproj", "projectName": "Chemistry Cafe API", - "projectPath": "C:\\College_Stuff\\2024_Spring\\CSCE482\\Project\\chemistry-cafe-api\\Chemistry Cafe API.csproj", - "packagesPath": "C:\\Users\\gigem\\.nuget\\packages\\", - "outputPath": "C:\\College_Stuff\\2024_Spring\\CSCE482\\Project\\chemistry-cafe-api\\obj\\", + "projectPath": "C:\\Users\\Evan\\Documents\\GitHub\\chemistry-cafe-api\\Chemistry Cafe API.csproj", + "packagesPath": "C:\\Users\\Evan\\.nuget\\packages\\", + "outputPath": "C:\\Users\\Evan\\Documents\\GitHub\\chemistry-cafe-api\\obj\\", "projectStyle": "PackageReference", "configFilePaths": [ - "C:\\Users\\gigem\\AppData\\Roaming\\NuGet\\NuGet.Config", + "C:\\Users\\Evan\\AppData\\Roaming\\NuGet\\NuGet.Config", "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config" ], "originalTargetFrameworks": [ @@ -45,6 +45,26 @@ "net8.0": { "targetAlias": "net8.0", "dependencies": { + "MSTest.TestAdapter": { + "target": "Package", + "version": "[3.3.1, )" + }, + "MSTest.TestFramework": { + "target": "Package", + "version": "[3.3.1, )" + }, + "Microsoft.AspNetCore.Mvc.Testing": { + "target": "Package", + "version": "[8.0.4, )" + }, + "Microsoft.CodeCoverage": { + "target": "Package", + "version": "[17.9.0, )" + }, + "Microsoft.NET.Test.Sdk": { + "target": "Package", + "version": "[17.9.0, )" + }, "Microsoft.VisualStudio.Azure.Containers.Tools.Targets": { "target": "Package", "version": "[1.19.6, )" @@ -60,6 +80,10 @@ "Swashbuckle.AspNetCore": { "target": "Package", "version": "[6.5.0, )" + }, + "xunit.extensibility.core": { + "target": "Package", + "version": "[2.7.1, )" } }, "imports": [ diff --git a/obj/Chemistry Cafe API.csproj.nuget.g.props b/obj/Chemistry Cafe API.csproj.nuget.g.props index bc85f42..86cf0e7 100644 --- a/obj/Chemistry Cafe API.csproj.nuget.g.props +++ b/obj/Chemistry Cafe API.csproj.nuget.g.props @@ -5,20 +5,28 @@ NuGet $(MSBuildThisFileDirectory)project.assets.json $(UserProfile)\.nuget\packages\ - C:\Users\gigem\.nuget\packages\ + C:\Users\Evan\.nuget\packages\ PackageReference 6.9.1 - + + + + + + + + + - C:\Users\gigem\.nuget\packages\microsoft.extensions.apidescription.server\6.0.5 - C:\Users\gigem\.nuget\packages\microsoft.visualstudio.azure.containers.tools.targets\1.19.6 + C:\Users\Evan\.nuget\packages\microsoft.extensions.apidescription.server\6.0.5 + C:\Users\Evan\.nuget\packages\microsoft.visualstudio.azure.containers.tools.targets\1.19.6 \ No newline at end of file diff --git a/obj/Chemistry Cafe API.csproj.nuget.g.targets b/obj/Chemistry Cafe API.csproj.nuget.g.targets index 7226efd..e1e99a2 100644 --- a/obj/Chemistry Cafe API.csproj.nuget.g.targets +++ b/obj/Chemistry Cafe API.csproj.nuget.g.targets @@ -1,8 +1,18 @@  + - + + + + + + + + + + \ No newline at end of file diff --git a/obj/Debug/net8.0/ApiEndpoints.json b/obj/Debug/net8.0/ApiEndpoints.json index 6c8f0ff..d3e763d 100644 --- a/obj/Debug/net8.0/ApiEndpoints.json +++ b/obj/Debug/net8.0/ApiEndpoints.json @@ -1,7 +1,7 @@ [ { "ContainingType": "Chemistry_Cafe_API.Controllers.FamilyController", - "Method": "GetFamilyAsync", + "Method": "Get", "RelativePath": "api/Family/{uuid}", "HttpMethod": "GET", "IsController": true, @@ -47,7 +47,7 @@ }, { "ContainingType": "Chemistry_Cafe_API.Controllers.FamilyController", - "Method": "CreateFamily", + "Method": "Create", "RelativePath": "api/Family/create", "HttpMethod": "POST", "IsController": true, @@ -61,8 +61,12 @@ ], "ReturnTypes": [ { - "Type": "System.Void", - "MediaTypes": [], + "Type": "Chemistry_Cafe_API.Models.Family", + "MediaTypes": [ + "text/plain", + "application/json", + "text/json" + ], "StatusCode": 200 } ] @@ -77,7 +81,7 @@ "Parameters": [ { "Name": "uuid", - "Type": "System.Int32", + "Type": "System.Guid", "IsRequired": true } ], @@ -110,5 +114,2001 @@ "StatusCode": 200 } ] + }, + { + "ContainingType": "Chemistry_Cafe_API.Controllers.FamilyTagMechListController", + "Method": "Get", + "RelativePath": "api/FamilyTagMechList/{uuid}", + "HttpMethod": "GET", + "IsController": true, + "Order": 0, + "Parameters": [ + { + "Name": "uuid", + "Type": "System.Guid", + "IsRequired": true + } + ], + "ReturnTypes": [ + { + "Type": "Chemistry_Cafe_API.Models.FamilyTagMechList", + "MediaTypes": [ + "text/plain", + "application/json", + "text/json" + ], + "StatusCode": 200 + } + ] + }, + { + "ContainingType": "Chemistry_Cafe_API.Controllers.FamilyTagMechListController", + "Method": "Get", + "RelativePath": "api/FamilyTagMechList/all", + "HttpMethod": "GET", + "IsController": true, + "Order": 0, + "Parameters": [], + "ReturnTypes": [ + { + "Type": "System.Collections.Generic.IReadOnlyList\u00601[[Chemistry_Cafe_API.Models.FamilyTagMechList, Chemistry Cafe API, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]", + "MediaTypes": [ + "text/plain", + "application/json", + "text/json" + ], + "StatusCode": 200 + } + ] + }, + { + "ContainingType": "Chemistry_Cafe_API.Controllers.FamilyTagMechListController", + "Method": "Create", + "RelativePath": "api/FamilyTagMechList/create", + "HttpMethod": "POST", + "IsController": true, + "Order": 0, + "Parameters": [ + { + "Name": "newFamilyMechList", + "Type": "Chemistry_Cafe_API.Models.FamilyTagMechList", + "IsRequired": true + } + ], + "ReturnTypes": [ + { + "Type": "System.Guid", + "MediaTypes": [ + "text/plain", + "application/json", + "text/json" + ], + "StatusCode": 200 + } + ] + }, + { + "ContainingType": "Chemistry_Cafe_API.Controllers.FamilyTagMechListController", + "Method": "Delete", + "RelativePath": "api/FamilyTagMechList/delete/{uuid}", + "HttpMethod": "DELETE", + "IsController": true, + "Order": 0, + "Parameters": [ + { + "Name": "uuid", + "Type": "System.Guid", + "IsRequired": true + } + ], + "ReturnTypes": [ + { + "Type": "System.Void", + "MediaTypes": [], + "StatusCode": 200 + } + ] + }, + { + "ContainingType": "Chemistry_Cafe_API.Controllers.FamilyTagMechListController", + "Method": "Put", + "RelativePath": "api/FamilyTagMechList/update", + "HttpMethod": "PUT", + "IsController": true, + "Order": 0, + "Parameters": [ + { + "Name": "newFamilyMechList", + "Type": "Chemistry_Cafe_API.Models.FamilyTagMechList", + "IsRequired": true + } + ], + "ReturnTypes": [ + { + "Type": "System.Void", + "MediaTypes": [], + "StatusCode": 200 + } + ] + }, + { + "ContainingType": "Chemistry_Cafe_API.Controllers.FamilyTagMechListVersionController", + "Method": "Get", + "RelativePath": "api/FamilyTagMechListVersion/{uuid}", + "HttpMethod": "GET", + "IsController": true, + "Order": 0, + "Parameters": [ + { + "Name": "uuid", + "Type": "System.Guid", + "IsRequired": true + } + ], + "ReturnTypes": [ + { + "Type": "Chemistry_Cafe_API.Models.FamilyTagMechListVersion", + "MediaTypes": [ + "text/plain", + "application/json", + "text/json" + ], + "StatusCode": 200 + } + ] + }, + { + "ContainingType": "Chemistry_Cafe_API.Controllers.FamilyTagMechListVersionController", + "Method": "Get", + "RelativePath": "api/FamilyTagMechListVersion/all", + "HttpMethod": "GET", + "IsController": true, + "Order": 0, + "Parameters": [], + "ReturnTypes": [ + { + "Type": "System.Collections.Generic.IReadOnlyList\u00601[[Chemistry_Cafe_API.Models.FamilyTagMechListVersion, Chemistry Cafe API, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]", + "MediaTypes": [ + "text/plain", + "application/json", + "text/json" + ], + "StatusCode": 200 + } + ] + }, + { + "ContainingType": "Chemistry_Cafe_API.Controllers.FamilyTagMechListVersionController", + "Method": "Create", + "RelativePath": "api/FamilyTagMechListVersion/create", + "HttpMethod": "POST", + "IsController": true, + "Order": 0, + "Parameters": [ + { + "Name": "newFamilyMechListVersion", + "Type": "Chemistry_Cafe_API.Models.FamilyTagMechListVersion", + "IsRequired": true + } + ], + "ReturnTypes": [ + { + "Type": "System.Guid", + "MediaTypes": [ + "text/plain", + "application/json", + "text/json" + ], + "StatusCode": 200 + } + ] + }, + { + "ContainingType": "Chemistry_Cafe_API.Controllers.FamilyTagMechListVersionController", + "Method": "Delete", + "RelativePath": "api/FamilyTagMechListVersion/delete/{uuid}", + "HttpMethod": "DELETE", + "IsController": true, + "Order": 0, + "Parameters": [ + { + "Name": "uuid", + "Type": "System.Guid", + "IsRequired": true + } + ], + "ReturnTypes": [ + { + "Type": "System.Void", + "MediaTypes": [], + "StatusCode": 200 + } + ] + }, + { + "ContainingType": "Chemistry_Cafe_API.Controllers.FamilyTagMechListVersionController", + "Method": "Put", + "RelativePath": "api/FamilyTagMechListVersion/update", + "HttpMethod": "PUT", + "IsController": true, + "Order": 0, + "Parameters": [ + { + "Name": "newFamilyMechListVersion", + "Type": "Chemistry_Cafe_API.Models.FamilyTagMechListVersion", + "IsRequired": true + } + ], + "ReturnTypes": [ + { + "Type": "System.Void", + "MediaTypes": [], + "StatusCode": 200 + } + ] + }, + { + "ContainingType": "Chemistry_Cafe_API.Controllers.OpenAtmosController", + "Method": "GetJSON", + "RelativePath": "api/OpenAtmos/JSON/{tag_mechanism_uuid}", + "HttpMethod": "GET", + "IsController": true, + "Order": 0, + "Parameters": [ + { + "Name": "tag_mechanism_uuid", + "Type": "System.Guid", + "IsRequired": true + } + ], + "ReturnTypes": [ + { + "Type": "System.String", + "MediaTypes": [ + "text/plain", + "application/json", + "text/json" + ], + "StatusCode": 200 + } + ] + }, + { + "ContainingType": "Chemistry_Cafe_API.Controllers.OpenAtmosController", + "Method": "GetYAML", + "RelativePath": "api/OpenAtmos/YAML/{tag_mechanism_uuid}", + "HttpMethod": "GET", + "IsController": true, + "Order": 0, + "Parameters": [ + { + "Name": "tag_mechanism_uuid", + "Type": "System.Guid", + "IsRequired": true + } + ], + "ReturnTypes": [ + { + "Type": "System.String", + "MediaTypes": [ + "text/plain", + "application/json", + "text/json" + ], + "StatusCode": 200 + } + ] + }, + { + "ContainingType": "Chemistry_Cafe_API.Controllers.PropertyListController", + "Method": "Get", + "RelativePath": "api/PropertyList/{uuid}", + "HttpMethod": "GET", + "IsController": true, + "Order": 0, + "Parameters": [ + { + "Name": "uuid", + "Type": "System.Guid", + "IsRequired": true + } + ], + "ReturnTypes": [ + { + "Type": "Chemistry_Cafe_API.Models.PropertyList", + "MediaTypes": [ + "text/plain", + "application/json", + "text/json" + ], + "StatusCode": 200 + } + ] + }, + { + "ContainingType": "Chemistry_Cafe_API.Controllers.PropertyListController", + "Method": "Get", + "RelativePath": "api/PropertyList/all", + "HttpMethod": "GET", + "IsController": true, + "Order": 0, + "Parameters": [], + "ReturnTypes": [ + { + "Type": "System.Collections.Generic.IReadOnlyList\u00601[[Chemistry_Cafe_API.Models.PropertyList, Chemistry Cafe API, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]", + "MediaTypes": [ + "text/plain", + "application/json", + "text/json" + ], + "StatusCode": 200 + } + ] + }, + { + "ContainingType": "Chemistry_Cafe_API.Controllers.PropertyListController", + "Method": "Create", + "RelativePath": "api/PropertyList/create", + "HttpMethod": "POST", + "IsController": true, + "Order": 0, + "Parameters": [ + { + "Name": "userPreferneces", + "Type": "Chemistry_Cafe_API.Models.PropertyList", + "IsRequired": true + } + ], + "ReturnTypes": [ + { + "Type": "System.Guid", + "MediaTypes": [ + "text/plain", + "application/json", + "text/json" + ], + "StatusCode": 200 + } + ] + }, + { + "ContainingType": "Chemistry_Cafe_API.Controllers.PropertyListController", + "Method": "Delete", + "RelativePath": "api/PropertyList/delete/{uuid}", + "HttpMethod": "DELETE", + "IsController": true, + "Order": 0, + "Parameters": [ + { + "Name": "uuid", + "Type": "System.Guid", + "IsRequired": true + } + ], + "ReturnTypes": [ + { + "Type": "System.Void", + "MediaTypes": [], + "StatusCode": 200 + } + ] + }, + { + "ContainingType": "Chemistry_Cafe_API.Controllers.PropertyListController", + "Method": "GetProperties", + "RelativePath": "api/PropertyList/Properties/{parent_uuid}", + "HttpMethod": "GET", + "IsController": true, + "Order": 0, + "Parameters": [ + { + "Name": "parent_uuid", + "Type": "System.Guid", + "IsRequired": true + } + ], + "ReturnTypes": [ + { + "Type": "System.Collections.Generic.IReadOnlyList\u00601[[Chemistry_Cafe_API.Models.Property, Chemistry Cafe API, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]", + "MediaTypes": [ + "text/plain", + "application/json", + "text/json" + ], + "StatusCode": 200 + } + ] + }, + { + "ContainingType": "Chemistry_Cafe_API.Controllers.PropertyListController", + "Method": "Put", + "RelativePath": "api/PropertyList/update", + "HttpMethod": "PUT", + "IsController": true, + "Order": 0, + "Parameters": [ + { + "Name": "userpreferences", + "Type": "Chemistry_Cafe_API.Models.PropertyList", + "IsRequired": true + } + ], + "ReturnTypes": [ + { + "Type": "System.Void", + "MediaTypes": [], + "StatusCode": 200 + } + ] + }, + { + "ContainingType": "Chemistry_Cafe_API.Controllers.PropertyTypeController", + "Method": "Get", + "RelativePath": "api/PropertyType/{uuid}", + "HttpMethod": "GET", + "IsController": true, + "Order": 0, + "Parameters": [ + { + "Name": "uuid", + "Type": "System.Guid", + "IsRequired": true + } + ], + "ReturnTypes": [ + { + "Type": "Chemistry_Cafe_API.Models.PropertyType", + "MediaTypes": [ + "text/plain", + "application/json", + "text/json" + ], + "StatusCode": 200 + } + ] + }, + { + "ContainingType": "Chemistry_Cafe_API.Controllers.PropertyTypeController", + "Method": "Get", + "RelativePath": "api/PropertyType/all", + "HttpMethod": "GET", + "IsController": true, + "Order": 0, + "Parameters": [], + "ReturnTypes": [ + { + "Type": "System.Collections.Generic.IReadOnlyList\u00601[[Chemistry_Cafe_API.Models.PropertyType, Chemistry Cafe API, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]", + "MediaTypes": [ + "text/plain", + "application/json", + "text/json" + ], + "StatusCode": 200 + } + ] + }, + { + "ContainingType": "Chemistry_Cafe_API.Controllers.PropertyTypeController", + "Method": "Create", + "RelativePath": "api/PropertyType/create", + "HttpMethod": "POST", + "IsController": true, + "Order": 0, + "Parameters": [ + { + "Name": "propertyType", + "Type": "Chemistry_Cafe_API.Models.PropertyType", + "IsRequired": true + } + ], + "ReturnTypes": [ + { + "Type": "System.Guid", + "MediaTypes": [ + "text/plain", + "application/json", + "text/json" + ], + "StatusCode": 200 + } + ] + }, + { + "ContainingType": "Chemistry_Cafe_API.Controllers.PropertyTypeController", + "Method": "Delete", + "RelativePath": "api/PropertyType/delete/{uuid}", + "HttpMethod": "DELETE", + "IsController": true, + "Order": 0, + "Parameters": [ + { + "Name": "uuid", + "Type": "System.Guid", + "IsRequired": true + } + ], + "ReturnTypes": [ + { + "Type": "System.Void", + "MediaTypes": [], + "StatusCode": 200 + } + ] + }, + { + "ContainingType": "Chemistry_Cafe_API.Controllers.PropertyTypeController", + "Method": "Put", + "RelativePath": "api/PropertyType/update", + "HttpMethod": "PUT", + "IsController": true, + "Order": 0, + "Parameters": [ + { + "Name": "propertytype", + "Type": "Chemistry_Cafe_API.Models.PropertyType", + "IsRequired": true + } + ], + "ReturnTypes": [ + { + "Type": "System.Void", + "MediaTypes": [], + "StatusCode": 200 + } + ] + }, + { + "ContainingType": "Chemistry_Cafe_API.Controllers.PropertyTypeController", + "Method": "GetValidation", + "RelativePath": "api/PropertyType/Validation/{validation}", + "HttpMethod": "GET", + "IsController": true, + "Order": 0, + "Parameters": [ + { + "Name": "validation", + "Type": "System.String", + "IsRequired": true + } + ], + "ReturnTypes": [ + { + "Type": "System.Collections.Generic.IReadOnlyList\u00601[[Chemistry_Cafe_API.Models.PropertyType, Chemistry Cafe API, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]", + "MediaTypes": [ + "text/plain", + "application/json", + "text/json" + ], + "StatusCode": 200 + } + ] + }, + { + "ContainingType": "Chemistry_Cafe_API.Controllers.PropertyVersionController", + "Method": "Get", + "RelativePath": "api/PropertyVersion/{uuid}", + "HttpMethod": "GET", + "IsController": true, + "Order": 0, + "Parameters": [ + { + "Name": "uuid", + "Type": "System.Guid", + "IsRequired": true + } + ], + "ReturnTypes": [ + { + "Type": "Chemistry_Cafe_API.Models.PropertyVersion", + "MediaTypes": [ + "text/plain", + "application/json", + "text/json" + ], + "StatusCode": 200 + } + ] + }, + { + "ContainingType": "Chemistry_Cafe_API.Controllers.PropertyVersionController", + "Method": "Get", + "RelativePath": "api/PropertyVersion/all", + "HttpMethod": "GET", + "IsController": true, + "Order": 0, + "Parameters": [], + "ReturnTypes": [ + { + "Type": "System.Collections.Generic.IReadOnlyList\u00601[[Chemistry_Cafe_API.Models.PropertyVersion, Chemistry Cafe API, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]", + "MediaTypes": [ + "text/plain", + "application/json", + "text/json" + ], + "StatusCode": 200 + } + ] + }, + { + "ContainingType": "Chemistry_Cafe_API.Controllers.PropertyVersionController", + "Method": "Create", + "RelativePath": "api/PropertyVersion/create", + "HttpMethod": "POST", + "IsController": true, + "Order": 0, + "Parameters": [ + { + "Name": "newPropertyVersion", + "Type": "Chemistry_Cafe_API.Models.PropertyVersion", + "IsRequired": true + } + ], + "ReturnTypes": [ + { + "Type": "System.Guid", + "MediaTypes": [ + "text/plain", + "application/json", + "text/json" + ], + "StatusCode": 200 + } + ] + }, + { + "ContainingType": "Chemistry_Cafe_API.Controllers.PropertyVersionController", + "Method": "Delete", + "RelativePath": "api/PropertyVersion/delete/{uuid}", + "HttpMethod": "DELETE", + "IsController": true, + "Order": 0, + "Parameters": [ + { + "Name": "uuid", + "Type": "System.Guid", + "IsRequired": true + } + ], + "ReturnTypes": [ + { + "Type": "System.Void", + "MediaTypes": [], + "StatusCode": 200 + } + ] + }, + { + "ContainingType": "Chemistry_Cafe_API.Controllers.PropertyVersionController", + "Method": "Put", + "RelativePath": "api/PropertyVersion/update", + "HttpMethod": "PUT", + "IsController": true, + "Order": 0, + "Parameters": [ + { + "Name": "newPropertyVersion", + "Type": "Chemistry_Cafe_API.Models.PropertyVersion", + "IsRequired": true + } + ], + "ReturnTypes": [ + { + "Type": "System.Void", + "MediaTypes": [], + "StatusCode": 200 + } + ] + }, + { + "ContainingType": "Chemistry_Cafe_API.Controllers.ReactantProductListController", + "Method": "Get", + "RelativePath": "api/ReactantProductList/{uuid}", + "HttpMethod": "GET", + "IsController": true, + "Order": 0, + "Parameters": [ + { + "Name": "uuid", + "Type": "System.Guid", + "IsRequired": true + } + ], + "ReturnTypes": [ + { + "Type": "Chemistry_Cafe_API.Models.ReactantProductList", + "MediaTypes": [ + "text/plain", + "application/json", + "text/json" + ], + "StatusCode": 200 + } + ] + }, + { + "ContainingType": "Chemistry_Cafe_API.Controllers.ReactantProductListController", + "Method": "Get", + "RelativePath": "api/ReactantProductList/all", + "HttpMethod": "GET", + "IsController": true, + "Order": 0, + "Parameters": [], + "ReturnTypes": [ + { + "Type": "System.Collections.Generic.IReadOnlyList\u00601[[Chemistry_Cafe_API.Models.ReactantProductList, Chemistry Cafe API, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]", + "MediaTypes": [ + "text/plain", + "application/json", + "text/json" + ], + "StatusCode": 200 + } + ] + }, + { + "ContainingType": "Chemistry_Cafe_API.Controllers.ReactantProductListController", + "Method": "Create", + "RelativePath": "api/ReactantProductList/create", + "HttpMethod": "POST", + "IsController": true, + "Order": 0, + "Parameters": [ + { + "Name": "reactantProduct", + "Type": "Chemistry_Cafe_API.Models.ReactantProductList", + "IsRequired": true + } + ], + "ReturnTypes": [ + { + "Type": "System.Void", + "MediaTypes": [], + "StatusCode": 200 + } + ] + }, + { + "ContainingType": "Chemistry_Cafe_API.Controllers.ReactantProductListController", + "Method": "Delete", + "RelativePath": "api/ReactantProductList/delete", + "HttpMethod": "DELETE", + "IsController": true, + "Order": 0, + "Parameters": [ + { + "Name": "uuid", + "Type": "Chemistry_Cafe_API.Models.DeleteReactantProductList", + "IsRequired": true + } + ], + "ReturnTypes": [ + { + "Type": "System.Void", + "MediaTypes": [], + "StatusCode": 200 + } + ] + }, + { + "ContainingType": "Chemistry_Cafe_API.Controllers.ReactantProductListController", + "Method": "GetProducts", + "RelativePath": "api/ReactantProductList/Products/{reaction_product_list_uuid}", + "HttpMethod": "GET", + "IsController": true, + "Order": 0, + "Parameters": [ + { + "Name": "reaction_product_list_uuid", + "Type": "System.Guid", + "IsRequired": true + } + ], + "ReturnTypes": [ + { + "Type": "System.Collections.Generic.IReadOnlyList\u00601[[Chemistry_Cafe_API.Models.ReactantsProducts, Chemistry Cafe API, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]", + "MediaTypes": [ + "text/plain", + "application/json", + "text/json" + ], + "StatusCode": 200 + } + ] + }, + { + "ContainingType": "Chemistry_Cafe_API.Controllers.ReactantProductListController", + "Method": "GetReactants", + "RelativePath": "api/ReactantProductList/Reactants/{reaction_reactant_list_uuid}", + "HttpMethod": "GET", + "IsController": true, + "Order": 0, + "Parameters": [ + { + "Name": "reaction_reactant_list_uuid", + "Type": "System.Guid", + "IsRequired": true + } + ], + "ReturnTypes": [ + { + "Type": "System.Collections.Generic.IReadOnlyList\u00601[[Chemistry_Cafe_API.Models.ReactantsProducts, Chemistry Cafe API, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]", + "MediaTypes": [ + "text/plain", + "application/json", + "text/json" + ], + "StatusCode": 200 + } + ] + }, + { + "ContainingType": "Chemistry_Cafe_API.Controllers.ReactantProductListController", + "Method": "Put", + "RelativePath": "api/ReactantProductList/update", + "HttpMethod": "PUT", + "IsController": true, + "Order": 0, + "Parameters": [ + { + "Name": "reactantProductList", + "Type": "Chemistry_Cafe_API.Models.ReactantProductList", + "IsRequired": true + } + ], + "ReturnTypes": [ + { + "Type": "System.Void", + "MediaTypes": [], + "StatusCode": 200 + } + ] + }, + { + "ContainingType": "Chemistry_Cafe_API.Controllers.ReactionController", + "Method": "Get", + "RelativePath": "api/Reaction/{uuid}", + "HttpMethod": "GET", + "IsController": true, + "Order": 0, + "Parameters": [ + { + "Name": "uuid", + "Type": "System.Guid", + "IsRequired": true + } + ], + "ReturnTypes": [ + { + "Type": "Chemistry_Cafe_API.Models.Reaction", + "MediaTypes": [ + "text/plain", + "application/json", + "text/json" + ], + "StatusCode": 200 + } + ] + }, + { + "ContainingType": "Chemistry_Cafe_API.Controllers.ReactionController", + "Method": "Get", + "RelativePath": "api/Reaction/all", + "HttpMethod": "GET", + "IsController": true, + "Order": 0, + "Parameters": [], + "ReturnTypes": [ + { + "Type": "System.Collections.Generic.IReadOnlyList\u00601[[Chemistry_Cafe_API.Models.Reaction, Chemistry Cafe API, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]", + "MediaTypes": [ + "text/plain", + "application/json", + "text/json" + ], + "StatusCode": 200 + } + ] + }, + { + "ContainingType": "Chemistry_Cafe_API.Controllers.ReactionController", + "Method": "Create", + "RelativePath": "api/Reaction/create", + "HttpMethod": "POST", + "IsController": true, + "Order": 0, + "Parameters": [ + { + "Name": "type", + "Type": "System.String", + "IsRequired": true + } + ], + "ReturnTypes": [ + { + "Type": "System.Guid", + "MediaTypes": [ + "text/plain", + "application/json", + "text/json" + ], + "StatusCode": 200 + } + ] + }, + { + "ContainingType": "Chemistry_Cafe_API.Controllers.ReactionController", + "Method": "Delete", + "RelativePath": "api/Reaction/delete/{uuid}", + "HttpMethod": "DELETE", + "IsController": true, + "Order": 0, + "Parameters": [ + { + "Name": "uuid", + "Type": "System.Guid", + "IsRequired": true + } + ], + "ReturnTypes": [ + { + "Type": "System.Void", + "MediaTypes": [], + "StatusCode": 200 + } + ] + }, + { + "ContainingType": "Chemistry_Cafe_API.Controllers.ReactionController", + "Method": "GetString", + "RelativePath": "api/Reaction/String/{uuid}", + "HttpMethod": "GET", + "IsController": true, + "Order": 0, + "Parameters": [ + { + "Name": "uuid", + "Type": "System.Guid", + "IsRequired": true + } + ], + "ReturnTypes": [ + { + "Type": "System.String", + "MediaTypes": [ + "text/plain", + "application/json", + "text/json" + ], + "StatusCode": 200 + } + ] + }, + { + "ContainingType": "Chemistry_Cafe_API.Controllers.ReactionController", + "Method": "GetTags", + "RelativePath": "api/Reaction/TagMechanism/{tag_mechanism_uuid}", + "HttpMethod": "GET", + "IsController": true, + "Order": 0, + "Parameters": [ + { + "Name": "tag_mechanism_uuid", + "Type": "System.Guid", + "IsRequired": true + } + ], + "ReturnTypes": [ + { + "Type": "System.Collections.Generic.IReadOnlyList\u00601[[Chemistry_Cafe_API.Models.Reaction, Chemistry Cafe API, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]", + "MediaTypes": [ + "text/plain", + "application/json", + "text/json" + ], + "StatusCode": 200 + } + ] + }, + { + "ContainingType": "Chemistry_Cafe_API.Controllers.ReactionController", + "Method": "Put", + "RelativePath": "api/Reaction/update", + "HttpMethod": "PUT", + "IsController": true, + "Order": 0, + "Parameters": [ + { + "Name": "reaction", + "Type": "Chemistry_Cafe_API.Models.Reaction", + "IsRequired": true + } + ], + "ReturnTypes": [ + { + "Type": "System.Void", + "MediaTypes": [], + "StatusCode": 200 + } + ] + }, + { + "ContainingType": "Chemistry_Cafe_API.Controllers.SpeciesController", + "Method": "Get", + "RelativePath": "api/Species/{uuid}", + "HttpMethod": "GET", + "IsController": true, + "Order": 0, + "Parameters": [ + { + "Name": "uuid", + "Type": "System.Guid", + "IsRequired": true + } + ], + "ReturnTypes": [ + { + "Type": "Chemistry_Cafe_API.Models.Species", + "MediaTypes": [ + "text/plain", + "application/json", + "text/json" + ], + "StatusCode": 200 + } + ] + }, + { + "ContainingType": "Chemistry_Cafe_API.Controllers.SpeciesController", + "Method": "Get", + "RelativePath": "api/Species/all", + "HttpMethod": "GET", + "IsController": true, + "Order": 0, + "Parameters": [], + "ReturnTypes": [ + { + "Type": "System.Collections.Generic.IReadOnlyList\u00601[[Chemistry_Cafe_API.Models.Species, Chemistry Cafe API, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]", + "MediaTypes": [ + "text/plain", + "application/json", + "text/json" + ], + "StatusCode": 200 + } + ] + }, + { + "ContainingType": "Chemistry_Cafe_API.Controllers.SpeciesController", + "Method": "Create", + "RelativePath": "api/Species/create", + "HttpMethod": "POST", + "IsController": true, + "Order": 0, + "Parameters": [ + { + "Name": "type", + "Type": "System.String", + "IsRequired": true + } + ], + "ReturnTypes": [ + { + "Type": "System.Guid", + "MediaTypes": [ + "text/plain", + "application/json", + "text/json" + ], + "StatusCode": 200 + } + ] + }, + { + "ContainingType": "Chemistry_Cafe_API.Controllers.SpeciesController", + "Method": "Delete", + "RelativePath": "api/Species/delete/{uuid}", + "HttpMethod": "DELETE", + "IsController": true, + "Order": 0, + "Parameters": [ + { + "Name": "uuid", + "Type": "System.Guid", + "IsRequired": true + } + ], + "ReturnTypes": [ + { + "Type": "System.Void", + "MediaTypes": [], + "StatusCode": 200 + } + ] + }, + { + "ContainingType": "Chemistry_Cafe_API.Controllers.SpeciesController", + "Method": "GetTags", + "RelativePath": "api/Species/TagMechanism/{tag_mechanism_uuid}", + "HttpMethod": "GET", + "IsController": true, + "Order": 0, + "Parameters": [ + { + "Name": "tag_mechanism_uuid", + "Type": "System.Guid", + "IsRequired": true + } + ], + "ReturnTypes": [ + { + "Type": "System.Collections.Generic.IReadOnlyList\u00601[[Chemistry_Cafe_API.Models.Species, Chemistry Cafe API, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]", + "MediaTypes": [ + "text/plain", + "application/json", + "text/json" + ], + "StatusCode": 200 + } + ] + }, + { + "ContainingType": "Chemistry_Cafe_API.Controllers.SpeciesController", + "Method": "Put", + "RelativePath": "api/Species/update", + "HttpMethod": "PUT", + "IsController": true, + "Order": 0, + "Parameters": [ + { + "Name": "species", + "Type": "Chemistry_Cafe_API.Models.Species", + "IsRequired": true + } + ], + "ReturnTypes": [ + { + "Type": "System.Void", + "MediaTypes": [], + "StatusCode": 200 + } + ] + }, + { + "ContainingType": "Chemistry_Cafe_API.Controllers.TagMechanismController", + "Method": "Get", + "RelativePath": "api/TagMechanism/{uuid}", + "HttpMethod": "GET", + "IsController": true, + "Order": 0, + "Parameters": [ + { + "Name": "uuid", + "Type": "System.Guid", + "IsRequired": true + } + ], + "ReturnTypes": [ + { + "Type": "Chemistry_Cafe_API.Models.TagMechanism", + "MediaTypes": [ + "text/plain", + "application/json", + "text/json" + ], + "StatusCode": 200 + } + ] + }, + { + "ContainingType": "Chemistry_Cafe_API.Controllers.TagMechanismController", + "Method": "Get", + "RelativePath": "api/TagMechanism/all", + "HttpMethod": "GET", + "IsController": true, + "Order": 0, + "Parameters": [], + "ReturnTypes": [ + { + "Type": "System.Collections.Generic.IReadOnlyList\u00601[[Chemistry_Cafe_API.Models.TagMechanism, Chemistry Cafe API, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]", + "MediaTypes": [ + "text/plain", + "application/json", + "text/json" + ], + "StatusCode": 200 + } + ] + }, + { + "ContainingType": "Chemistry_Cafe_API.Controllers.TagMechanismController", + "Method": "Create", + "RelativePath": "api/TagMechanism/create", + "HttpMethod": "POST", + "IsController": true, + "Order": 0, + "Parameters": [ + { + "Name": "tag", + "Type": "System.String", + "IsRequired": true + } + ], + "ReturnTypes": [ + { + "Type": "System.Guid", + "MediaTypes": [ + "text/plain", + "application/json", + "text/json" + ], + "StatusCode": 200 + } + ] + }, + { + "ContainingType": "Chemistry_Cafe_API.Controllers.TagMechanismController", + "Method": "Delete", + "RelativePath": "api/TagMechanism/delete/{uuid}", + "HttpMethod": "DELETE", + "IsController": true, + "Order": 0, + "Parameters": [ + { + "Name": "uuid", + "Type": "System.Guid", + "IsRequired": true + } + ], + "ReturnTypes": [ + { + "Type": "System.Void", + "MediaTypes": [], + "StatusCode": 200 + } + ] + }, + { + "ContainingType": "Chemistry_Cafe_API.Controllers.TagMechanismController", + "Method": "GetTags", + "RelativePath": "api/TagMechanism/Family/{family_uuid}", + "HttpMethod": "GET", + "IsController": true, + "Order": 0, + "Parameters": [ + { + "Name": "family_uuid", + "Type": "System.Guid", + "IsRequired": true + } + ], + "ReturnTypes": [ + { + "Type": "System.Collections.Generic.IReadOnlyList\u00601[[Chemistry_Cafe_API.Models.TagMechanism, Chemistry Cafe API, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]", + "MediaTypes": [ + "text/plain", + "application/json", + "text/json" + ], + "StatusCode": 200 + } + ] + }, + { + "ContainingType": "Chemistry_Cafe_API.Controllers.TagMechanismController", + "Method": "Put", + "RelativePath": "api/TagMechanism/update", + "HttpMethod": "PUT", + "IsController": true, + "Order": 0, + "Parameters": [ + { + "Name": "tagMechanism", + "Type": "Chemistry_Cafe_API.Models.TagMechanism", + "IsRequired": true + } + ], + "ReturnTypes": [ + { + "Type": "System.Void", + "MediaTypes": [], + "StatusCode": 200 + } + ] + }, + { + "ContainingType": "Chemistry_Cafe_API.Controllers.TagMechanismReactionListController", + "Method": "Get", + "RelativePath": "api/TagMechanismReactionList/{uuid}", + "HttpMethod": "GET", + "IsController": true, + "Order": 0, + "Parameters": [ + { + "Name": "uuid", + "Type": "System.Guid", + "IsRequired": true + } + ], + "ReturnTypes": [ + { + "Type": "Chemistry_Cafe_API.Models.TagMechanismReactionList", + "MediaTypes": [ + "text/plain", + "application/json", + "text/json" + ], + "StatusCode": 200 + } + ] + }, + { + "ContainingType": "Chemistry_Cafe_API.Controllers.TagMechanismReactionListController", + "Method": "Get", + "RelativePath": "api/TagMechanismReactionList/all", + "HttpMethod": "GET", + "IsController": true, + "Order": 0, + "Parameters": [], + "ReturnTypes": [ + { + "Type": "System.Collections.Generic.IReadOnlyList\u00601[[Chemistry_Cafe_API.Models.TagMechanismReactionList, Chemistry Cafe API, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]", + "MediaTypes": [ + "text/plain", + "application/json", + "text/json" + ], + "StatusCode": 200 + } + ] + }, + { + "ContainingType": "Chemistry_Cafe_API.Controllers.TagMechanismReactionListController", + "Method": "Create", + "RelativePath": "api/TagMechanismReactionList/create", + "HttpMethod": "POST", + "IsController": true, + "Order": 0, + "Parameters": [ + { + "Name": "newTagMechanismReaction", + "Type": "Chemistry_Cafe_API.Models.TagMechanismReactionList", + "IsRequired": true + } + ], + "ReturnTypes": [ + { + "Type": "System.Guid", + "MediaTypes": [ + "text/plain", + "application/json", + "text/json" + ], + "StatusCode": 200 + } + ] + }, + { + "ContainingType": "Chemistry_Cafe_API.Controllers.TagMechanismReactionListController", + "Method": "Delete", + "RelativePath": "api/TagMechanismReactionList/delete/{uuid}", + "HttpMethod": "DELETE", + "IsController": true, + "Order": 0, + "Parameters": [ + { + "Name": "uuid", + "Type": "System.Guid", + "IsRequired": true + } + ], + "ReturnTypes": [ + { + "Type": "System.Void", + "MediaTypes": [], + "StatusCode": 200 + } + ] + }, + { + "ContainingType": "Chemistry_Cafe_API.Controllers.TagMechanismReactionListController", + "Method": "Put", + "RelativePath": "api/TagMechanismReactionList/update", + "HttpMethod": "PUT", + "IsController": true, + "Order": 0, + "Parameters": [ + { + "Name": "newTagMechanismReaction", + "Type": "Chemistry_Cafe_API.Models.TagMechanismReactionList", + "IsRequired": true + } + ], + "ReturnTypes": [ + { + "Type": "System.Void", + "MediaTypes": [], + "StatusCode": 200 + } + ] + }, + { + "ContainingType": "Chemistry_Cafe_API.Controllers.TagMechanismReactionListVersionController", + "Method": "Get", + "RelativePath": "api/TagMechanismReactionListVersion/{uuid}", + "HttpMethod": "GET", + "IsController": true, + "Order": 0, + "Parameters": [ + { + "Name": "uuid", + "Type": "System.Guid", + "IsRequired": true + } + ], + "ReturnTypes": [ + { + "Type": "Chemistry_Cafe_API.Models.TagMechanismReactionListVersion", + "MediaTypes": [ + "text/plain", + "application/json", + "text/json" + ], + "StatusCode": 200 + } + ] + }, + { + "ContainingType": "Chemistry_Cafe_API.Controllers.TagMechanismReactionListVersionController", + "Method": "Get", + "RelativePath": "api/TagMechanismReactionListVersion/all", + "HttpMethod": "GET", + "IsController": true, + "Order": 0, + "Parameters": [], + "ReturnTypes": [ + { + "Type": "System.Collections.Generic.IReadOnlyList\u00601[[Chemistry_Cafe_API.Models.TagMechanismReactionListVersion, Chemistry Cafe API, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]", + "MediaTypes": [ + "text/plain", + "application/json", + "text/json" + ], + "StatusCode": 200 + } + ] + }, + { + "ContainingType": "Chemistry_Cafe_API.Controllers.TagMechanismReactionListVersionController", + "Method": "Create", + "RelativePath": "api/TagMechanismReactionListVersion/create", + "HttpMethod": "POST", + "IsController": true, + "Order": 0, + "Parameters": [ + { + "Name": "newTagMechanismReactionListVersion", + "Type": "Chemistry_Cafe_API.Models.TagMechanismReactionListVersion", + "IsRequired": true + } + ], + "ReturnTypes": [ + { + "Type": "System.Guid", + "MediaTypes": [ + "text/plain", + "application/json", + "text/json" + ], + "StatusCode": 200 + } + ] + }, + { + "ContainingType": "Chemistry_Cafe_API.Controllers.TagMechanismReactionListVersionController", + "Method": "Delete", + "RelativePath": "api/TagMechanismReactionListVersion/delete/{uuid}", + "HttpMethod": "DELETE", + "IsController": true, + "Order": 0, + "Parameters": [ + { + "Name": "uuid", + "Type": "System.Guid", + "IsRequired": true + } + ], + "ReturnTypes": [ + { + "Type": "System.Void", + "MediaTypes": [], + "StatusCode": 200 + } + ] + }, + { + "ContainingType": "Chemistry_Cafe_API.Controllers.TagMechanismReactionListVersionController", + "Method": "Put", + "RelativePath": "api/TagMechanismReactionListVersion/update", + "HttpMethod": "PUT", + "IsController": true, + "Order": 0, + "Parameters": [ + { + "Name": "newTagMechanismReactionListVersion", + "Type": "Chemistry_Cafe_API.Models.TagMechanismReactionListVersion", + "IsRequired": true + } + ], + "ReturnTypes": [ + { + "Type": "System.Void", + "MediaTypes": [], + "StatusCode": 200 + } + ] + }, + { + "ContainingType": "Chemistry_Cafe_API.Controllers.TagMechanismSpeciesListController", + "Method": "Get", + "RelativePath": "api/TagMechanismSpeciesList/{uuid}", + "HttpMethod": "GET", + "IsController": true, + "Order": 0, + "Parameters": [ + { + "Name": "uuid", + "Type": "System.Guid", + "IsRequired": true + } + ], + "ReturnTypes": [ + { + "Type": "Chemistry_Cafe_API.Models.TagMechanismSpeciesList", + "MediaTypes": [ + "text/plain", + "application/json", + "text/json" + ], + "StatusCode": 200 + } + ] + }, + { + "ContainingType": "Chemistry_Cafe_API.Controllers.TagMechanismSpeciesListController", + "Method": "Get", + "RelativePath": "api/TagMechanismSpeciesList/all", + "HttpMethod": "GET", + "IsController": true, + "Order": 0, + "Parameters": [], + "ReturnTypes": [ + { + "Type": "System.Collections.Generic.IReadOnlyList\u00601[[Chemistry_Cafe_API.Models.TagMechanismSpeciesList, Chemistry Cafe API, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]", + "MediaTypes": [ + "text/plain", + "application/json", + "text/json" + ], + "StatusCode": 200 + } + ] + }, + { + "ContainingType": "Chemistry_Cafe_API.Controllers.TagMechanismSpeciesListController", + "Method": "Create", + "RelativePath": "api/TagMechanismSpeciesList/create", + "HttpMethod": "POST", + "IsController": true, + "Order": 0, + "Parameters": [ + { + "Name": "newTagMechanismSpecies", + "Type": "Chemistry_Cafe_API.Models.TagMechanismSpeciesList", + "IsRequired": true + } + ], + "ReturnTypes": [ + { + "Type": "System.Guid", + "MediaTypes": [ + "text/plain", + "application/json", + "text/json" + ], + "StatusCode": 200 + } + ] + }, + { + "ContainingType": "Chemistry_Cafe_API.Controllers.TagMechanismSpeciesListController", + "Method": "Delete", + "RelativePath": "api/TagMechanismSpeciesList/delete/{uuid}", + "HttpMethod": "DELETE", + "IsController": true, + "Order": 0, + "Parameters": [ + { + "Name": "uuid", + "Type": "System.Guid", + "IsRequired": true + } + ], + "ReturnTypes": [ + { + "Type": "System.Void", + "MediaTypes": [], + "StatusCode": 200 + } + ] + }, + { + "ContainingType": "Chemistry_Cafe_API.Controllers.TagMechanismSpeciesListController", + "Method": "Put", + "RelativePath": "api/TagMechanismSpeciesList/update", + "HttpMethod": "PUT", + "IsController": true, + "Order": 0, + "Parameters": [ + { + "Name": "newTagMechanismSpecies", + "Type": "Chemistry_Cafe_API.Models.TagMechanismSpeciesList", + "IsRequired": true + } + ], + "ReturnTypes": [ + { + "Type": "System.Void", + "MediaTypes": [], + "StatusCode": 200 + } + ] + }, + { + "ContainingType": "Chemistry_Cafe_API.Controllers.TagMechanismSpeciesListVersionController", + "Method": "Get", + "RelativePath": "api/TagMechanismSpeciesListVersion/{uuid}", + "HttpMethod": "GET", + "IsController": true, + "Order": 0, + "Parameters": [ + { + "Name": "uuid", + "Type": "System.Guid", + "IsRequired": true + } + ], + "ReturnTypes": [ + { + "Type": "Chemistry_Cafe_API.Models.TagMechanismSpeciesListVersion", + "MediaTypes": [ + "text/plain", + "application/json", + "text/json" + ], + "StatusCode": 200 + } + ] + }, + { + "ContainingType": "Chemistry_Cafe_API.Controllers.TagMechanismSpeciesListVersionController", + "Method": "Get", + "RelativePath": "api/TagMechanismSpeciesListVersion/all", + "HttpMethod": "GET", + "IsController": true, + "Order": 0, + "Parameters": [], + "ReturnTypes": [ + { + "Type": "System.Collections.Generic.IReadOnlyList\u00601[[Chemistry_Cafe_API.Models.TagMechanismSpeciesListVersion, Chemistry Cafe API, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]", + "MediaTypes": [ + "text/plain", + "application/json", + "text/json" + ], + "StatusCode": 200 + } + ] + }, + { + "ContainingType": "Chemistry_Cafe_API.Controllers.TagMechanismSpeciesListVersionController", + "Method": "Create", + "RelativePath": "api/TagMechanismSpeciesListVersion/create", + "HttpMethod": "POST", + "IsController": true, + "Order": 0, + "Parameters": [ + { + "Name": "newTagMechanismSpeciesListVersion", + "Type": "Chemistry_Cafe_API.Models.TagMechanismSpeciesListVersion", + "IsRequired": true + } + ], + "ReturnTypes": [ + { + "Type": "System.Guid", + "MediaTypes": [ + "text/plain", + "application/json", + "text/json" + ], + "StatusCode": 200 + } + ] + }, + { + "ContainingType": "Chemistry_Cafe_API.Controllers.TagMechanismSpeciesListVersionController", + "Method": "Delete", + "RelativePath": "api/TagMechanismSpeciesListVersion/delete/{uuid}", + "HttpMethod": "DELETE", + "IsController": true, + "Order": 0, + "Parameters": [ + { + "Name": "uuid", + "Type": "System.Guid", + "IsRequired": true + } + ], + "ReturnTypes": [ + { + "Type": "System.Void", + "MediaTypes": [], + "StatusCode": 200 + } + ] + }, + { + "ContainingType": "Chemistry_Cafe_API.Controllers.TagMechanismSpeciesListVersionController", + "Method": "Put", + "RelativePath": "api/TagMechanismSpeciesListVersion/update", + "HttpMethod": "PUT", + "IsController": true, + "Order": 0, + "Parameters": [ + { + "Name": "newTagMechanismSpeciesListVersion", + "Type": "Chemistry_Cafe_API.Models.TagMechanismSpeciesListVersion", + "IsRequired": true + } + ], + "ReturnTypes": [ + { + "Type": "System.Void", + "MediaTypes": [], + "StatusCode": 200 + } + ] + }, + { + "ContainingType": "Chemistry_Cafe_API.Controllers.UserController", + "Method": "Get", + "RelativePath": "api/User/{uuid}", + "HttpMethod": "GET", + "IsController": true, + "Order": 0, + "Parameters": [ + { + "Name": "uuid", + "Type": "System.Guid", + "IsRequired": true + } + ], + "ReturnTypes": [ + { + "Type": "Chemistry_Cafe_API.Models.User", + "MediaTypes": [ + "text/plain", + "application/json", + "text/json" + ], + "StatusCode": 200 + } + ] + }, + { + "ContainingType": "Chemistry_Cafe_API.Controllers.UserController", + "Method": "Get", + "RelativePath": "api/User/all", + "HttpMethod": "GET", + "IsController": true, + "Order": 0, + "Parameters": [], + "ReturnTypes": [ + { + "Type": "System.Collections.Generic.IReadOnlyList\u00601[[Chemistry_Cafe_API.Models.User, Chemistry Cafe API, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]", + "MediaTypes": [ + "text/plain", + "application/json", + "text/json" + ], + "StatusCode": 200 + } + ] + }, + { + "ContainingType": "Chemistry_Cafe_API.Controllers.UserController", + "Method": "Create", + "RelativePath": "api/User/create", + "HttpMethod": "POST", + "IsController": true, + "Order": 0, + "Parameters": [ + { + "Name": "log_in_info", + "Type": "System.String", + "IsRequired": true + } + ], + "ReturnTypes": [ + { + "Type": "System.Guid", + "MediaTypes": [ + "text/plain", + "application/json", + "text/json" + ], + "StatusCode": 200 + } + ] + }, + { + "ContainingType": "Chemistry_Cafe_API.Controllers.UserController", + "Method": "Delete", + "RelativePath": "api/User/delete/{uuid}", + "HttpMethod": "DELETE", + "IsController": true, + "Order": 0, + "Parameters": [ + { + "Name": "uuid", + "Type": "System.Guid", + "IsRequired": true + } + ], + "ReturnTypes": [ + { + "Type": "System.Void", + "MediaTypes": [], + "StatusCode": 200 + } + ] + }, + { + "ContainingType": "Chemistry_Cafe_API.Controllers.UserController", + "Method": "Put", + "RelativePath": "api/User/update", + "HttpMethod": "PUT", + "IsController": true, + "Order": 0, + "Parameters": [ + { + "Name": "user", + "Type": "Chemistry_Cafe_API.Models.User", + "IsRequired": true + } + ], + "ReturnTypes": [ + { + "Type": "System.Void", + "MediaTypes": [], + "StatusCode": 200 + } + ] + }, + { + "ContainingType": "Chemistry_Cafe_API.Controllers.UserPreferencesController", + "Method": "Get", + "RelativePath": "api/UserPreferences/{uuid}", + "HttpMethod": "GET", + "IsController": true, + "Order": 0, + "Parameters": [ + { + "Name": "uuid", + "Type": "System.Guid", + "IsRequired": true + } + ], + "ReturnTypes": [ + { + "Type": "Chemistry_Cafe_API.Models.UserPreferences", + "MediaTypes": [ + "text/plain", + "application/json", + "text/json" + ], + "StatusCode": 200 + } + ] + }, + { + "ContainingType": "Chemistry_Cafe_API.Controllers.UserPreferencesController", + "Method": "Get", + "RelativePath": "api/UserPreferences/all", + "HttpMethod": "GET", + "IsController": true, + "Order": 0, + "Parameters": [], + "ReturnTypes": [ + { + "Type": "System.Collections.Generic.IReadOnlyList\u00601[[Chemistry_Cafe_API.Models.UserPreferences, Chemistry Cafe API, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]", + "MediaTypes": [ + "text/plain", + "application/json", + "text/json" + ], + "StatusCode": 200 + } + ] + }, + { + "ContainingType": "Chemistry_Cafe_API.Controllers.UserPreferencesController", + "Method": "Create", + "RelativePath": "api/UserPreferences/create", + "HttpMethod": "POST", + "IsController": true, + "Order": 0, + "Parameters": [ + { + "Name": "userPreferneces", + "Type": "Chemistry_Cafe_API.Models.UserPreferences", + "IsRequired": true + } + ], + "ReturnTypes": [ + { + "Type": "System.Guid", + "MediaTypes": [ + "text/plain", + "application/json", + "text/json" + ], + "StatusCode": 200 + } + ] + }, + { + "ContainingType": "Chemistry_Cafe_API.Controllers.UserPreferencesController", + "Method": "Delete", + "RelativePath": "api/UserPreferences/delete/{uuid}", + "HttpMethod": "DELETE", + "IsController": true, + "Order": 0, + "Parameters": [ + { + "Name": "uuid", + "Type": "System.Guid", + "IsRequired": true + } + ], + "ReturnTypes": [ + { + "Type": "System.Void", + "MediaTypes": [], + "StatusCode": 200 + } + ] + }, + { + "ContainingType": "Chemistry_Cafe_API.Controllers.UserPreferencesController", + "Method": "Put", + "RelativePath": "api/UserPreferences/update", + "HttpMethod": "PUT", + "IsController": true, + "Order": 0, + "Parameters": [ + { + "Name": "userpreferences", + "Type": "Chemistry_Cafe_API.Models.UserPreferences", + "IsRequired": true + } + ], + "ReturnTypes": [ + { + "Type": "System.Void", + "MediaTypes": [], + "StatusCode": 200 + } + ] } ] \ No newline at end of file diff --git a/obj/Debug/net8.0/Chemistry Cafe API.AssemblyInfo.cs b/obj/Debug/net8.0/Chemistry Cafe API.AssemblyInfo.cs index dac09fe..6e4c690 100644 --- a/obj/Debug/net8.0/Chemistry Cafe API.AssemblyInfo.cs +++ b/obj/Debug/net8.0/Chemistry Cafe API.AssemblyInfo.cs @@ -15,7 +15,7 @@ [assembly: System.Reflection.AssemblyCompanyAttribute("Chemistry Cafe API")] [assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")] [assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")] -[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+bd526d7e49dee20e9f86dc1b8ac8c51fecb91757")] +[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+9fc28eb58475245c87b7fb1a1493c6bab0fd4375")] [assembly: System.Reflection.AssemblyProductAttribute("Chemistry Cafe API")] [assembly: System.Reflection.AssemblyTitleAttribute("Chemistry Cafe API")] [assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")] diff --git a/obj/Debug/net8.0/Chemistry Cafe API.AssemblyInfoInputs.cache b/obj/Debug/net8.0/Chemistry Cafe API.AssemblyInfoInputs.cache index 60b010f..ac706c5 100644 --- a/obj/Debug/net8.0/Chemistry Cafe API.AssemblyInfoInputs.cache +++ b/obj/Debug/net8.0/Chemistry Cafe API.AssemblyInfoInputs.cache @@ -1 +1 @@ -c28fc5d6cd029076feff62b2219d587133bc3fae98a148f052f4a32d91962b3a +63a8a767e2e926141f8980aa09acde294cd192fb877071feabd9b97c35e41e39 diff --git a/obj/Debug/net8.0/Chemistry Cafe API.GeneratedMSBuildEditorConfig.editorconfig b/obj/Debug/net8.0/Chemistry Cafe API.GeneratedMSBuildEditorConfig.editorconfig index f7fd195..2dcdf97 100644 --- a/obj/Debug/net8.0/Chemistry Cafe API.GeneratedMSBuildEditorConfig.editorconfig +++ b/obj/Debug/net8.0/Chemistry Cafe API.GeneratedMSBuildEditorConfig.editorconfig @@ -9,11 +9,11 @@ build_property.EnforceExtendedAnalyzerRules = build_property._SupportedPlatformList = Linux,macOS,Windows build_property.RootNamespace = Chemistry_Cafe_API build_property.RootNamespace = Chemistry_Cafe_API -build_property.ProjectDir = C:\College_Stuff\2024_Spring\CSCE482\Project\chemistry-cafe-api\ +build_property.ProjectDir = C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\ build_property.EnableComHosting = build_property.EnableGeneratedComInterfaceComImportInterop = build_property.RazorLangVersion = 8.0 build_property.SupportLocalizedComponentNames = build_property.GenerateRazorMetadataSourceChecksumAttributes = -build_property.MSBuildProjectDirectory = C:\College_Stuff\2024_Spring\CSCE482\Project\chemistry-cafe-api +build_property.MSBuildProjectDirectory = C:\Users\Evan\Documents\GitHub\chemistry-cafe-api build_property._RazorSourceGeneratorDebug = diff --git a/obj/Debug/net8.0/Chemistry Cafe API.assets.cache b/obj/Debug/net8.0/Chemistry Cafe API.assets.cache index e68a4ba..6f6e0d7 100644 Binary files a/obj/Debug/net8.0/Chemistry Cafe API.assets.cache and b/obj/Debug/net8.0/Chemistry Cafe API.assets.cache differ diff --git a/obj/Debug/net8.0/Chemistry Cafe API.csproj.AssemblyReference.cache b/obj/Debug/net8.0/Chemistry Cafe API.csproj.AssemblyReference.cache index a7554ad..946da6a 100644 Binary files a/obj/Debug/net8.0/Chemistry Cafe API.csproj.AssemblyReference.cache and b/obj/Debug/net8.0/Chemistry Cafe API.csproj.AssemblyReference.cache differ diff --git a/obj/Debug/net8.0/Chemistry Cafe API.csproj.CoreCompileInputs.cache b/obj/Debug/net8.0/Chemistry Cafe API.csproj.CoreCompileInputs.cache index 22f5358..855440d 100644 --- a/obj/Debug/net8.0/Chemistry Cafe API.csproj.CoreCompileInputs.cache +++ b/obj/Debug/net8.0/Chemistry Cafe API.csproj.CoreCompileInputs.cache @@ -1 +1 @@ -c9207756929719f7174432e6def7ec446507147f3320117c8258772a1ee0aeba +75db1985216a6d9e79d2c3bfa68d5db3ac197070741d3fdee2b4e00edd744a20 diff --git a/obj/Debug/net8.0/Chemistry Cafe API.csproj.FileListAbsolute.txt b/obj/Debug/net8.0/Chemistry Cafe API.csproj.FileListAbsolute.txt index 2772502..f829c6a 100644 --- a/obj/Debug/net8.0/Chemistry Cafe API.csproj.FileListAbsolute.txt +++ b/obj/Debug/net8.0/Chemistry Cafe API.csproj.FileListAbsolute.txt @@ -67,12 +67,6 @@ C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\obj\Debug\net8.0\Chemistry Caf C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\obj\Debug\net8.0\Chemistry Cafe API.genruntimeconfig.cache C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\obj\Debug\net8.0\ref\Chemistry Cafe API.dll C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\obj\Debug\net8.0\Chemistry Cafe API.sourcelink.json -C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\System.Web.Cors.dll -C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\System.Net.Http.Formatting.dll -C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\System.Web.Http.dll -C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\System.Web.Http.Cors.dll -C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\Newtonsoft.Json.dll -C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\Newtonsoft.Json.Bson.dll C:\College_Stuff\2024_Spring\CSCE482\Project\chemistry-cafe-api\bin\Debug\net8.0\appsettings.Development.json C:\College_Stuff\2024_Spring\CSCE482\Project\chemistry-cafe-api\bin\Debug\net8.0\appsettings.json C:\College_Stuff\2024_Spring\CSCE482\Project\chemistry-cafe-api\bin\Debug\net8.0\Chemistry Cafe API.exe @@ -108,3 +102,464 @@ C:\College_Stuff\2024_Spring\CSCE482\Project\chemistry-cafe-api\obj\Debug\net8.0 C:\College_Stuff\2024_Spring\CSCE482\Project\chemistry-cafe-api\obj\Debug\net8.0\Chemistry Cafe API.pdb C:\College_Stuff\2024_Spring\CSCE482\Project\chemistry-cafe-api\obj\Debug\net8.0\Chemistry Cafe API.genruntimeconfig.cache C:\College_Stuff\2024_Spring\CSCE482\Project\chemistry-cafe-api\obj\Debug\net8.0\ref\Chemistry Cafe API.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\obj\Debug\net8.0\MvcTestingAppManifest.json +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\MvcTestingAppManifest.json +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\Microsoft.AspNetCore.Antiforgery.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\Microsoft.AspNetCore.Authentication.Abstractions.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\Microsoft.AspNetCore.Authentication.BearerToken.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\Microsoft.AspNetCore.Authentication.Cookies.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\Microsoft.AspNetCore.Authentication.Core.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\Microsoft.AspNetCore.Authentication.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\Microsoft.AspNetCore.Authentication.OAuth.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\Microsoft.AspNetCore.Authorization.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\Microsoft.AspNetCore.Authorization.Policy.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\Microsoft.AspNetCore.Components.Authorization.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\Microsoft.AspNetCore.Components.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\Microsoft.AspNetCore.Components.Endpoints.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\Microsoft.AspNetCore.Components.Forms.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\Microsoft.AspNetCore.Components.Server.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\Microsoft.AspNetCore.Components.Web.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\Microsoft.AspNetCore.Connections.Abstractions.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\Microsoft.AspNetCore.CookiePolicy.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\Microsoft.AspNetCore.Cors.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\Microsoft.AspNetCore.Cryptography.Internal.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\Microsoft.AspNetCore.Cryptography.KeyDerivation.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\Microsoft.AspNetCore.DataProtection.Abstractions.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\Microsoft.AspNetCore.DataProtection.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\Microsoft.AspNetCore.DataProtection.Extensions.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\Microsoft.AspNetCore.Diagnostics.Abstractions.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\Microsoft.AspNetCore.Diagnostics.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\Microsoft.AspNetCore.Diagnostics.HealthChecks.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\Microsoft.AspNetCore.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\Microsoft.AspNetCore.HostFiltering.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\Microsoft.AspNetCore.Hosting.Abstractions.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\Microsoft.AspNetCore.Hosting.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\Microsoft.AspNetCore.Hosting.Server.Abstractions.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\Microsoft.AspNetCore.Html.Abstractions.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\Microsoft.AspNetCore.Http.Abstractions.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\Microsoft.AspNetCore.Http.Connections.Common.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\Microsoft.AspNetCore.Http.Connections.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\Microsoft.AspNetCore.Http.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\Microsoft.AspNetCore.Http.Extensions.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\Microsoft.AspNetCore.Http.Features.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\Microsoft.AspNetCore.Http.Results.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\Microsoft.AspNetCore.HttpLogging.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\Microsoft.AspNetCore.HttpOverrides.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\Microsoft.AspNetCore.HttpsPolicy.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\Microsoft.AspNetCore.Identity.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\Microsoft.AspNetCore.Localization.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\Microsoft.AspNetCore.Localization.Routing.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\Microsoft.AspNetCore.Metadata.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\Microsoft.AspNetCore.Mvc.Abstractions.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\Microsoft.AspNetCore.Mvc.ApiExplorer.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\Microsoft.AspNetCore.Mvc.Core.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\Microsoft.AspNetCore.Mvc.Cors.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\Microsoft.AspNetCore.Mvc.DataAnnotations.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\Microsoft.AspNetCore.Mvc.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\Microsoft.AspNetCore.Mvc.Formatters.Json.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\Microsoft.AspNetCore.Mvc.Formatters.Xml.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\Microsoft.AspNetCore.Mvc.Localization.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\Microsoft.AspNetCore.Mvc.Razor.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\Microsoft.AspNetCore.Mvc.RazorPages.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\Microsoft.AspNetCore.Mvc.TagHelpers.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\Microsoft.AspNetCore.Mvc.ViewFeatures.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\Microsoft.AspNetCore.OutputCaching.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\Microsoft.AspNetCore.RateLimiting.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\Microsoft.AspNetCore.Razor.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\Microsoft.AspNetCore.Razor.Runtime.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\Microsoft.AspNetCore.RequestDecompression.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\Microsoft.AspNetCore.ResponseCaching.Abstractions.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\Microsoft.AspNetCore.ResponseCaching.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\Microsoft.AspNetCore.ResponseCompression.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\Microsoft.AspNetCore.Rewrite.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\Microsoft.AspNetCore.Routing.Abstractions.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\Microsoft.AspNetCore.Routing.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\Microsoft.AspNetCore.Server.HttpSys.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\Microsoft.AspNetCore.Server.IIS.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\Microsoft.AspNetCore.Server.IISIntegration.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\Microsoft.AspNetCore.Server.Kestrel.Core.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\Microsoft.AspNetCore.Server.Kestrel.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\Microsoft.AspNetCore.Server.Kestrel.Transport.NamedPipes.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\Microsoft.AspNetCore.Server.Kestrel.Transport.Quic.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\Microsoft.AspNetCore.Session.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\Microsoft.AspNetCore.SignalR.Common.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\Microsoft.AspNetCore.SignalR.Core.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\Microsoft.AspNetCore.SignalR.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\Microsoft.AspNetCore.SignalR.Protocols.Json.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\Microsoft.AspNetCore.StaticFiles.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\Microsoft.AspNetCore.WebSockets.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\Microsoft.AspNetCore.WebUtilities.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\Microsoft.CSharp.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\Microsoft.Extensions.Caching.Abstractions.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\Microsoft.Extensions.Caching.Memory.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\Microsoft.Extensions.Configuration.Abstractions.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\Microsoft.Extensions.Configuration.Binder.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\Microsoft.Extensions.Configuration.CommandLine.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\Microsoft.Extensions.Configuration.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\Microsoft.Extensions.Configuration.EnvironmentVariables.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\Microsoft.Extensions.Configuration.FileExtensions.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\Microsoft.Extensions.Configuration.Ini.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\Microsoft.Extensions.Configuration.Json.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\Microsoft.Extensions.Configuration.KeyPerFile.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\Microsoft.Extensions.Configuration.UserSecrets.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\Microsoft.Extensions.Configuration.Xml.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\Microsoft.Extensions.DependencyInjection.Abstractions.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\Microsoft.Extensions.DependencyInjection.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\Microsoft.Extensions.Diagnostics.Abstractions.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\Microsoft.Extensions.Diagnostics.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\Microsoft.Extensions.Diagnostics.HealthChecks.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\Microsoft.Extensions.Features.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\Microsoft.Extensions.FileProviders.Abstractions.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\Microsoft.Extensions.FileProviders.Composite.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\Microsoft.Extensions.FileProviders.Embedded.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\Microsoft.Extensions.FileProviders.Physical.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\Microsoft.Extensions.FileSystemGlobbing.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\Microsoft.Extensions.Hosting.Abstractions.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\Microsoft.Extensions.Hosting.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\Microsoft.Extensions.Http.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\Microsoft.Extensions.Identity.Core.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\Microsoft.Extensions.Identity.Stores.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\Microsoft.Extensions.Localization.Abstractions.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\Microsoft.Extensions.Localization.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\Microsoft.Extensions.Logging.Abstractions.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\Microsoft.Extensions.Logging.Configuration.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\Microsoft.Extensions.Logging.Console.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\Microsoft.Extensions.Logging.Debug.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\Microsoft.Extensions.Logging.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\Microsoft.Extensions.Logging.EventLog.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\Microsoft.Extensions.Logging.EventSource.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\Microsoft.Extensions.Logging.TraceSource.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\Microsoft.Extensions.ObjectPool.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\Microsoft.Extensions.Options.ConfigurationExtensions.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\Microsoft.Extensions.Options.DataAnnotations.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\Microsoft.Extensions.Options.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\Microsoft.Extensions.Primitives.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\Microsoft.Extensions.WebEncoders.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\Microsoft.JSInterop.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\Microsoft.Net.Http.Headers.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\Microsoft.VisualBasic.Core.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\Microsoft.VisualBasic.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\Microsoft.Win32.Primitives.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\Microsoft.Win32.Registry.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\mscorlib.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\netstandard.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\System.AppContext.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\System.Buffers.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\System.Collections.Concurrent.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\System.Collections.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\System.Collections.Immutable.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\System.Collections.NonGeneric.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\System.Collections.Specialized.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\System.ComponentModel.Annotations.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\System.ComponentModel.DataAnnotations.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\System.ComponentModel.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\System.ComponentModel.EventBasedAsync.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\System.ComponentModel.Primitives.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\System.ComponentModel.TypeConverter.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\System.Configuration.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\System.Console.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\System.Core.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\System.Data.Common.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\System.Data.DataSetExtensions.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\System.Data.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\System.Diagnostics.Contracts.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\System.Diagnostics.Debug.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\System.Diagnostics.DiagnosticSource.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\System.Diagnostics.EventLog.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\System.Diagnostics.FileVersionInfo.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\System.Diagnostics.Process.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\System.Diagnostics.StackTrace.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\System.Diagnostics.TextWriterTraceListener.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\System.Diagnostics.Tools.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\System.Diagnostics.TraceSource.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\System.Diagnostics.Tracing.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\System.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\System.Drawing.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\System.Drawing.Primitives.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\System.Dynamic.Runtime.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\System.Formats.Asn1.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\System.Formats.Tar.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\System.Globalization.Calendars.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\System.Globalization.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\System.Globalization.Extensions.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\System.IO.Compression.Brotli.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\System.IO.Compression.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\System.IO.Compression.FileSystem.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\System.IO.Compression.ZipFile.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\System.IO.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\System.IO.FileSystem.AccessControl.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\System.IO.FileSystem.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\System.IO.FileSystem.DriveInfo.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\System.IO.FileSystem.Primitives.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\System.IO.FileSystem.Watcher.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\System.IO.IsolatedStorage.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\System.IO.MemoryMappedFiles.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\System.IO.Pipelines.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\System.IO.Pipes.AccessControl.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\System.IO.Pipes.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\System.IO.UnmanagedMemoryStream.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\System.Linq.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\System.Linq.Expressions.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\System.Linq.Parallel.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\System.Linq.Queryable.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\System.Memory.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\System.Net.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\System.Net.Http.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\System.Net.Http.Json.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\System.Net.HttpListener.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\System.Net.Mail.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\System.Net.NameResolution.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\System.Net.NetworkInformation.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\System.Net.Ping.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\System.Net.Primitives.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\System.Net.Quic.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\System.Net.Requests.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\System.Net.Security.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\System.Net.ServicePoint.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\System.Net.Sockets.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\System.Net.WebClient.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\System.Net.WebHeaderCollection.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\System.Net.WebProxy.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\System.Net.WebSockets.Client.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\System.Net.WebSockets.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\System.Numerics.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\System.Numerics.Vectors.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\System.ObjectModel.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\System.Reflection.DispatchProxy.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\System.Reflection.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\System.Reflection.Emit.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\System.Reflection.Emit.ILGeneration.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\System.Reflection.Emit.Lightweight.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\System.Reflection.Extensions.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\System.Reflection.Metadata.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\System.Reflection.Primitives.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\System.Reflection.TypeExtensions.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\System.Resources.Reader.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\System.Resources.ResourceManager.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\System.Resources.Writer.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\System.Runtime.CompilerServices.Unsafe.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\System.Runtime.CompilerServices.VisualC.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\System.Runtime.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\System.Runtime.Extensions.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\System.Runtime.Handles.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\System.Runtime.InteropServices.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\System.Runtime.InteropServices.JavaScript.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\System.Runtime.InteropServices.RuntimeInformation.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\System.Runtime.Intrinsics.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\System.Runtime.Loader.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\System.Runtime.Numerics.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\System.Runtime.Serialization.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\System.Runtime.Serialization.Formatters.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\System.Runtime.Serialization.Json.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\System.Runtime.Serialization.Primitives.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\System.Runtime.Serialization.Xml.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\System.Security.AccessControl.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\System.Security.Claims.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\System.Security.Cryptography.Algorithms.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\System.Security.Cryptography.Cng.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\System.Security.Cryptography.Csp.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\System.Security.Cryptography.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\System.Security.Cryptography.Encoding.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\System.Security.Cryptography.OpenSsl.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\System.Security.Cryptography.Primitives.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\System.Security.Cryptography.X509Certificates.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\System.Security.Cryptography.Xml.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\System.Security.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\System.Security.Principal.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\System.Security.Principal.Windows.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\System.Security.SecureString.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\System.ServiceModel.Web.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\System.ServiceProcess.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\System.Text.Encoding.CodePages.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\System.Text.Encoding.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\System.Text.Encoding.Extensions.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\System.Text.Encodings.Web.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\System.Text.Json.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\System.Text.RegularExpressions.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\System.Threading.Channels.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\System.Threading.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\System.Threading.Overlapped.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\System.Threading.RateLimiting.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\System.Threading.Tasks.Dataflow.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\System.Threading.Tasks.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\System.Threading.Tasks.Extensions.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\System.Threading.Tasks.Parallel.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\System.Threading.Thread.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\System.Threading.ThreadPool.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\System.Threading.Timer.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\System.Transactions.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\System.Transactions.Local.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\System.ValueTuple.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\System.Web.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\System.Web.HttpUtility.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\System.Windows.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\System.Xml.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\System.Xml.Linq.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\System.Xml.ReaderWriter.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\System.Xml.Serialization.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\System.Xml.XDocument.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\System.Xml.XmlDocument.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\System.Xml.XmlSerializer.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\System.Xml.XPath.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\System.Xml.XPath.XDocument.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\refs\WindowsBase.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\Microsoft.AspNetCore.Mvc.Testing.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\Microsoft.AspNetCore.TestHost.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\Microsoft.Extensions.DependencyModel.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\Microsoft.VisualStudio.TestPlatform.TestFramework.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\xunit.abstractions.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\xunit.core.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\cs\Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\de\Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\es\Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\fr\Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\it\Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\ja\Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\ko\Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\pl\Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\pt-BR\Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\ru\Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\tr\Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\zh-Hans\Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\zh-Hant\Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\testhost.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\testhost.exe +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\Microsoft.VisualStudio.CodeCoverage.Shim.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\Microsoft.TestPlatform.CoreUtilities.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\Microsoft.TestPlatform.PlatformAbstractions.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\Microsoft.VisualStudio.TestPlatform.ObjectModel.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\Microsoft.TestPlatform.CommunicationUtilities.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\Microsoft.TestPlatform.CrossPlatEngine.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\Microsoft.TestPlatform.Utilities.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\Microsoft.VisualStudio.TestPlatform.Common.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\Newtonsoft.Json.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\cs\Microsoft.TestPlatform.CoreUtilities.resources.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\cs\Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\de\Microsoft.TestPlatform.CoreUtilities.resources.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\de\Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\es\Microsoft.TestPlatform.CoreUtilities.resources.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\es\Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\fr\Microsoft.TestPlatform.CoreUtilities.resources.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\fr\Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\it\Microsoft.TestPlatform.CoreUtilities.resources.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\it\Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\ja\Microsoft.TestPlatform.CoreUtilities.resources.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\ja\Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\ko\Microsoft.TestPlatform.CoreUtilities.resources.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\ko\Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\pl\Microsoft.TestPlatform.CoreUtilities.resources.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\pl\Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\pt-BR\Microsoft.TestPlatform.CoreUtilities.resources.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\pt-BR\Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\ru\Microsoft.TestPlatform.CoreUtilities.resources.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\ru\Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\tr\Microsoft.TestPlatform.CoreUtilities.resources.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\tr\Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\zh-Hans\Microsoft.TestPlatform.CoreUtilities.resources.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\zh-Hans\Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\zh-Hant\Microsoft.TestPlatform.CoreUtilities.resources.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\zh-Hant\Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\cs\Microsoft.TestPlatform.CommunicationUtilities.resources.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\cs\Microsoft.TestPlatform.CrossPlatEngine.resources.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\cs\Microsoft.VisualStudio.TestPlatform.Common.resources.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\de\Microsoft.TestPlatform.CommunicationUtilities.resources.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\de\Microsoft.TestPlatform.CrossPlatEngine.resources.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\de\Microsoft.VisualStudio.TestPlatform.Common.resources.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\es\Microsoft.TestPlatform.CommunicationUtilities.resources.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\es\Microsoft.TestPlatform.CrossPlatEngine.resources.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\es\Microsoft.VisualStudio.TestPlatform.Common.resources.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\fr\Microsoft.TestPlatform.CommunicationUtilities.resources.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\fr\Microsoft.TestPlatform.CrossPlatEngine.resources.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\fr\Microsoft.VisualStudio.TestPlatform.Common.resources.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\it\Microsoft.TestPlatform.CommunicationUtilities.resources.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\it\Microsoft.TestPlatform.CrossPlatEngine.resources.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\it\Microsoft.VisualStudio.TestPlatform.Common.resources.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\ja\Microsoft.TestPlatform.CommunicationUtilities.resources.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\ja\Microsoft.TestPlatform.CrossPlatEngine.resources.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\ja\Microsoft.VisualStudio.TestPlatform.Common.resources.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\ko\Microsoft.TestPlatform.CommunicationUtilities.resources.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\ko\Microsoft.TestPlatform.CrossPlatEngine.resources.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\ko\Microsoft.VisualStudio.TestPlatform.Common.resources.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\pl\Microsoft.TestPlatform.CommunicationUtilities.resources.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\pl\Microsoft.TestPlatform.CrossPlatEngine.resources.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\pl\Microsoft.VisualStudio.TestPlatform.Common.resources.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\pt-BR\Microsoft.TestPlatform.CommunicationUtilities.resources.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\pt-BR\Microsoft.TestPlatform.CrossPlatEngine.resources.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\pt-BR\Microsoft.VisualStudio.TestPlatform.Common.resources.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\ru\Microsoft.TestPlatform.CommunicationUtilities.resources.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\ru\Microsoft.TestPlatform.CrossPlatEngine.resources.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\ru\Microsoft.VisualStudio.TestPlatform.Common.resources.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\tr\Microsoft.TestPlatform.CommunicationUtilities.resources.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\tr\Microsoft.TestPlatform.CrossPlatEngine.resources.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\tr\Microsoft.VisualStudio.TestPlatform.Common.resources.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\zh-Hans\Microsoft.TestPlatform.CommunicationUtilities.resources.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\zh-Hans\Microsoft.TestPlatform.CrossPlatEngine.resources.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\zh-Hans\Microsoft.VisualStudio.TestPlatform.Common.resources.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\zh-Hant\Microsoft.TestPlatform.CommunicationUtilities.resources.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\zh-Hant\Microsoft.TestPlatform.CrossPlatEngine.resources.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\zh-Hant\Microsoft.VisualStudio.TestPlatform.Common.resources.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\Microsoft.TestPlatform.AdapterUtilities.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\Microsoft.ApplicationInsights.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\Microsoft.Testing.Extensions.Telemetry.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\Microsoft.Testing.Extensions.TrxReport.Abstractions.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\Microsoft.Testing.Extensions.VSTestBridge.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\Microsoft.Testing.Platform.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\Microsoft.Testing.Platform.MSBuild.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\cs\Microsoft.Testing.Extensions.Telemetry.resources.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\de\Microsoft.Testing.Extensions.Telemetry.resources.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\es\Microsoft.Testing.Extensions.Telemetry.resources.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\fr\Microsoft.Testing.Extensions.Telemetry.resources.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\it\Microsoft.Testing.Extensions.Telemetry.resources.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\ja\Microsoft.Testing.Extensions.Telemetry.resources.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\ko\Microsoft.Testing.Extensions.Telemetry.resources.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\pl\Microsoft.Testing.Extensions.Telemetry.resources.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\pt-BR\Microsoft.Testing.Extensions.Telemetry.resources.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\ru\Microsoft.Testing.Extensions.Telemetry.resources.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\tr\Microsoft.Testing.Extensions.Telemetry.resources.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\zh-Hans\Microsoft.Testing.Extensions.Telemetry.resources.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\zh-Hant\Microsoft.Testing.Extensions.Telemetry.resources.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\cs\Microsoft.Testing.Extensions.VSTestBridge.resources.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\de\Microsoft.Testing.Extensions.VSTestBridge.resources.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\es\Microsoft.Testing.Extensions.VSTestBridge.resources.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\fr\Microsoft.Testing.Extensions.VSTestBridge.resources.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\it\Microsoft.Testing.Extensions.VSTestBridge.resources.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\ja\Microsoft.Testing.Extensions.VSTestBridge.resources.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\ko\Microsoft.Testing.Extensions.VSTestBridge.resources.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\pl\Microsoft.Testing.Extensions.VSTestBridge.resources.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\pt-BR\Microsoft.Testing.Extensions.VSTestBridge.resources.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\ru\Microsoft.Testing.Extensions.VSTestBridge.resources.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\tr\Microsoft.Testing.Extensions.VSTestBridge.resources.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\zh-Hans\Microsoft.Testing.Extensions.VSTestBridge.resources.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\zh-Hant\Microsoft.Testing.Extensions.VSTestBridge.resources.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\cs\Microsoft.Testing.Platform.resources.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\de\Microsoft.Testing.Platform.resources.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\es\Microsoft.Testing.Platform.resources.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\fr\Microsoft.Testing.Platform.resources.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\it\Microsoft.Testing.Platform.resources.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\ja\Microsoft.Testing.Platform.resources.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\ko\Microsoft.Testing.Platform.resources.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\pl\Microsoft.Testing.Platform.resources.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\pt-BR\Microsoft.Testing.Platform.resources.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\ru\Microsoft.Testing.Platform.resources.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\tr\Microsoft.Testing.Platform.resources.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\zh-Hans\Microsoft.Testing.Platform.resources.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\zh-Hant\Microsoft.Testing.Platform.resources.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\cs\Microsoft.Testing.Platform.MSBuild.resources.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\de\Microsoft.Testing.Platform.MSBuild.resources.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\es\Microsoft.Testing.Platform.MSBuild.resources.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\fr\Microsoft.Testing.Platform.MSBuild.resources.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\it\Microsoft.Testing.Platform.MSBuild.resources.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\ja\Microsoft.Testing.Platform.MSBuild.resources.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\ko\Microsoft.Testing.Platform.MSBuild.resources.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\pl\Microsoft.Testing.Platform.MSBuild.resources.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\pt-BR\Microsoft.Testing.Platform.MSBuild.resources.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\ru\Microsoft.Testing.Platform.MSBuild.resources.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\tr\Microsoft.Testing.Platform.MSBuild.resources.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\zh-Hans\Microsoft.Testing.Platform.MSBuild.resources.dll +C:\Users\Evan\Documents\GitHub\chemistry-cafe-api\bin\Debug\net8.0\zh-Hant\Microsoft.Testing.Platform.MSBuild.resources.dll diff --git a/obj/Debug/net8.0/Chemistry Cafe API.dll b/obj/Debug/net8.0/Chemistry Cafe API.dll index 57bf300..d90c834 100644 Binary files a/obj/Debug/net8.0/Chemistry Cafe API.dll and b/obj/Debug/net8.0/Chemistry Cafe API.dll differ diff --git a/obj/Debug/net8.0/Chemistry Cafe API.genruntimeconfig.cache b/obj/Debug/net8.0/Chemistry Cafe API.genruntimeconfig.cache index 4944be1..2d1b852 100644 --- a/obj/Debug/net8.0/Chemistry Cafe API.genruntimeconfig.cache +++ b/obj/Debug/net8.0/Chemistry Cafe API.genruntimeconfig.cache @@ -1 +1 @@ -c5ff5e2cf49d6a7d0a41538ad69a9e9c38a2ecbad2f8929e90ca555c3ed72103 +17470d4c6697e5103d3651de49a8cef7d5632e5d98b628ee703171d33d99ac73 diff --git a/obj/Debug/net8.0/Chemistry Cafe API.pdb b/obj/Debug/net8.0/Chemistry Cafe API.pdb index 1f858ed..34f1ec6 100644 Binary files a/obj/Debug/net8.0/Chemistry Cafe API.pdb and b/obj/Debug/net8.0/Chemistry Cafe API.pdb differ diff --git a/obj/Debug/net8.0/Chemistry Cafe API.sourcelink.json b/obj/Debug/net8.0/Chemistry Cafe API.sourcelink.json index fd9fd35..05ca08f 100644 --- a/obj/Debug/net8.0/Chemistry Cafe API.sourcelink.json +++ b/obj/Debug/net8.0/Chemistry Cafe API.sourcelink.json @@ -1 +1 @@ -{"documents":{"C:\\College_Stuff\\2024_Spring\\CSCE482\\Project\\chemistry-cafe-api\\*":"https://raw.githubusercontent.com/NCAR/chemistry-cafe-api/bd526d7e49dee20e9f86dc1b8ac8c51fecb91757/*"}} \ No newline at end of file +{"documents":{"C:\\Users\\Evan\\Documents\\GitHub\\chemistry-cafe-api\\*":"https://raw.githubusercontent.com/NCAR/chemistry-cafe-api/9fc28eb58475245c87b7fb1a1493c6bab0fd4375/*"}} \ No newline at end of file diff --git a/obj/Debug/net8.0/apphost.exe b/obj/Debug/net8.0/apphost.exe index 4c5c9a2..c6a6f5f 100644 Binary files a/obj/Debug/net8.0/apphost.exe and b/obj/Debug/net8.0/apphost.exe differ diff --git a/obj/Debug/net8.0/ref/Chemistry Cafe API.dll b/obj/Debug/net8.0/ref/Chemistry Cafe API.dll index 212d096..1f79918 100644 Binary files a/obj/Debug/net8.0/ref/Chemistry Cafe API.dll and b/obj/Debug/net8.0/ref/Chemistry Cafe API.dll differ diff --git a/obj/Debug/net8.0/refint/Chemistry Cafe API.dll b/obj/Debug/net8.0/refint/Chemistry Cafe API.dll index 212d096..1f79918 100644 Binary files a/obj/Debug/net8.0/refint/Chemistry Cafe API.dll and b/obj/Debug/net8.0/refint/Chemistry Cafe API.dll differ diff --git a/obj/project.assets.json b/obj/project.assets.json index 5fee95e..198f5e1 100644 --- a/obj/project.assets.json +++ b/obj/project.assets.json @@ -2,6 +2,78 @@ "version": 3, "targets": { "net8.0": { + "Microsoft.ApplicationInsights/2.22.0": { + "type": "package", + "dependencies": { + "System.Diagnostics.DiagnosticSource": "5.0.0" + }, + "compile": { + "lib/netstandard2.0/Microsoft.ApplicationInsights.dll": { + "related": ".pdb;.xml" + } + }, + "runtime": { + "lib/netstandard2.0/Microsoft.ApplicationInsights.dll": { + "related": ".pdb;.xml" + } + } + }, + "Microsoft.AspNetCore.Mvc.Testing/8.0.4": { + "type": "package", + "dependencies": { + "Microsoft.AspNetCore.TestHost": "8.0.4", + "Microsoft.Extensions.DependencyModel": "8.0.0", + "Microsoft.Extensions.Hosting": "8.0.0" + }, + "compile": { + "lib/net8.0/Microsoft.AspNetCore.Mvc.Testing.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net8.0/Microsoft.AspNetCore.Mvc.Testing.dll": { + "related": ".xml" + } + }, + "frameworkReferences": [ + "Microsoft.AspNetCore.App" + ], + "build": { + "buildTransitive/net8.0/Microsoft.AspNetCore.Mvc.Testing.targets": {} + } + }, + "Microsoft.AspNetCore.TestHost/8.0.4": { + "type": "package", + "dependencies": { + "System.IO.Pipelines": "8.0.0" + }, + "compile": { + "lib/net8.0/Microsoft.AspNetCore.TestHost.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net8.0/Microsoft.AspNetCore.TestHost.dll": { + "related": ".xml" + } + }, + "frameworkReferences": [ + "Microsoft.AspNetCore.App" + ] + }, + "Microsoft.CodeCoverage/17.9.0": { + "type": "package", + "compile": { + "lib/netcoreapp3.1/Microsoft.VisualStudio.CodeCoverage.Shim.dll": {} + }, + "runtime": { + "lib/netcoreapp3.1/Microsoft.VisualStudio.CodeCoverage.Shim.dll": {} + }, + "build": { + "build/netstandard2.0/Microsoft.CodeCoverage.props": {}, + "build/netstandard2.0/Microsoft.CodeCoverage.targets": {} + } + }, "Microsoft.Extensions.ApiDescription.Server/6.0.5": { "type": "package", "build": { @@ -13,15 +85,19 @@ "buildMultiTargeting/Microsoft.Extensions.ApiDescription.Server.targets": {} } }, - "Microsoft.Extensions.DependencyInjection.Abstractions/8.0.0": { + "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.DependencyInjection.Abstractions.dll": { + "lib/net8.0/Microsoft.Extensions.Configuration.dll": { "related": ".xml" } }, "runtime": { - "lib/net8.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll": { + "lib/net8.0/Microsoft.Extensions.Configuration.dll": { "related": ".xml" } }, @@ -29,240 +105,1680 @@ "buildTransitive/net6.0/_._": {} } }, - "Microsoft.Extensions.Logging.Abstractions/7.0.1": { + "Microsoft.Extensions.Configuration.Abstractions/8.0.0": { "type": "package", + "dependencies": { + "Microsoft.Extensions.Primitives": "8.0.0" + }, "compile": { - "lib/net7.0/Microsoft.Extensions.Logging.Abstractions.dll": { + "lib/net8.0/Microsoft.Extensions.Configuration.Abstractions.dll": { "related": ".xml" } }, "runtime": { - "lib/net7.0/Microsoft.Extensions.Logging.Abstractions.dll": { + "lib/net8.0/Microsoft.Extensions.Configuration.Abstractions.dll": { "related": ".xml" } }, "build": { - "buildTransitive/net6.0/Microsoft.Extensions.Logging.Abstractions.targets": {} + "buildTransitive/net6.0/_._": {} } }, - "Microsoft.OpenApi/1.2.3": { + "Microsoft.Extensions.Configuration.Binder/8.0.0": { "type": "package", + "dependencies": { + "Microsoft.Extensions.Configuration.Abstractions": "8.0.0" + }, "compile": { - "lib/netstandard2.0/Microsoft.OpenApi.dll": { - "related": ".pdb;.xml" + "lib/net8.0/Microsoft.Extensions.Configuration.Binder.dll": { + "related": ".xml" } }, "runtime": { - "lib/netstandard2.0/Microsoft.OpenApi.dll": { - "related": ".pdb;.xml" + "lib/net8.0/Microsoft.Extensions.Configuration.Binder.dll": { + "related": ".xml" } + }, + "build": { + "buildTransitive/netstandard2.0/Microsoft.Extensions.Configuration.Binder.targets": {} } }, - "Microsoft.VisualStudio.Azure.Containers.Tools.Targets/1.19.6": { + "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/Microsoft.Extensions.Configuration.CommandLine.dll": { + "related": ".xml" + } + }, "build": { - "build/Microsoft.VisualStudio.Azure.Containers.Tools.Targets.props": {}, - "build/Microsoft.VisualStudio.Azure.Containers.Tools.Targets.targets": {} + "buildTransitive/net6.0/_._": {} } }, - "MySqlConnector/2.3.5": { + "Microsoft.Extensions.Configuration.EnvironmentVariables/8.0.0": { "type": "package", "dependencies": { - "Microsoft.Extensions.Logging.Abstractions": "7.0.1" + "Microsoft.Extensions.Configuration": "8.0.0", + "Microsoft.Extensions.Configuration.Abstractions": "8.0.0" }, "compile": { - "lib/net8.0/MySqlConnector.dll": { + "lib/net8.0/Microsoft.Extensions.Configuration.EnvironmentVariables.dll": { "related": ".xml" } }, "runtime": { - "lib/net8.0/MySqlConnector.dll": { + "lib/net8.0/Microsoft.Extensions.Configuration.EnvironmentVariables.dll": { "related": ".xml" } + }, + "build": { + "buildTransitive/net6.0/_._": {} } }, - "MySqlConnector.DependencyInjection/2.3.5": { + "Microsoft.Extensions.Configuration.FileExtensions/8.0.0": { "type": "package", "dependencies": { - "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0", - "MySqlConnector": "2.3.5" + "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/net7.0/MySqlConnector.DependencyInjection.dll": { + "lib/net8.0/Microsoft.Extensions.Configuration.FileExtensions.dll": { "related": ".xml" } }, "runtime": { - "lib/net7.0/MySqlConnector.DependencyInjection.dll": { + "lib/net8.0/Microsoft.Extensions.Configuration.FileExtensions.dll": { "related": ".xml" } + }, + "build": { + "buildTransitive/net6.0/_._": {} } }, - "Swashbuckle.AspNetCore/6.5.0": { + "Microsoft.Extensions.Configuration.Json/8.0.0": { "type": "package", "dependencies": { - "Microsoft.Extensions.ApiDescription.Server": "6.0.5", - "Swashbuckle.AspNetCore.Swagger": "6.5.0", - "Swashbuckle.AspNetCore.SwaggerGen": "6.5.0", - "Swashbuckle.AspNetCore.SwaggerUI": "6.5.0" + "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/Microsoft.Extensions.Configuration.Json.dll": { + "related": ".xml" + } }, "build": { - "build/Swashbuckle.AspNetCore.props": {} + "buildTransitive/net6.0/_._": {} } }, - "Swashbuckle.AspNetCore.Swagger/6.5.0": { + "Microsoft.Extensions.Configuration.UserSecrets/8.0.0": { "type": "package", "dependencies": { - "Microsoft.OpenApi": "1.2.3" + "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/net7.0/Swashbuckle.AspNetCore.Swagger.dll": { - "related": ".pdb;.xml" + "lib/net8.0/Microsoft.Extensions.Configuration.UserSecrets.dll": { + "related": ".xml" } }, "runtime": { - "lib/net7.0/Swashbuckle.AspNetCore.Swagger.dll": { - "related": ".pdb;.xml" + "lib/net8.0/Microsoft.Extensions.Configuration.UserSecrets.dll": { + "related": ".xml" } }, - "frameworkReferences": [ - "Microsoft.AspNetCore.App" - ] + "build": { + "buildTransitive/net6.0/Microsoft.Extensions.Configuration.UserSecrets.props": {}, + "buildTransitive/net6.0/Microsoft.Extensions.Configuration.UserSecrets.targets": {} + } }, - "Swashbuckle.AspNetCore.SwaggerGen/6.5.0": { + "Microsoft.Extensions.DependencyInjection/8.0.0": { "type": "package", "dependencies": { - "Swashbuckle.AspNetCore.Swagger": "6.5.0" + "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0" }, "compile": { - "lib/net7.0/Swashbuckle.AspNetCore.SwaggerGen.dll": { - "related": ".pdb;.xml" + "lib/net8.0/Microsoft.Extensions.DependencyInjection.dll": { + "related": ".xml" } }, "runtime": { - "lib/net7.0/Swashbuckle.AspNetCore.SwaggerGen.dll": { - "related": ".pdb;.xml" + "lib/net8.0/Microsoft.Extensions.DependencyInjection.dll": { + "related": ".xml" } + }, + "build": { + "buildTransitive/net6.0/_._": {} } }, - "Swashbuckle.AspNetCore.SwaggerUI/6.5.0": { + "Microsoft.Extensions.DependencyInjection.Abstractions/8.0.0": { "type": "package", "compile": { - "lib/net7.0/Swashbuckle.AspNetCore.SwaggerUI.dll": { - "related": ".pdb;.xml" + "lib/net8.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll": { + "related": ".xml" } }, "runtime": { - "lib/net7.0/Swashbuckle.AspNetCore.SwaggerUI.dll": { - "related": ".pdb;.xml" + "lib/net8.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll": { + "related": ".xml" } }, - "frameworkReferences": [ - "Microsoft.AspNetCore.App" - ] - } - } - }, - "libraries": { - "Microsoft.Extensions.ApiDescription.Server/6.0.5": { - "sha512": "Ckb5EDBUNJdFWyajfXzUIMRkhf52fHZOQuuZg/oiu8y7zDCVwD0iHhew6MnThjHmevanpxL3f5ci2TtHQEN6bw==", - "type": "package", - "path": "microsoft.extensions.apidescription.server/6.0.5", - "hasTools": true, - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "Icon.png", - "build/Microsoft.Extensions.ApiDescription.Server.props", - "build/Microsoft.Extensions.ApiDescription.Server.targets", - "buildMultiTargeting/Microsoft.Extensions.ApiDescription.Server.props", - "buildMultiTargeting/Microsoft.Extensions.ApiDescription.Server.targets", - "microsoft.extensions.apidescription.server.6.0.5.nupkg.sha512", - "microsoft.extensions.apidescription.server.nuspec", - "tools/Newtonsoft.Json.dll", - "tools/dotnet-getdocument.deps.json", - "tools/dotnet-getdocument.dll", - "tools/dotnet-getdocument.runtimeconfig.json", - "tools/net461-x86/GetDocument.Insider.exe", - "tools/net461-x86/GetDocument.Insider.exe.config", - "tools/net461-x86/Microsoft.Win32.Primitives.dll", - "tools/net461-x86/System.AppContext.dll", - "tools/net461-x86/System.Buffers.dll", - "tools/net461-x86/System.Collections.Concurrent.dll", - "tools/net461-x86/System.Collections.NonGeneric.dll", - "tools/net461-x86/System.Collections.Specialized.dll", - "tools/net461-x86/System.Collections.dll", - "tools/net461-x86/System.ComponentModel.EventBasedAsync.dll", - "tools/net461-x86/System.ComponentModel.Primitives.dll", - "tools/net461-x86/System.ComponentModel.TypeConverter.dll", - "tools/net461-x86/System.ComponentModel.dll", - "tools/net461-x86/System.Console.dll", - "tools/net461-x86/System.Data.Common.dll", - "tools/net461-x86/System.Diagnostics.Contracts.dll", - "tools/net461-x86/System.Diagnostics.Debug.dll", - "tools/net461-x86/System.Diagnostics.DiagnosticSource.dll", - "tools/net461-x86/System.Diagnostics.FileVersionInfo.dll", - "tools/net461-x86/System.Diagnostics.Process.dll", - "tools/net461-x86/System.Diagnostics.StackTrace.dll", - "tools/net461-x86/System.Diagnostics.TextWriterTraceListener.dll", - "tools/net461-x86/System.Diagnostics.Tools.dll", - "tools/net461-x86/System.Diagnostics.TraceSource.dll", - "tools/net461-x86/System.Diagnostics.Tracing.dll", - "tools/net461-x86/System.Drawing.Primitives.dll", - "tools/net461-x86/System.Dynamic.Runtime.dll", - "tools/net461-x86/System.Globalization.Calendars.dll", - "tools/net461-x86/System.Globalization.Extensions.dll", - "tools/net461-x86/System.Globalization.dll", - "tools/net461-x86/System.IO.Compression.ZipFile.dll", - "tools/net461-x86/System.IO.Compression.dll", - "tools/net461-x86/System.IO.FileSystem.DriveInfo.dll", - "tools/net461-x86/System.IO.FileSystem.Primitives.dll", - "tools/net461-x86/System.IO.FileSystem.Watcher.dll", - "tools/net461-x86/System.IO.FileSystem.dll", - "tools/net461-x86/System.IO.IsolatedStorage.dll", - "tools/net461-x86/System.IO.MemoryMappedFiles.dll", - "tools/net461-x86/System.IO.Pipes.dll", - "tools/net461-x86/System.IO.UnmanagedMemoryStream.dll", - "tools/net461-x86/System.IO.dll", - "tools/net461-x86/System.Linq.Expressions.dll", - "tools/net461-x86/System.Linq.Parallel.dll", - "tools/net461-x86/System.Linq.Queryable.dll", - "tools/net461-x86/System.Linq.dll", - "tools/net461-x86/System.Memory.dll", - "tools/net461-x86/System.Net.Http.dll", - "tools/net461-x86/System.Net.NameResolution.dll", - "tools/net461-x86/System.Net.NetworkInformation.dll", - "tools/net461-x86/System.Net.Ping.dll", - "tools/net461-x86/System.Net.Primitives.dll", - "tools/net461-x86/System.Net.Requests.dll", - "tools/net461-x86/System.Net.Security.dll", - "tools/net461-x86/System.Net.Sockets.dll", - "tools/net461-x86/System.Net.WebHeaderCollection.dll", - "tools/net461-x86/System.Net.WebSockets.Client.dll", - "tools/net461-x86/System.Net.WebSockets.dll", - "tools/net461-x86/System.Numerics.Vectors.dll", - "tools/net461-x86/System.ObjectModel.dll", - "tools/net461-x86/System.Reflection.Extensions.dll", - "tools/net461-x86/System.Reflection.Primitives.dll", - "tools/net461-x86/System.Reflection.dll", - "tools/net461-x86/System.Resources.Reader.dll", - "tools/net461-x86/System.Resources.ResourceManager.dll", - "tools/net461-x86/System.Resources.Writer.dll", - "tools/net461-x86/System.Runtime.CompilerServices.Unsafe.dll", - "tools/net461-x86/System.Runtime.CompilerServices.VisualC.dll", - "tools/net461-x86/System.Runtime.Extensions.dll", - "tools/net461-x86/System.Runtime.Handles.dll", - "tools/net461-x86/System.Runtime.InteropServices.RuntimeInformation.dll", - "tools/net461-x86/System.Runtime.InteropServices.dll", - "tools/net461-x86/System.Runtime.Numerics.dll", - "tools/net461-x86/System.Runtime.Serialization.Formatters.dll", - "tools/net461-x86/System.Runtime.Serialization.Json.dll", - "tools/net461-x86/System.Runtime.Serialization.Primitives.dll", - "tools/net461-x86/System.Runtime.Serialization.Xml.dll", - "tools/net461-x86/System.Runtime.dll", - "tools/net461-x86/System.Security.Claims.dll", - "tools/net461-x86/System.Security.Cryptography.Algorithms.dll", - "tools/net461-x86/System.Security.Cryptography.Csp.dll", + "build": { + "buildTransitive/net6.0/_._": {} + } + }, + "Microsoft.Extensions.DependencyModel/8.0.0": { + "type": "package", + "dependencies": { + "System.Text.Encodings.Web": "8.0.0", + "System.Text.Json": "8.0.0" + }, + "compile": { + "lib/net8.0/Microsoft.Extensions.DependencyModel.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net8.0/Microsoft.Extensions.DependencyModel.dll": { + "related": ".xml" + } + }, + "build": { + "buildTransitive/net6.0/_._": {} + } + }, + "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/Microsoft.Extensions.Diagnostics.dll": { + "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/Microsoft.Extensions.Diagnostics.Abstractions.dll": { + "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/Microsoft.Extensions.FileProviders.Abstractions.dll": { + "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/Microsoft.Extensions.FileProviders.Physical.dll": { + "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/Microsoft.Extensions.FileSystemGlobbing.dll": { + "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/Microsoft.Extensions.Hosting.dll": { + "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/Microsoft.Extensions.Hosting.Abstractions.dll": { + "related": ".xml" + } + }, + "build": { + "buildTransitive/net6.0/_._": {} + } + }, + "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/Microsoft.Extensions.Logging.Configuration.dll": { + "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/Microsoft.Extensions.Logging.Console.dll": { + "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/Microsoft.Extensions.Logging.Debug.dll": { + "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/Microsoft.Extensions.Logging.EventLog.dll": { + "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/Microsoft.Extensions.Logging.EventSource.dll": { + "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/Microsoft.Extensions.Options.ConfigurationExtensions.dll": { + "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/_._": {} + } + }, + "Microsoft.NET.Test.Sdk/17.9.0": { + "type": "package", + "dependencies": { + "Microsoft.CodeCoverage": "17.9.0", + "Microsoft.TestPlatform.TestHost": "17.9.0" + }, + "compile": { + "lib/netcoreapp3.1/_._": {} + }, + "runtime": { + "lib/netcoreapp3.1/_._": {} + }, + "build": { + "build/netcoreapp3.1/Microsoft.NET.Test.Sdk.props": {}, + "build/netcoreapp3.1/Microsoft.NET.Test.Sdk.targets": {} + }, + "buildMultiTargeting": { + "buildMultiTargeting/Microsoft.NET.Test.Sdk.props": {} + } + }, + "Microsoft.OpenApi/1.2.3": { + "type": "package", + "compile": { + "lib/netstandard2.0/Microsoft.OpenApi.dll": { + "related": ".pdb;.xml" + } + }, + "runtime": { + "lib/netstandard2.0/Microsoft.OpenApi.dll": { + "related": ".pdb;.xml" + } + } + }, + "Microsoft.Testing.Extensions.Telemetry/1.1.0": { + "type": "package", + "dependencies": { + "Microsoft.ApplicationInsights": "2.22.0", + "Microsoft.Testing.Platform": "1.1.0" + }, + "compile": { + "lib/net8.0/Microsoft.Testing.Extensions.Telemetry.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net8.0/Microsoft.Testing.Extensions.Telemetry.dll": { + "related": ".xml" + } + }, + "resource": { + "lib/net8.0/cs/Microsoft.Testing.Extensions.Telemetry.resources.dll": { + "locale": "cs" + }, + "lib/net8.0/de/Microsoft.Testing.Extensions.Telemetry.resources.dll": { + "locale": "de" + }, + "lib/net8.0/es/Microsoft.Testing.Extensions.Telemetry.resources.dll": { + "locale": "es" + }, + "lib/net8.0/fr/Microsoft.Testing.Extensions.Telemetry.resources.dll": { + "locale": "fr" + }, + "lib/net8.0/it/Microsoft.Testing.Extensions.Telemetry.resources.dll": { + "locale": "it" + }, + "lib/net8.0/ja/Microsoft.Testing.Extensions.Telemetry.resources.dll": { + "locale": "ja" + }, + "lib/net8.0/ko/Microsoft.Testing.Extensions.Telemetry.resources.dll": { + "locale": "ko" + }, + "lib/net8.0/pl/Microsoft.Testing.Extensions.Telemetry.resources.dll": { + "locale": "pl" + }, + "lib/net8.0/pt-BR/Microsoft.Testing.Extensions.Telemetry.resources.dll": { + "locale": "pt-BR" + }, + "lib/net8.0/ru/Microsoft.Testing.Extensions.Telemetry.resources.dll": { + "locale": "ru" + }, + "lib/net8.0/tr/Microsoft.Testing.Extensions.Telemetry.resources.dll": { + "locale": "tr" + }, + "lib/net8.0/zh-Hans/Microsoft.Testing.Extensions.Telemetry.resources.dll": { + "locale": "zh-Hans" + }, + "lib/net8.0/zh-Hant/Microsoft.Testing.Extensions.Telemetry.resources.dll": { + "locale": "zh-Hant" + } + }, + "build": { + "buildTransitive/net8.0/Microsoft.Testing.Extensions.Telemetry.props": {} + }, + "buildMultiTargeting": { + "buildMultiTargeting/Microsoft.Testing.Extensions.Telemetry.props": {} + } + }, + "Microsoft.Testing.Extensions.TrxReport.Abstractions/1.1.0": { + "type": "package", + "dependencies": { + "Microsoft.Testing.Platform": "1.1.0" + }, + "compile": { + "lib/net8.0/Microsoft.Testing.Extensions.TrxReport.Abstractions.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net8.0/Microsoft.Testing.Extensions.TrxReport.Abstractions.dll": { + "related": ".xml" + } + } + }, + "Microsoft.Testing.Extensions.VSTestBridge/1.1.0": { + "type": "package", + "dependencies": { + "Microsoft.TestPlatform.ObjectModel": "17.5.0", + "Microsoft.Testing.Extensions.Telemetry": "1.1.0", + "Microsoft.Testing.Extensions.TrxReport.Abstractions": "1.1.0", + "Microsoft.Testing.Platform": "1.1.0" + }, + "compile": { + "lib/net8.0/Microsoft.Testing.Extensions.VSTestBridge.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net8.0/Microsoft.Testing.Extensions.VSTestBridge.dll": { + "related": ".xml" + } + }, + "resource": { + "lib/net8.0/cs/Microsoft.Testing.Extensions.VSTestBridge.resources.dll": { + "locale": "cs" + }, + "lib/net8.0/de/Microsoft.Testing.Extensions.VSTestBridge.resources.dll": { + "locale": "de" + }, + "lib/net8.0/es/Microsoft.Testing.Extensions.VSTestBridge.resources.dll": { + "locale": "es" + }, + "lib/net8.0/fr/Microsoft.Testing.Extensions.VSTestBridge.resources.dll": { + "locale": "fr" + }, + "lib/net8.0/it/Microsoft.Testing.Extensions.VSTestBridge.resources.dll": { + "locale": "it" + }, + "lib/net8.0/ja/Microsoft.Testing.Extensions.VSTestBridge.resources.dll": { + "locale": "ja" + }, + "lib/net8.0/ko/Microsoft.Testing.Extensions.VSTestBridge.resources.dll": { + "locale": "ko" + }, + "lib/net8.0/pl/Microsoft.Testing.Extensions.VSTestBridge.resources.dll": { + "locale": "pl" + }, + "lib/net8.0/pt-BR/Microsoft.Testing.Extensions.VSTestBridge.resources.dll": { + "locale": "pt-BR" + }, + "lib/net8.0/ru/Microsoft.Testing.Extensions.VSTestBridge.resources.dll": { + "locale": "ru" + }, + "lib/net8.0/tr/Microsoft.Testing.Extensions.VSTestBridge.resources.dll": { + "locale": "tr" + }, + "lib/net8.0/zh-Hans/Microsoft.Testing.Extensions.VSTestBridge.resources.dll": { + "locale": "zh-Hans" + }, + "lib/net8.0/zh-Hant/Microsoft.Testing.Extensions.VSTestBridge.resources.dll": { + "locale": "zh-Hant" + } + } + }, + "Microsoft.Testing.Platform/1.1.0": { + "type": "package", + "compile": { + "lib/net8.0/Microsoft.Testing.Platform.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net8.0/Microsoft.Testing.Platform.dll": { + "related": ".xml" + } + }, + "resource": { + "lib/net8.0/cs/Microsoft.Testing.Platform.resources.dll": { + "locale": "cs" + }, + "lib/net8.0/de/Microsoft.Testing.Platform.resources.dll": { + "locale": "de" + }, + "lib/net8.0/es/Microsoft.Testing.Platform.resources.dll": { + "locale": "es" + }, + "lib/net8.0/fr/Microsoft.Testing.Platform.resources.dll": { + "locale": "fr" + }, + "lib/net8.0/it/Microsoft.Testing.Platform.resources.dll": { + "locale": "it" + }, + "lib/net8.0/ja/Microsoft.Testing.Platform.resources.dll": { + "locale": "ja" + }, + "lib/net8.0/ko/Microsoft.Testing.Platform.resources.dll": { + "locale": "ko" + }, + "lib/net8.0/pl/Microsoft.Testing.Platform.resources.dll": { + "locale": "pl" + }, + "lib/net8.0/pt-BR/Microsoft.Testing.Platform.resources.dll": { + "locale": "pt-BR" + }, + "lib/net8.0/ru/Microsoft.Testing.Platform.resources.dll": { + "locale": "ru" + }, + "lib/net8.0/tr/Microsoft.Testing.Platform.resources.dll": { + "locale": "tr" + }, + "lib/net8.0/zh-Hans/Microsoft.Testing.Platform.resources.dll": { + "locale": "zh-Hans" + }, + "lib/net8.0/zh-Hant/Microsoft.Testing.Platform.resources.dll": { + "locale": "zh-Hant" + } + }, + "build": { + "buildTransitive/net8.0/Microsoft.Testing.Platform.props": {} + }, + "buildMultiTargeting": { + "buildMultiTargeting/Microsoft.Testing.Platform.props": {} + } + }, + "Microsoft.Testing.Platform.MSBuild/1.1.0": { + "type": "package", + "dependencies": { + "Microsoft.Testing.Platform": "1.1.0" + }, + "compile": { + "lib/net8.0/Microsoft.Testing.Platform.MSBuild.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net8.0/Microsoft.Testing.Platform.MSBuild.dll": { + "related": ".xml" + } + }, + "resource": { + "lib/net8.0/cs/Microsoft.Testing.Platform.MSBuild.resources.dll": { + "locale": "cs" + }, + "lib/net8.0/de/Microsoft.Testing.Platform.MSBuild.resources.dll": { + "locale": "de" + }, + "lib/net8.0/es/Microsoft.Testing.Platform.MSBuild.resources.dll": { + "locale": "es" + }, + "lib/net8.0/fr/Microsoft.Testing.Platform.MSBuild.resources.dll": { + "locale": "fr" + }, + "lib/net8.0/it/Microsoft.Testing.Platform.MSBuild.resources.dll": { + "locale": "it" + }, + "lib/net8.0/ja/Microsoft.Testing.Platform.MSBuild.resources.dll": { + "locale": "ja" + }, + "lib/net8.0/ko/Microsoft.Testing.Platform.MSBuild.resources.dll": { + "locale": "ko" + }, + "lib/net8.0/pl/Microsoft.Testing.Platform.MSBuild.resources.dll": { + "locale": "pl" + }, + "lib/net8.0/pt-BR/Microsoft.Testing.Platform.MSBuild.resources.dll": { + "locale": "pt-BR" + }, + "lib/net8.0/ru/Microsoft.Testing.Platform.MSBuild.resources.dll": { + "locale": "ru" + }, + "lib/net8.0/tr/Microsoft.Testing.Platform.MSBuild.resources.dll": { + "locale": "tr" + }, + "lib/net8.0/zh-Hans/Microsoft.Testing.Platform.MSBuild.resources.dll": { + "locale": "zh-Hans" + }, + "lib/net8.0/zh-Hant/Microsoft.Testing.Platform.MSBuild.resources.dll": { + "locale": "zh-Hant" + } + }, + "build": { + "buildTransitive/net8.0/Microsoft.Testing.Platform.MSBuild.props": {}, + "buildTransitive/net8.0/Microsoft.Testing.Platform.MSBuild.targets": {} + }, + "buildMultiTargeting": { + "buildMultiTargeting/Microsoft.Testing.Platform.MSBuild.props": {}, + "buildMultiTargeting/Microsoft.Testing.Platform.MSBuild.targets": {} + } + }, + "Microsoft.TestPlatform.ObjectModel/17.9.0": { + "type": "package", + "dependencies": { + "System.Reflection.Metadata": "1.6.0" + }, + "compile": { + "lib/netcoreapp3.1/Microsoft.TestPlatform.CoreUtilities.dll": {}, + "lib/netcoreapp3.1/Microsoft.TestPlatform.PlatformAbstractions.dll": {}, + "lib/netcoreapp3.1/Microsoft.VisualStudio.TestPlatform.ObjectModel.dll": {} + }, + "runtime": { + "lib/netcoreapp3.1/Microsoft.TestPlatform.CoreUtilities.dll": {}, + "lib/netcoreapp3.1/Microsoft.TestPlatform.PlatformAbstractions.dll": {}, + "lib/netcoreapp3.1/Microsoft.VisualStudio.TestPlatform.ObjectModel.dll": {} + }, + "resource": { + "lib/netcoreapp3.1/cs/Microsoft.TestPlatform.CoreUtilities.resources.dll": { + "locale": "cs" + }, + "lib/netcoreapp3.1/cs/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll": { + "locale": "cs" + }, + "lib/netcoreapp3.1/de/Microsoft.TestPlatform.CoreUtilities.resources.dll": { + "locale": "de" + }, + "lib/netcoreapp3.1/de/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll": { + "locale": "de" + }, + "lib/netcoreapp3.1/es/Microsoft.TestPlatform.CoreUtilities.resources.dll": { + "locale": "es" + }, + "lib/netcoreapp3.1/es/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll": { + "locale": "es" + }, + "lib/netcoreapp3.1/fr/Microsoft.TestPlatform.CoreUtilities.resources.dll": { + "locale": "fr" + }, + "lib/netcoreapp3.1/fr/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll": { + "locale": "fr" + }, + "lib/netcoreapp3.1/it/Microsoft.TestPlatform.CoreUtilities.resources.dll": { + "locale": "it" + }, + "lib/netcoreapp3.1/it/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll": { + "locale": "it" + }, + "lib/netcoreapp3.1/ja/Microsoft.TestPlatform.CoreUtilities.resources.dll": { + "locale": "ja" + }, + "lib/netcoreapp3.1/ja/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll": { + "locale": "ja" + }, + "lib/netcoreapp3.1/ko/Microsoft.TestPlatform.CoreUtilities.resources.dll": { + "locale": "ko" + }, + "lib/netcoreapp3.1/ko/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll": { + "locale": "ko" + }, + "lib/netcoreapp3.1/pl/Microsoft.TestPlatform.CoreUtilities.resources.dll": { + "locale": "pl" + }, + "lib/netcoreapp3.1/pl/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll": { + "locale": "pl" + }, + "lib/netcoreapp3.1/pt-BR/Microsoft.TestPlatform.CoreUtilities.resources.dll": { + "locale": "pt-BR" + }, + "lib/netcoreapp3.1/pt-BR/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll": { + "locale": "pt-BR" + }, + "lib/netcoreapp3.1/ru/Microsoft.TestPlatform.CoreUtilities.resources.dll": { + "locale": "ru" + }, + "lib/netcoreapp3.1/ru/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll": { + "locale": "ru" + }, + "lib/netcoreapp3.1/tr/Microsoft.TestPlatform.CoreUtilities.resources.dll": { + "locale": "tr" + }, + "lib/netcoreapp3.1/tr/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll": { + "locale": "tr" + }, + "lib/netcoreapp3.1/zh-Hans/Microsoft.TestPlatform.CoreUtilities.resources.dll": { + "locale": "zh-Hans" + }, + "lib/netcoreapp3.1/zh-Hans/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll": { + "locale": "zh-Hans" + }, + "lib/netcoreapp3.1/zh-Hant/Microsoft.TestPlatform.CoreUtilities.resources.dll": { + "locale": "zh-Hant" + }, + "lib/netcoreapp3.1/zh-Hant/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll": { + "locale": "zh-Hant" + } + } + }, + "Microsoft.TestPlatform.TestHost/17.9.0": { + "type": "package", + "dependencies": { + "Microsoft.TestPlatform.ObjectModel": "17.9.0", + "Newtonsoft.Json": "13.0.1" + }, + "compile": { + "lib/netcoreapp3.1/Microsoft.TestPlatform.CommunicationUtilities.dll": {}, + "lib/netcoreapp3.1/Microsoft.TestPlatform.CoreUtilities.dll": {}, + "lib/netcoreapp3.1/Microsoft.TestPlatform.CrossPlatEngine.dll": {}, + "lib/netcoreapp3.1/Microsoft.TestPlatform.PlatformAbstractions.dll": {}, + "lib/netcoreapp3.1/Microsoft.TestPlatform.Utilities.dll": {}, + "lib/netcoreapp3.1/Microsoft.VisualStudio.TestPlatform.Common.dll": {}, + "lib/netcoreapp3.1/Microsoft.VisualStudio.TestPlatform.ObjectModel.dll": {}, + "lib/netcoreapp3.1/testhost.dll": { + "related": ".deps.json" + } + }, + "runtime": { + "lib/netcoreapp3.1/Microsoft.TestPlatform.CommunicationUtilities.dll": {}, + "lib/netcoreapp3.1/Microsoft.TestPlatform.CoreUtilities.dll": {}, + "lib/netcoreapp3.1/Microsoft.TestPlatform.CrossPlatEngine.dll": {}, + "lib/netcoreapp3.1/Microsoft.TestPlatform.PlatformAbstractions.dll": {}, + "lib/netcoreapp3.1/Microsoft.TestPlatform.Utilities.dll": {}, + "lib/netcoreapp3.1/Microsoft.VisualStudio.TestPlatform.Common.dll": {}, + "lib/netcoreapp3.1/Microsoft.VisualStudio.TestPlatform.ObjectModel.dll": {}, + "lib/netcoreapp3.1/testhost.dll": { + "related": ".deps.json" + } + }, + "resource": { + "lib/netcoreapp3.1/cs/Microsoft.TestPlatform.CommunicationUtilities.resources.dll": { + "locale": "cs" + }, + "lib/netcoreapp3.1/cs/Microsoft.TestPlatform.CrossPlatEngine.resources.dll": { + "locale": "cs" + }, + "lib/netcoreapp3.1/cs/Microsoft.VisualStudio.TestPlatform.Common.resources.dll": { + "locale": "cs" + }, + "lib/netcoreapp3.1/de/Microsoft.TestPlatform.CommunicationUtilities.resources.dll": { + "locale": "de" + }, + "lib/netcoreapp3.1/de/Microsoft.TestPlatform.CrossPlatEngine.resources.dll": { + "locale": "de" + }, + "lib/netcoreapp3.1/de/Microsoft.VisualStudio.TestPlatform.Common.resources.dll": { + "locale": "de" + }, + "lib/netcoreapp3.1/es/Microsoft.TestPlatform.CommunicationUtilities.resources.dll": { + "locale": "es" + }, + "lib/netcoreapp3.1/es/Microsoft.TestPlatform.CrossPlatEngine.resources.dll": { + "locale": "es" + }, + "lib/netcoreapp3.1/es/Microsoft.VisualStudio.TestPlatform.Common.resources.dll": { + "locale": "es" + }, + "lib/netcoreapp3.1/fr/Microsoft.TestPlatform.CommunicationUtilities.resources.dll": { + "locale": "fr" + }, + "lib/netcoreapp3.1/fr/Microsoft.TestPlatform.CrossPlatEngine.resources.dll": { + "locale": "fr" + }, + "lib/netcoreapp3.1/fr/Microsoft.VisualStudio.TestPlatform.Common.resources.dll": { + "locale": "fr" + }, + "lib/netcoreapp3.1/it/Microsoft.TestPlatform.CommunicationUtilities.resources.dll": { + "locale": "it" + }, + "lib/netcoreapp3.1/it/Microsoft.TestPlatform.CrossPlatEngine.resources.dll": { + "locale": "it" + }, + "lib/netcoreapp3.1/it/Microsoft.VisualStudio.TestPlatform.Common.resources.dll": { + "locale": "it" + }, + "lib/netcoreapp3.1/ja/Microsoft.TestPlatform.CommunicationUtilities.resources.dll": { + "locale": "ja" + }, + "lib/netcoreapp3.1/ja/Microsoft.TestPlatform.CrossPlatEngine.resources.dll": { + "locale": "ja" + }, + "lib/netcoreapp3.1/ja/Microsoft.VisualStudio.TestPlatform.Common.resources.dll": { + "locale": "ja" + }, + "lib/netcoreapp3.1/ko/Microsoft.TestPlatform.CommunicationUtilities.resources.dll": { + "locale": "ko" + }, + "lib/netcoreapp3.1/ko/Microsoft.TestPlatform.CrossPlatEngine.resources.dll": { + "locale": "ko" + }, + "lib/netcoreapp3.1/ko/Microsoft.VisualStudio.TestPlatform.Common.resources.dll": { + "locale": "ko" + }, + "lib/netcoreapp3.1/pl/Microsoft.TestPlatform.CommunicationUtilities.resources.dll": { + "locale": "pl" + }, + "lib/netcoreapp3.1/pl/Microsoft.TestPlatform.CrossPlatEngine.resources.dll": { + "locale": "pl" + }, + "lib/netcoreapp3.1/pl/Microsoft.VisualStudio.TestPlatform.Common.resources.dll": { + "locale": "pl" + }, + "lib/netcoreapp3.1/pt-BR/Microsoft.TestPlatform.CommunicationUtilities.resources.dll": { + "locale": "pt-BR" + }, + "lib/netcoreapp3.1/pt-BR/Microsoft.TestPlatform.CrossPlatEngine.resources.dll": { + "locale": "pt-BR" + }, + "lib/netcoreapp3.1/pt-BR/Microsoft.VisualStudio.TestPlatform.Common.resources.dll": { + "locale": "pt-BR" + }, + "lib/netcoreapp3.1/ru/Microsoft.TestPlatform.CommunicationUtilities.resources.dll": { + "locale": "ru" + }, + "lib/netcoreapp3.1/ru/Microsoft.TestPlatform.CrossPlatEngine.resources.dll": { + "locale": "ru" + }, + "lib/netcoreapp3.1/ru/Microsoft.VisualStudio.TestPlatform.Common.resources.dll": { + "locale": "ru" + }, + "lib/netcoreapp3.1/tr/Microsoft.TestPlatform.CommunicationUtilities.resources.dll": { + "locale": "tr" + }, + "lib/netcoreapp3.1/tr/Microsoft.TestPlatform.CrossPlatEngine.resources.dll": { + "locale": "tr" + }, + "lib/netcoreapp3.1/tr/Microsoft.VisualStudio.TestPlatform.Common.resources.dll": { + "locale": "tr" + }, + "lib/netcoreapp3.1/zh-Hans/Microsoft.TestPlatform.CommunicationUtilities.resources.dll": { + "locale": "zh-Hans" + }, + "lib/netcoreapp3.1/zh-Hans/Microsoft.TestPlatform.CrossPlatEngine.resources.dll": { + "locale": "zh-Hans" + }, + "lib/netcoreapp3.1/zh-Hans/Microsoft.VisualStudio.TestPlatform.Common.resources.dll": { + "locale": "zh-Hans" + }, + "lib/netcoreapp3.1/zh-Hant/Microsoft.TestPlatform.CommunicationUtilities.resources.dll": { + "locale": "zh-Hant" + }, + "lib/netcoreapp3.1/zh-Hant/Microsoft.TestPlatform.CrossPlatEngine.resources.dll": { + "locale": "zh-Hant" + }, + "lib/netcoreapp3.1/zh-Hant/Microsoft.VisualStudio.TestPlatform.Common.resources.dll": { + "locale": "zh-Hant" + } + }, + "build": { + "build/netcoreapp3.1/Microsoft.TestPlatform.TestHost.props": {} + } + }, + "Microsoft.VisualStudio.Azure.Containers.Tools.Targets/1.19.6": { + "type": "package", + "build": { + "build/Microsoft.VisualStudio.Azure.Containers.Tools.Targets.props": {}, + "build/Microsoft.VisualStudio.Azure.Containers.Tools.Targets.targets": {} + } + }, + "MSTest.TestAdapter/3.3.1": { + "type": "package", + "dependencies": { + "Microsoft.Testing.Extensions.VSTestBridge": "1.1.0", + "Microsoft.Testing.Platform.MSBuild": "1.1.0" + }, + "build": { + "build/net8.0/MSTest.TestAdapter.props": {}, + "build/net8.0/MSTest.TestAdapter.targets": {} + } + }, + "MSTest.TestFramework/3.3.1": { + "type": "package", + "compile": { + "lib/net8.0/Microsoft.VisualStudio.TestPlatform.TestFramework.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net8.0/Microsoft.VisualStudio.TestPlatform.TestFramework.dll": { + "related": ".xml" + } + }, + "resource": { + "lib/net8.0/cs/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll": { + "locale": "cs" + }, + "lib/net8.0/de/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll": { + "locale": "de" + }, + "lib/net8.0/es/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll": { + "locale": "es" + }, + "lib/net8.0/fr/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll": { + "locale": "fr" + }, + "lib/net8.0/it/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll": { + "locale": "it" + }, + "lib/net8.0/ja/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll": { + "locale": "ja" + }, + "lib/net8.0/ko/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll": { + "locale": "ko" + }, + "lib/net8.0/pl/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll": { + "locale": "pl" + }, + "lib/net8.0/pt-BR/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll": { + "locale": "pt-BR" + }, + "lib/net8.0/ru/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll": { + "locale": "ru" + }, + "lib/net8.0/tr/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll": { + "locale": "tr" + }, + "lib/net8.0/zh-Hans/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll": { + "locale": "zh-Hans" + }, + "lib/net8.0/zh-Hant/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll": { + "locale": "zh-Hant" + } + }, + "build": { + "build/net8.0/MSTest.TestFramework.targets": {} + } + }, + "MySqlConnector/2.3.5": { + "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" + } + } + }, + "MySqlConnector.DependencyInjection/2.3.5": { + "type": "package", + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0", + "MySqlConnector": "2.3.5" + }, + "compile": { + "lib/net7.0/MySqlConnector.DependencyInjection.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net7.0/MySqlConnector.DependencyInjection.dll": { + "related": ".xml" + } + } + }, + "Newtonsoft.Json/13.0.1": { + "type": "package", + "compile": { + "lib/netstandard2.0/Newtonsoft.Json.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard2.0/Newtonsoft.Json.dll": { + "related": ".xml" + } + } + }, + "Swashbuckle.AspNetCore/6.5.0": { + "type": "package", + "dependencies": { + "Microsoft.Extensions.ApiDescription.Server": "6.0.5", + "Swashbuckle.AspNetCore.Swagger": "6.5.0", + "Swashbuckle.AspNetCore.SwaggerGen": "6.5.0", + "Swashbuckle.AspNetCore.SwaggerUI": "6.5.0" + }, + "build": { + "build/Swashbuckle.AspNetCore.props": {} + } + }, + "Swashbuckle.AspNetCore.Swagger/6.5.0": { + "type": "package", + "dependencies": { + "Microsoft.OpenApi": "1.2.3" + }, + "compile": { + "lib/net7.0/Swashbuckle.AspNetCore.Swagger.dll": { + "related": ".pdb;.xml" + } + }, + "runtime": { + "lib/net7.0/Swashbuckle.AspNetCore.Swagger.dll": { + "related": ".pdb;.xml" + } + }, + "frameworkReferences": [ + "Microsoft.AspNetCore.App" + ] + }, + "Swashbuckle.AspNetCore.SwaggerGen/6.5.0": { + "type": "package", + "dependencies": { + "Swashbuckle.AspNetCore.Swagger": "6.5.0" + }, + "compile": { + "lib/net7.0/Swashbuckle.AspNetCore.SwaggerGen.dll": { + "related": ".pdb;.xml" + } + }, + "runtime": { + "lib/net7.0/Swashbuckle.AspNetCore.SwaggerGen.dll": { + "related": ".pdb;.xml" + } + } + }, + "Swashbuckle.AspNetCore.SwaggerUI/6.5.0": { + "type": "package", + "compile": { + "lib/net7.0/Swashbuckle.AspNetCore.SwaggerUI.dll": { + "related": ".pdb;.xml" + } + }, + "runtime": { + "lib/net7.0/Swashbuckle.AspNetCore.SwaggerUI.dll": { + "related": ".pdb;.xml" + } + }, + "frameworkReferences": [ + "Microsoft.AspNetCore.App" + ] + }, + "System.Diagnostics.DiagnosticSource/8.0.0": { + "type": "package", + "compile": { + "lib/net8.0/System.Diagnostics.DiagnosticSource.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net8.0/System.Diagnostics.DiagnosticSource.dll": { + "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/System.Diagnostics.EventLog.dll": { + "related": ".xml" + } + }, + "build": { + "buildTransitive/net6.0/_._": {} + }, + "runtimeTargets": { + "runtimes/win/lib/net8.0/System.Diagnostics.EventLog.Messages.dll": { + "assetType": "runtime", + "rid": "win" + }, + "runtimes/win/lib/net8.0/System.Diagnostics.EventLog.dll": { + "assetType": "runtime", + "rid": "win" + } + } + }, + "System.IO.Pipelines/8.0.0": { + "type": "package", + "compile": { + "lib/net8.0/System.IO.Pipelines.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net8.0/System.IO.Pipelines.dll": { + "related": ".xml" + } + }, + "build": { + "buildTransitive/net6.0/_._": {} + } + }, + "System.Reflection.Metadata/1.6.0": { + "type": "package", + "compile": { + "lib/netstandard2.0/System.Reflection.Metadata.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard2.0/System.Reflection.Metadata.dll": { + "related": ".xml" + } + } + }, + "System.Text.Encodings.Web/8.0.0": { + "type": "package", + "compile": { + "lib/net8.0/System.Text.Encodings.Web.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net8.0/System.Text.Encodings.Web.dll": { + "related": ".xml" + } + }, + "build": { + "buildTransitive/net6.0/_._": {} + }, + "runtimeTargets": { + "runtimes/browser/lib/net8.0/System.Text.Encodings.Web.dll": { + "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/System.Text.Json.dll": { + "related": ".xml" + } + }, + "build": { + "buildTransitive/net6.0/System.Text.Json.targets": {} + } + }, + "xunit.abstractions/2.0.3": { + "type": "package", + "compile": { + "lib/netstandard2.0/xunit.abstractions.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard2.0/xunit.abstractions.dll": { + "related": ".xml" + } + } + }, + "xunit.extensibility.core/2.7.1": { + "type": "package", + "dependencies": { + "xunit.abstractions": "2.0.3" + }, + "compile": { + "lib/netstandard1.1/xunit.core.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard1.1/xunit.core.dll": { + "related": ".xml" + } + } + } + } + }, + "libraries": { + "Microsoft.ApplicationInsights/2.22.0": { + "sha512": "3AOM9bZtku7RQwHyMEY3tQMrHIgjcfRDa6YQpd/QG2LDGvMydSlL9Di+8LLMt7J2RDdfJ7/2jdYv6yHcMJAnNw==", + "type": "package", + "path": "microsoft.applicationinsights/2.22.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "icon.png", + "lib/net452/Microsoft.ApplicationInsights.dll", + "lib/net452/Microsoft.ApplicationInsights.pdb", + "lib/net452/Microsoft.ApplicationInsights.xml", + "lib/net46/Microsoft.ApplicationInsights.dll", + "lib/net46/Microsoft.ApplicationInsights.pdb", + "lib/net46/Microsoft.ApplicationInsights.xml", + "lib/netstandard2.0/Microsoft.ApplicationInsights.dll", + "lib/netstandard2.0/Microsoft.ApplicationInsights.pdb", + "lib/netstandard2.0/Microsoft.ApplicationInsights.xml", + "microsoft.applicationinsights.2.22.0.nupkg.sha512", + "microsoft.applicationinsights.nuspec" + ] + }, + "Microsoft.AspNetCore.Mvc.Testing/8.0.4": { + "sha512": "e6IVsUq7zmAO/T4GGd00j1yxh6PBHF1PlQLaiFV/nM1jePH7Rbu+zVoXCRUDC2KOlHnPCym+eqFFlZkNNO2CvQ==", + "type": "package", + "path": "microsoft.aspnetcore.mvc.testing/8.0.4", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "THIRD-PARTY-NOTICES.TXT", + "build/net8.0/Microsoft.AspNetCore.Mvc.Testing.targets", + "buildTransitive/net8.0/Microsoft.AspNetCore.Mvc.Testing.targets", + "lib/net8.0/Microsoft.AspNetCore.Mvc.Testing.dll", + "lib/net8.0/Microsoft.AspNetCore.Mvc.Testing.xml", + "microsoft.aspnetcore.mvc.testing.8.0.4.nupkg.sha512", + "microsoft.aspnetcore.mvc.testing.nuspec", + "tasks/netstandard2.0/Microsoft.AspNetCore.Mvc.Testing.Tasks.dll" + ] + }, + "Microsoft.AspNetCore.TestHost/8.0.4": { + "sha512": "NQ5kHSo0aazGFbZ/3J2Fr/uKtOd43H3vJLoXoMY9GXUQppbfXco3zrYF9uBB7zkLsuFh9McBln1izgycYGscUA==", + "type": "package", + "path": "microsoft.aspnetcore.testhost/8.0.4", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "THIRD-PARTY-NOTICES.TXT", + "lib/net8.0/Microsoft.AspNetCore.TestHost.dll", + "lib/net8.0/Microsoft.AspNetCore.TestHost.xml", + "microsoft.aspnetcore.testhost.8.0.4.nupkg.sha512", + "microsoft.aspnetcore.testhost.nuspec" + ] + }, + "Microsoft.CodeCoverage/17.9.0": { + "sha512": "RGD37ZSrratfScYXm7M0HjvxMxZyWZL4jm+XgMZbkIY1UPgjUpbNA/t+WTGj/rC/0Hm9A3IrH3ywbKZkOCnoZA==", + "type": "package", + "path": "microsoft.codecoverage/17.9.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "LICENSE_MIT.txt", + "ThirdPartyNotices.txt", + "build/netstandard2.0/CodeCoverage/CodeCoverage.config", + "build/netstandard2.0/CodeCoverage/CodeCoverage.exe", + "build/netstandard2.0/CodeCoverage/VanguardInstrumentationProfiler_x86.config", + "build/netstandard2.0/CodeCoverage/amd64/CodeCoverage.exe", + "build/netstandard2.0/CodeCoverage/amd64/VanguardInstrumentationProfiler_x64.config", + "build/netstandard2.0/CodeCoverage/amd64/covrun64.dll", + "build/netstandard2.0/CodeCoverage/amd64/msdia140.dll", + "build/netstandard2.0/CodeCoverage/arm64/VanguardInstrumentationProfiler_arm64.config", + "build/netstandard2.0/CodeCoverage/arm64/covrunarm64.dll", + "build/netstandard2.0/CodeCoverage/arm64/msdia140.dll", + "build/netstandard2.0/CodeCoverage/codecoveragemessages.dll", + "build/netstandard2.0/CodeCoverage/coreclr/Microsoft.VisualStudio.CodeCoverage.Shim.dll", + "build/netstandard2.0/CodeCoverage/covrun32.dll", + "build/netstandard2.0/CodeCoverage/msdia140.dll", + "build/netstandard2.0/InstrumentationEngine/alpine/x64/VanguardInstrumentationProfiler_x64.config", + "build/netstandard2.0/InstrumentationEngine/alpine/x64/libCoverageInstrumentationMethod.so", + "build/netstandard2.0/InstrumentationEngine/alpine/x64/libInstrumentationEngine.so", + "build/netstandard2.0/InstrumentationEngine/arm64/MicrosoftInstrumentationEngine_arm64.dll", + "build/netstandard2.0/InstrumentationEngine/macos/x64/VanguardInstrumentationProfiler_x64.config", + "build/netstandard2.0/InstrumentationEngine/macos/x64/libCoverageInstrumentationMethod.dylib", + "build/netstandard2.0/InstrumentationEngine/macos/x64/libInstrumentationEngine.dylib", + "build/netstandard2.0/InstrumentationEngine/ubuntu/x64/VanguardInstrumentationProfiler_x64.config", + "build/netstandard2.0/InstrumentationEngine/ubuntu/x64/libCoverageInstrumentationMethod.so", + "build/netstandard2.0/InstrumentationEngine/ubuntu/x64/libInstrumentationEngine.so", + "build/netstandard2.0/InstrumentationEngine/x64/MicrosoftInstrumentationEngine_x64.dll", + "build/netstandard2.0/InstrumentationEngine/x86/MicrosoftInstrumentationEngine_x86.dll", + "build/netstandard2.0/Microsoft.CodeCoverage.Core.dll", + "build/netstandard2.0/Microsoft.CodeCoverage.Instrumentation.dll", + "build/netstandard2.0/Microsoft.CodeCoverage.Interprocess.dll", + "build/netstandard2.0/Microsoft.CodeCoverage.props", + "build/netstandard2.0/Microsoft.CodeCoverage.targets", + "build/netstandard2.0/Microsoft.DiaSymReader.dll", + "build/netstandard2.0/Microsoft.VisualStudio.TraceDataCollector.dll", + "build/netstandard2.0/Mono.Cecil.Pdb.dll", + "build/netstandard2.0/Mono.Cecil.Rocks.dll", + "build/netstandard2.0/Mono.Cecil.dll", + "build/netstandard2.0/ThirdPartyNotices.txt", + "build/netstandard2.0/cs/Microsoft.VisualStudio.TraceDataCollector.resources.dll", + "build/netstandard2.0/de/Microsoft.VisualStudio.TraceDataCollector.resources.dll", + "build/netstandard2.0/es/Microsoft.VisualStudio.TraceDataCollector.resources.dll", + "build/netstandard2.0/fr/Microsoft.VisualStudio.TraceDataCollector.resources.dll", + "build/netstandard2.0/it/Microsoft.VisualStudio.TraceDataCollector.resources.dll", + "build/netstandard2.0/ja/Microsoft.VisualStudio.TraceDataCollector.resources.dll", + "build/netstandard2.0/ko/Microsoft.VisualStudio.TraceDataCollector.resources.dll", + "build/netstandard2.0/pl/Microsoft.VisualStudio.TraceDataCollector.resources.dll", + "build/netstandard2.0/pt-BR/Microsoft.VisualStudio.TraceDataCollector.resources.dll", + "build/netstandard2.0/ru/Microsoft.VisualStudio.TraceDataCollector.resources.dll", + "build/netstandard2.0/tr/Microsoft.VisualStudio.TraceDataCollector.resources.dll", + "build/netstandard2.0/zh-Hans/Microsoft.VisualStudio.TraceDataCollector.resources.dll", + "build/netstandard2.0/zh-Hant/Microsoft.VisualStudio.TraceDataCollector.resources.dll", + "lib/net462/Microsoft.VisualStudio.CodeCoverage.Shim.dll", + "lib/netcoreapp3.1/Microsoft.VisualStudio.CodeCoverage.Shim.dll", + "microsoft.codecoverage.17.9.0.nupkg.sha512", + "microsoft.codecoverage.nuspec" + ] + }, + "Microsoft.Extensions.ApiDescription.Server/6.0.5": { + "sha512": "Ckb5EDBUNJdFWyajfXzUIMRkhf52fHZOQuuZg/oiu8y7zDCVwD0iHhew6MnThjHmevanpxL3f5ci2TtHQEN6bw==", + "type": "package", + "path": "microsoft.extensions.apidescription.server/6.0.5", + "hasTools": true, + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "build/Microsoft.Extensions.ApiDescription.Server.props", + "build/Microsoft.Extensions.ApiDescription.Server.targets", + "buildMultiTargeting/Microsoft.Extensions.ApiDescription.Server.props", + "buildMultiTargeting/Microsoft.Extensions.ApiDescription.Server.targets", + "microsoft.extensions.apidescription.server.6.0.5.nupkg.sha512", + "microsoft.extensions.apidescription.server.nuspec", + "tools/Newtonsoft.Json.dll", + "tools/dotnet-getdocument.deps.json", + "tools/dotnet-getdocument.dll", + "tools/dotnet-getdocument.runtimeconfig.json", + "tools/net461-x86/GetDocument.Insider.exe", + "tools/net461-x86/GetDocument.Insider.exe.config", + "tools/net461-x86/Microsoft.Win32.Primitives.dll", + "tools/net461-x86/System.AppContext.dll", + "tools/net461-x86/System.Buffers.dll", + "tools/net461-x86/System.Collections.Concurrent.dll", + "tools/net461-x86/System.Collections.NonGeneric.dll", + "tools/net461-x86/System.Collections.Specialized.dll", + "tools/net461-x86/System.Collections.dll", + "tools/net461-x86/System.ComponentModel.EventBasedAsync.dll", + "tools/net461-x86/System.ComponentModel.Primitives.dll", + "tools/net461-x86/System.ComponentModel.TypeConverter.dll", + "tools/net461-x86/System.ComponentModel.dll", + "tools/net461-x86/System.Console.dll", + "tools/net461-x86/System.Data.Common.dll", + "tools/net461-x86/System.Diagnostics.Contracts.dll", + "tools/net461-x86/System.Diagnostics.Debug.dll", + "tools/net461-x86/System.Diagnostics.DiagnosticSource.dll", + "tools/net461-x86/System.Diagnostics.FileVersionInfo.dll", + "tools/net461-x86/System.Diagnostics.Process.dll", + "tools/net461-x86/System.Diagnostics.StackTrace.dll", + "tools/net461-x86/System.Diagnostics.TextWriterTraceListener.dll", + "tools/net461-x86/System.Diagnostics.Tools.dll", + "tools/net461-x86/System.Diagnostics.TraceSource.dll", + "tools/net461-x86/System.Diagnostics.Tracing.dll", + "tools/net461-x86/System.Drawing.Primitives.dll", + "tools/net461-x86/System.Dynamic.Runtime.dll", + "tools/net461-x86/System.Globalization.Calendars.dll", + "tools/net461-x86/System.Globalization.Extensions.dll", + "tools/net461-x86/System.Globalization.dll", + "tools/net461-x86/System.IO.Compression.ZipFile.dll", + "tools/net461-x86/System.IO.Compression.dll", + "tools/net461-x86/System.IO.FileSystem.DriveInfo.dll", + "tools/net461-x86/System.IO.FileSystem.Primitives.dll", + "tools/net461-x86/System.IO.FileSystem.Watcher.dll", + "tools/net461-x86/System.IO.FileSystem.dll", + "tools/net461-x86/System.IO.IsolatedStorage.dll", + "tools/net461-x86/System.IO.MemoryMappedFiles.dll", + "tools/net461-x86/System.IO.Pipes.dll", + "tools/net461-x86/System.IO.UnmanagedMemoryStream.dll", + "tools/net461-x86/System.IO.dll", + "tools/net461-x86/System.Linq.Expressions.dll", + "tools/net461-x86/System.Linq.Parallel.dll", + "tools/net461-x86/System.Linq.Queryable.dll", + "tools/net461-x86/System.Linq.dll", + "tools/net461-x86/System.Memory.dll", + "tools/net461-x86/System.Net.Http.dll", + "tools/net461-x86/System.Net.NameResolution.dll", + "tools/net461-x86/System.Net.NetworkInformation.dll", + "tools/net461-x86/System.Net.Ping.dll", + "tools/net461-x86/System.Net.Primitives.dll", + "tools/net461-x86/System.Net.Requests.dll", + "tools/net461-x86/System.Net.Security.dll", + "tools/net461-x86/System.Net.Sockets.dll", + "tools/net461-x86/System.Net.WebHeaderCollection.dll", + "tools/net461-x86/System.Net.WebSockets.Client.dll", + "tools/net461-x86/System.Net.WebSockets.dll", + "tools/net461-x86/System.Numerics.Vectors.dll", + "tools/net461-x86/System.ObjectModel.dll", + "tools/net461-x86/System.Reflection.Extensions.dll", + "tools/net461-x86/System.Reflection.Primitives.dll", + "tools/net461-x86/System.Reflection.dll", + "tools/net461-x86/System.Resources.Reader.dll", + "tools/net461-x86/System.Resources.ResourceManager.dll", + "tools/net461-x86/System.Resources.Writer.dll", + "tools/net461-x86/System.Runtime.CompilerServices.Unsafe.dll", + "tools/net461-x86/System.Runtime.CompilerServices.VisualC.dll", + "tools/net461-x86/System.Runtime.Extensions.dll", + "tools/net461-x86/System.Runtime.Handles.dll", + "tools/net461-x86/System.Runtime.InteropServices.RuntimeInformation.dll", + "tools/net461-x86/System.Runtime.InteropServices.dll", + "tools/net461-x86/System.Runtime.Numerics.dll", + "tools/net461-x86/System.Runtime.Serialization.Formatters.dll", + "tools/net461-x86/System.Runtime.Serialization.Json.dll", + "tools/net461-x86/System.Runtime.Serialization.Primitives.dll", + "tools/net461-x86/System.Runtime.Serialization.Xml.dll", + "tools/net461-x86/System.Runtime.dll", + "tools/net461-x86/System.Security.Claims.dll", + "tools/net461-x86/System.Security.Cryptography.Algorithms.dll", + "tools/net461-x86/System.Security.Cryptography.Csp.dll", "tools/net461-x86/System.Security.Cryptography.Encoding.dll", "tools/net461-x86/System.Security.Cryptography.Primitives.dll", "tools/net461-x86/System.Security.Cryptography.X509Certificates.dll", @@ -395,10 +1911,870 @@ "tools/netcoreapp2.1/System.Diagnostics.DiagnosticSource.dll" ] }, - "Microsoft.Extensions.DependencyInjection.Abstractions/8.0.0": { - "sha512": "cjWrLkJXK0rs4zofsK4bSdg+jhDLTaxrkXu4gS6Y7MAlCvRyNNgwY/lJi5RDlQOnSZweHqoyvgvbdvQsRIW+hg==", + "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/8.0.0": { + "sha512": "NSmDw3K0ozNDgShSIpsZcbFIzBX4w28nDag+TfaQujkXGazBm+lid5onlWoCBy4VsLxqnnKjEBbGSJVWJMf43g==", + "type": "package", + "path": "microsoft.extensions.dependencymodel/8.0.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "LICENSE.TXT", + "PACKAGE.md", + "THIRD-PARTY-NOTICES.TXT", + "buildTransitive/net461/Microsoft.Extensions.DependencyModel.targets", + "buildTransitive/net462/_._", + "buildTransitive/net6.0/_._", + "buildTransitive/netcoreapp2.0/Microsoft.Extensions.DependencyModel.targets", + "lib/net462/Microsoft.Extensions.DependencyModel.dll", + "lib/net462/Microsoft.Extensions.DependencyModel.xml", + "lib/net6.0/Microsoft.Extensions.DependencyModel.dll", + "lib/net6.0/Microsoft.Extensions.DependencyModel.xml", + "lib/net7.0/Microsoft.Extensions.DependencyModel.dll", + "lib/net7.0/Microsoft.Extensions.DependencyModel.xml", + "lib/net8.0/Microsoft.Extensions.DependencyModel.dll", + "lib/net8.0/Microsoft.Extensions.DependencyModel.xml", + "lib/netstandard2.0/Microsoft.Extensions.DependencyModel.dll", + "lib/netstandard2.0/Microsoft.Extensions.DependencyModel.xml", + "microsoft.extensions.dependencymodel.8.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.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.dependencyinjection.abstractions/8.0.0", + "path": "microsoft.extensions.options.configurationextensions/8.0.0", "files": [ ".nupkg.metadata", ".signature.p7s", @@ -406,97 +2782,78 @@ "LICENSE.TXT", "PACKAGE.md", "THIRD-PARTY-NOTICES.TXT", - "buildTransitive/net461/Microsoft.Extensions.DependencyInjection.Abstractions.targets", + "buildTransitive/net461/Microsoft.Extensions.Options.ConfigurationExtensions.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", + "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.Logging.Abstractions/7.0.1": { - "sha512": "pkeBFx0vqMW/A3aUVHh7MPu3WkBhaVlezhSZeb1c9XD0vUReYH1TLFSy5MxJgZfmz5LZzYoErMorlYZiwpOoNA==", + "Microsoft.Extensions.Primitives/8.0.0": { + "sha512": "bXJEZrW9ny8vjMF1JV253WeLhpEVzFo1lyaZu1vQ4ZxWUlVvknZ/+ftFgVheLubb4eZPSwwxBeqS1JkCOjxd8g==", "type": "package", - "path": "microsoft.extensions.logging.abstractions/7.0.1", + "path": "microsoft.extensions.primitives/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/netstandard2.0/Microsoft.Extensions.Logging.Abstractions.dll", - "lib/netstandard2.0/Microsoft.Extensions.Logging.Abstractions.xml", - "microsoft.extensions.logging.abstractions.7.0.1.nupkg.sha512", - "microsoft.extensions.logging.abstractions.nuspec", + "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" ] }, + "Microsoft.NET.Test.Sdk/17.9.0": { + "sha512": "7GUNAUbJYn644jzwLm5BD3a2p9C1dmP8Hr6fDPDxgItQk9hBs1Svdxzz07KQ/UphMSmgza9AbijBJGmw5D658A==", + "type": "package", + "path": "microsoft.net.test.sdk/17.9.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "LICENSE_MIT.txt", + "build/net462/Microsoft.NET.Test.Sdk.props", + "build/net462/Microsoft.NET.Test.Sdk.targets", + "build/netcoreapp3.1/Microsoft.NET.Test.Sdk.Program.cs", + "build/netcoreapp3.1/Microsoft.NET.Test.Sdk.Program.fs", + "build/netcoreapp3.1/Microsoft.NET.Test.Sdk.Program.vb", + "build/netcoreapp3.1/Microsoft.NET.Test.Sdk.props", + "build/netcoreapp3.1/Microsoft.NET.Test.Sdk.targets", + "buildMultiTargeting/Microsoft.NET.Test.Sdk.props", + "lib/net462/_._", + "lib/netcoreapp3.1/_._", + "microsoft.net.test.sdk.17.9.0.nupkg.sha512", + "microsoft.net.test.sdk.nuspec" + ] + }, "Microsoft.OpenApi/1.2.3": { "sha512": "Nug3rO+7Kl5/SBAadzSMAVgqDlfGjJZ0GenQrLywJ84XGKO0uRqkunz5Wyl0SDwcR71bAATXvSdbdzPrYRYKGw==", "type": "package", @@ -514,6 +2871,532 @@ "microsoft.openapi.nuspec" ] }, + "Microsoft.Testing.Extensions.Telemetry/1.1.0": { + "sha512": "K9xjzIlNxUHHvVCYoQYjk3ojnNgS9Jhb9nHSuEAMl5QGhziNdHztGM3fzRQ72KRIA9MyeU75fCex8YZlsRkF1g==", + "type": "package", + "path": "microsoft.testing.extensions.telemetry/1.1.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "License.txt", + "PACKAGE.md", + "build/net6.0/Microsoft.Testing.Extensions.Telemetry.props", + "build/net7.0/Microsoft.Testing.Extensions.Telemetry.props", + "build/net8.0/Microsoft.Testing.Extensions.Telemetry.props", + "build/netstandard2.0/Microsoft.Testing.Extensions.Telemetry.props", + "buildMultiTargeting/Microsoft.Testing.Extensions.Telemetry.props", + "buildTransitive/net6.0/Microsoft.Testing.Extensions.Telemetry.props", + "buildTransitive/net7.0/Microsoft.Testing.Extensions.Telemetry.props", + "buildTransitive/net8.0/Microsoft.Testing.Extensions.Telemetry.props", + "buildTransitive/netstandard2.0/Microsoft.Testing.Extensions.Telemetry.props", + "lib/net6.0/Microsoft.Testing.Extensions.Telemetry.dll", + "lib/net6.0/Microsoft.Testing.Extensions.Telemetry.xml", + "lib/net6.0/cs/Microsoft.Testing.Extensions.Telemetry.resources.dll", + "lib/net6.0/de/Microsoft.Testing.Extensions.Telemetry.resources.dll", + "lib/net6.0/es/Microsoft.Testing.Extensions.Telemetry.resources.dll", + "lib/net6.0/fr/Microsoft.Testing.Extensions.Telemetry.resources.dll", + "lib/net6.0/it/Microsoft.Testing.Extensions.Telemetry.resources.dll", + "lib/net6.0/ja/Microsoft.Testing.Extensions.Telemetry.resources.dll", + "lib/net6.0/ko/Microsoft.Testing.Extensions.Telemetry.resources.dll", + "lib/net6.0/pl/Microsoft.Testing.Extensions.Telemetry.resources.dll", + "lib/net6.0/pt-BR/Microsoft.Testing.Extensions.Telemetry.resources.dll", + "lib/net6.0/ru/Microsoft.Testing.Extensions.Telemetry.resources.dll", + "lib/net6.0/tr/Microsoft.Testing.Extensions.Telemetry.resources.dll", + "lib/net6.0/zh-Hans/Microsoft.Testing.Extensions.Telemetry.resources.dll", + "lib/net6.0/zh-Hant/Microsoft.Testing.Extensions.Telemetry.resources.dll", + "lib/net7.0/Microsoft.Testing.Extensions.Telemetry.dll", + "lib/net7.0/Microsoft.Testing.Extensions.Telemetry.xml", + "lib/net7.0/cs/Microsoft.Testing.Extensions.Telemetry.resources.dll", + "lib/net7.0/de/Microsoft.Testing.Extensions.Telemetry.resources.dll", + "lib/net7.0/es/Microsoft.Testing.Extensions.Telemetry.resources.dll", + "lib/net7.0/fr/Microsoft.Testing.Extensions.Telemetry.resources.dll", + "lib/net7.0/it/Microsoft.Testing.Extensions.Telemetry.resources.dll", + "lib/net7.0/ja/Microsoft.Testing.Extensions.Telemetry.resources.dll", + "lib/net7.0/ko/Microsoft.Testing.Extensions.Telemetry.resources.dll", + "lib/net7.0/pl/Microsoft.Testing.Extensions.Telemetry.resources.dll", + "lib/net7.0/pt-BR/Microsoft.Testing.Extensions.Telemetry.resources.dll", + "lib/net7.0/ru/Microsoft.Testing.Extensions.Telemetry.resources.dll", + "lib/net7.0/tr/Microsoft.Testing.Extensions.Telemetry.resources.dll", + "lib/net7.0/zh-Hans/Microsoft.Testing.Extensions.Telemetry.resources.dll", + "lib/net7.0/zh-Hant/Microsoft.Testing.Extensions.Telemetry.resources.dll", + "lib/net8.0/Microsoft.Testing.Extensions.Telemetry.dll", + "lib/net8.0/Microsoft.Testing.Extensions.Telemetry.xml", + "lib/net8.0/cs/Microsoft.Testing.Extensions.Telemetry.resources.dll", + "lib/net8.0/de/Microsoft.Testing.Extensions.Telemetry.resources.dll", + "lib/net8.0/es/Microsoft.Testing.Extensions.Telemetry.resources.dll", + "lib/net8.0/fr/Microsoft.Testing.Extensions.Telemetry.resources.dll", + "lib/net8.0/it/Microsoft.Testing.Extensions.Telemetry.resources.dll", + "lib/net8.0/ja/Microsoft.Testing.Extensions.Telemetry.resources.dll", + "lib/net8.0/ko/Microsoft.Testing.Extensions.Telemetry.resources.dll", + "lib/net8.0/pl/Microsoft.Testing.Extensions.Telemetry.resources.dll", + "lib/net8.0/pt-BR/Microsoft.Testing.Extensions.Telemetry.resources.dll", + "lib/net8.0/ru/Microsoft.Testing.Extensions.Telemetry.resources.dll", + "lib/net8.0/tr/Microsoft.Testing.Extensions.Telemetry.resources.dll", + "lib/net8.0/zh-Hans/Microsoft.Testing.Extensions.Telemetry.resources.dll", + "lib/net8.0/zh-Hant/Microsoft.Testing.Extensions.Telemetry.resources.dll", + "lib/netstandard2.0/Microsoft.Testing.Extensions.Telemetry.dll", + "lib/netstandard2.0/Microsoft.Testing.Extensions.Telemetry.xml", + "lib/netstandard2.0/cs/Microsoft.Testing.Extensions.Telemetry.resources.dll", + "lib/netstandard2.0/de/Microsoft.Testing.Extensions.Telemetry.resources.dll", + "lib/netstandard2.0/es/Microsoft.Testing.Extensions.Telemetry.resources.dll", + "lib/netstandard2.0/fr/Microsoft.Testing.Extensions.Telemetry.resources.dll", + "lib/netstandard2.0/it/Microsoft.Testing.Extensions.Telemetry.resources.dll", + "lib/netstandard2.0/ja/Microsoft.Testing.Extensions.Telemetry.resources.dll", + "lib/netstandard2.0/ko/Microsoft.Testing.Extensions.Telemetry.resources.dll", + "lib/netstandard2.0/pl/Microsoft.Testing.Extensions.Telemetry.resources.dll", + "lib/netstandard2.0/pt-BR/Microsoft.Testing.Extensions.Telemetry.resources.dll", + "lib/netstandard2.0/ru/Microsoft.Testing.Extensions.Telemetry.resources.dll", + "lib/netstandard2.0/tr/Microsoft.Testing.Extensions.Telemetry.resources.dll", + "lib/netstandard2.0/zh-Hans/Microsoft.Testing.Extensions.Telemetry.resources.dll", + "lib/netstandard2.0/zh-Hant/Microsoft.Testing.Extensions.Telemetry.resources.dll", + "microsoft.testing.extensions.telemetry.1.1.0.nupkg.sha512", + "microsoft.testing.extensions.telemetry.nuspec" + ] + }, + "Microsoft.Testing.Extensions.TrxReport.Abstractions/1.1.0": { + "sha512": "mspVaUbMAmsMg6IQaGJkypeCCYmUYYQkxFSRbSGdsTlzu9dpsH6spavSL6DUtkR7qd07ulYDlPCJ/yBU6TYdug==", + "type": "package", + "path": "microsoft.testing.extensions.trxreport.abstractions/1.1.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "License.txt", + "PACKAGE.md", + "lib/net6.0/Microsoft.Testing.Extensions.TrxReport.Abstractions.dll", + "lib/net6.0/Microsoft.Testing.Extensions.TrxReport.Abstractions.xml", + "lib/net7.0/Microsoft.Testing.Extensions.TrxReport.Abstractions.dll", + "lib/net7.0/Microsoft.Testing.Extensions.TrxReport.Abstractions.xml", + "lib/net8.0/Microsoft.Testing.Extensions.TrxReport.Abstractions.dll", + "lib/net8.0/Microsoft.Testing.Extensions.TrxReport.Abstractions.xml", + "lib/netstandard2.0/Microsoft.Testing.Extensions.TrxReport.Abstractions.dll", + "lib/netstandard2.0/Microsoft.Testing.Extensions.TrxReport.Abstractions.xml", + "microsoft.testing.extensions.trxreport.abstractions.1.1.0.nupkg.sha512", + "microsoft.testing.extensions.trxreport.abstractions.nuspec" + ] + }, + "Microsoft.Testing.Extensions.VSTestBridge/1.1.0": { + "sha512": "6IcxNS8lARWd/7K/dDC0IAXRnUpQ9kC0Cb+Eu8biZG40pVDZoDEyn4QIuicJvPSCT1C72AtSUqKzZASO7i4gPg==", + "type": "package", + "path": "microsoft.testing.extensions.vstestbridge/1.1.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "License.txt", + "PACKAGE.md", + "lib/net6.0/Microsoft.Testing.Extensions.VSTestBridge.dll", + "lib/net6.0/Microsoft.Testing.Extensions.VSTestBridge.xml", + "lib/net6.0/cs/Microsoft.Testing.Extensions.VSTestBridge.resources.dll", + "lib/net6.0/de/Microsoft.Testing.Extensions.VSTestBridge.resources.dll", + "lib/net6.0/es/Microsoft.Testing.Extensions.VSTestBridge.resources.dll", + "lib/net6.0/fr/Microsoft.Testing.Extensions.VSTestBridge.resources.dll", + "lib/net6.0/it/Microsoft.Testing.Extensions.VSTestBridge.resources.dll", + "lib/net6.0/ja/Microsoft.Testing.Extensions.VSTestBridge.resources.dll", + "lib/net6.0/ko/Microsoft.Testing.Extensions.VSTestBridge.resources.dll", + "lib/net6.0/pl/Microsoft.Testing.Extensions.VSTestBridge.resources.dll", + "lib/net6.0/pt-BR/Microsoft.Testing.Extensions.VSTestBridge.resources.dll", + "lib/net6.0/ru/Microsoft.Testing.Extensions.VSTestBridge.resources.dll", + "lib/net6.0/tr/Microsoft.Testing.Extensions.VSTestBridge.resources.dll", + "lib/net6.0/zh-Hans/Microsoft.Testing.Extensions.VSTestBridge.resources.dll", + "lib/net6.0/zh-Hant/Microsoft.Testing.Extensions.VSTestBridge.resources.dll", + "lib/net7.0/Microsoft.Testing.Extensions.VSTestBridge.dll", + "lib/net7.0/Microsoft.Testing.Extensions.VSTestBridge.xml", + "lib/net7.0/cs/Microsoft.Testing.Extensions.VSTestBridge.resources.dll", + "lib/net7.0/de/Microsoft.Testing.Extensions.VSTestBridge.resources.dll", + "lib/net7.0/es/Microsoft.Testing.Extensions.VSTestBridge.resources.dll", + "lib/net7.0/fr/Microsoft.Testing.Extensions.VSTestBridge.resources.dll", + "lib/net7.0/it/Microsoft.Testing.Extensions.VSTestBridge.resources.dll", + "lib/net7.0/ja/Microsoft.Testing.Extensions.VSTestBridge.resources.dll", + "lib/net7.0/ko/Microsoft.Testing.Extensions.VSTestBridge.resources.dll", + "lib/net7.0/pl/Microsoft.Testing.Extensions.VSTestBridge.resources.dll", + "lib/net7.0/pt-BR/Microsoft.Testing.Extensions.VSTestBridge.resources.dll", + "lib/net7.0/ru/Microsoft.Testing.Extensions.VSTestBridge.resources.dll", + "lib/net7.0/tr/Microsoft.Testing.Extensions.VSTestBridge.resources.dll", + "lib/net7.0/zh-Hans/Microsoft.Testing.Extensions.VSTestBridge.resources.dll", + "lib/net7.0/zh-Hant/Microsoft.Testing.Extensions.VSTestBridge.resources.dll", + "lib/net8.0/Microsoft.Testing.Extensions.VSTestBridge.dll", + "lib/net8.0/Microsoft.Testing.Extensions.VSTestBridge.xml", + "lib/net8.0/cs/Microsoft.Testing.Extensions.VSTestBridge.resources.dll", + "lib/net8.0/de/Microsoft.Testing.Extensions.VSTestBridge.resources.dll", + "lib/net8.0/es/Microsoft.Testing.Extensions.VSTestBridge.resources.dll", + "lib/net8.0/fr/Microsoft.Testing.Extensions.VSTestBridge.resources.dll", + "lib/net8.0/it/Microsoft.Testing.Extensions.VSTestBridge.resources.dll", + "lib/net8.0/ja/Microsoft.Testing.Extensions.VSTestBridge.resources.dll", + "lib/net8.0/ko/Microsoft.Testing.Extensions.VSTestBridge.resources.dll", + "lib/net8.0/pl/Microsoft.Testing.Extensions.VSTestBridge.resources.dll", + "lib/net8.0/pt-BR/Microsoft.Testing.Extensions.VSTestBridge.resources.dll", + "lib/net8.0/ru/Microsoft.Testing.Extensions.VSTestBridge.resources.dll", + "lib/net8.0/tr/Microsoft.Testing.Extensions.VSTestBridge.resources.dll", + "lib/net8.0/zh-Hans/Microsoft.Testing.Extensions.VSTestBridge.resources.dll", + "lib/net8.0/zh-Hant/Microsoft.Testing.Extensions.VSTestBridge.resources.dll", + "lib/netstandard2.0/Microsoft.Testing.Extensions.VSTestBridge.dll", + "lib/netstandard2.0/Microsoft.Testing.Extensions.VSTestBridge.xml", + "lib/netstandard2.0/cs/Microsoft.Testing.Extensions.VSTestBridge.resources.dll", + "lib/netstandard2.0/de/Microsoft.Testing.Extensions.VSTestBridge.resources.dll", + "lib/netstandard2.0/es/Microsoft.Testing.Extensions.VSTestBridge.resources.dll", + "lib/netstandard2.0/fr/Microsoft.Testing.Extensions.VSTestBridge.resources.dll", + "lib/netstandard2.0/it/Microsoft.Testing.Extensions.VSTestBridge.resources.dll", + "lib/netstandard2.0/ja/Microsoft.Testing.Extensions.VSTestBridge.resources.dll", + "lib/netstandard2.0/ko/Microsoft.Testing.Extensions.VSTestBridge.resources.dll", + "lib/netstandard2.0/pl/Microsoft.Testing.Extensions.VSTestBridge.resources.dll", + "lib/netstandard2.0/pt-BR/Microsoft.Testing.Extensions.VSTestBridge.resources.dll", + "lib/netstandard2.0/ru/Microsoft.Testing.Extensions.VSTestBridge.resources.dll", + "lib/netstandard2.0/tr/Microsoft.Testing.Extensions.VSTestBridge.resources.dll", + "lib/netstandard2.0/zh-Hans/Microsoft.Testing.Extensions.VSTestBridge.resources.dll", + "lib/netstandard2.0/zh-Hant/Microsoft.Testing.Extensions.VSTestBridge.resources.dll", + "microsoft.testing.extensions.vstestbridge.1.1.0.nupkg.sha512", + "microsoft.testing.extensions.vstestbridge.nuspec" + ] + }, + "Microsoft.Testing.Platform/1.1.0": { + "sha512": "on8S7PvvR9Ai5gL/DKN5KrE8e4ctsUIMEzCGY916D+8xj5W/ho0ru9OJiNk7vWFbQrGwpLs87xE7Q8RPLSO/og==", + "type": "package", + "path": "microsoft.testing.platform/1.1.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "PACKAGE.md", + "build/net6.0/Microsoft.Testing.Platform.props", + "build/net7.0/Microsoft.Testing.Platform.props", + "build/net8.0/Microsoft.Testing.Platform.props", + "build/netstandard2.0/Microsoft.Testing.Platform.props", + "buildMultiTargeting/Microsoft.Testing.Platform.props", + "buildTransitive/net6.0/Microsoft.Testing.Platform.props", + "buildTransitive/net7.0/Microsoft.Testing.Platform.props", + "buildTransitive/net8.0/Microsoft.Testing.Platform.props", + "buildTransitive/netstandard2.0/Microsoft.Testing.Platform.props", + "lib/net6.0/Microsoft.Testing.Platform.dll", + "lib/net6.0/Microsoft.Testing.Platform.xml", + "lib/net6.0/cs/Microsoft.Testing.Platform.resources.dll", + "lib/net6.0/de/Microsoft.Testing.Platform.resources.dll", + "lib/net6.0/es/Microsoft.Testing.Platform.resources.dll", + "lib/net6.0/fr/Microsoft.Testing.Platform.resources.dll", + "lib/net6.0/it/Microsoft.Testing.Platform.resources.dll", + "lib/net6.0/ja/Microsoft.Testing.Platform.resources.dll", + "lib/net6.0/ko/Microsoft.Testing.Platform.resources.dll", + "lib/net6.0/pl/Microsoft.Testing.Platform.resources.dll", + "lib/net6.0/pt-BR/Microsoft.Testing.Platform.resources.dll", + "lib/net6.0/ru/Microsoft.Testing.Platform.resources.dll", + "lib/net6.0/tr/Microsoft.Testing.Platform.resources.dll", + "lib/net6.0/zh-Hans/Microsoft.Testing.Platform.resources.dll", + "lib/net6.0/zh-Hant/Microsoft.Testing.Platform.resources.dll", + "lib/net7.0/Microsoft.Testing.Platform.dll", + "lib/net7.0/Microsoft.Testing.Platform.xml", + "lib/net7.0/cs/Microsoft.Testing.Platform.resources.dll", + "lib/net7.0/de/Microsoft.Testing.Platform.resources.dll", + "lib/net7.0/es/Microsoft.Testing.Platform.resources.dll", + "lib/net7.0/fr/Microsoft.Testing.Platform.resources.dll", + "lib/net7.0/it/Microsoft.Testing.Platform.resources.dll", + "lib/net7.0/ja/Microsoft.Testing.Platform.resources.dll", + "lib/net7.0/ko/Microsoft.Testing.Platform.resources.dll", + "lib/net7.0/pl/Microsoft.Testing.Platform.resources.dll", + "lib/net7.0/pt-BR/Microsoft.Testing.Platform.resources.dll", + "lib/net7.0/ru/Microsoft.Testing.Platform.resources.dll", + "lib/net7.0/tr/Microsoft.Testing.Platform.resources.dll", + "lib/net7.0/zh-Hans/Microsoft.Testing.Platform.resources.dll", + "lib/net7.0/zh-Hant/Microsoft.Testing.Platform.resources.dll", + "lib/net8.0/Microsoft.Testing.Platform.dll", + "lib/net8.0/Microsoft.Testing.Platform.xml", + "lib/net8.0/cs/Microsoft.Testing.Platform.resources.dll", + "lib/net8.0/de/Microsoft.Testing.Platform.resources.dll", + "lib/net8.0/es/Microsoft.Testing.Platform.resources.dll", + "lib/net8.0/fr/Microsoft.Testing.Platform.resources.dll", + "lib/net8.0/it/Microsoft.Testing.Platform.resources.dll", + "lib/net8.0/ja/Microsoft.Testing.Platform.resources.dll", + "lib/net8.0/ko/Microsoft.Testing.Platform.resources.dll", + "lib/net8.0/pl/Microsoft.Testing.Platform.resources.dll", + "lib/net8.0/pt-BR/Microsoft.Testing.Platform.resources.dll", + "lib/net8.0/ru/Microsoft.Testing.Platform.resources.dll", + "lib/net8.0/tr/Microsoft.Testing.Platform.resources.dll", + "lib/net8.0/zh-Hans/Microsoft.Testing.Platform.resources.dll", + "lib/net8.0/zh-Hant/Microsoft.Testing.Platform.resources.dll", + "lib/netstandard2.0/Microsoft.Testing.Platform.dll", + "lib/netstandard2.0/Microsoft.Testing.Platform.xml", + "lib/netstandard2.0/cs/Microsoft.Testing.Platform.resources.dll", + "lib/netstandard2.0/de/Microsoft.Testing.Platform.resources.dll", + "lib/netstandard2.0/es/Microsoft.Testing.Platform.resources.dll", + "lib/netstandard2.0/fr/Microsoft.Testing.Platform.resources.dll", + "lib/netstandard2.0/it/Microsoft.Testing.Platform.resources.dll", + "lib/netstandard2.0/ja/Microsoft.Testing.Platform.resources.dll", + "lib/netstandard2.0/ko/Microsoft.Testing.Platform.resources.dll", + "lib/netstandard2.0/pl/Microsoft.Testing.Platform.resources.dll", + "lib/netstandard2.0/pt-BR/Microsoft.Testing.Platform.resources.dll", + "lib/netstandard2.0/ru/Microsoft.Testing.Platform.resources.dll", + "lib/netstandard2.0/tr/Microsoft.Testing.Platform.resources.dll", + "lib/netstandard2.0/zh-Hans/Microsoft.Testing.Platform.resources.dll", + "lib/netstandard2.0/zh-Hant/Microsoft.Testing.Platform.resources.dll", + "microsoft.testing.platform.1.1.0.nupkg.sha512", + "microsoft.testing.platform.nuspec" + ] + }, + "Microsoft.Testing.Platform.MSBuild/1.1.0": { + "sha512": "n2F3OP27qPCSBDfi25DfIeuq3UtzB/BUlXJBCqu1HQc8n7ak5gfzWlkJwlOIk2PAltocdJWQHMfeVYfcLkZ41g==", + "type": "package", + "path": "microsoft.testing.platform.msbuild/1.1.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "License.txt", + "PACKAGE.md", + "_MSBuildTasks/netstandard2.0/Microsoft.Testing.Platform.MSBuild.dll", + "_MSBuildTasks/netstandard2.0/Microsoft.Testing.Platform.dll", + "build/net6.0/Microsoft.Testing.Platform.MSBuild.props", + "build/net6.0/Microsoft.Testing.Platform.MSBuild.targets", + "build/net7.0/Microsoft.Testing.Platform.MSBuild.props", + "build/net7.0/Microsoft.Testing.Platform.MSBuild.targets", + "build/net8.0/Microsoft.Testing.Platform.MSBuild.props", + "build/net8.0/Microsoft.Testing.Platform.MSBuild.targets", + "build/netstandard2.0/Microsoft.Testing.Platform.MSBuild.props", + "build/netstandard2.0/Microsoft.Testing.Platform.MSBuild.targets", + "buildMultiTargeting/Microsoft.Testing.Platform.MSBuild.VSTest.targets", + "buildMultiTargeting/Microsoft.Testing.Platform.MSBuild.props", + "buildMultiTargeting/Microsoft.Testing.Platform.MSBuild.targets", + "buildTransitive/net6.0/Microsoft.Testing.Platform.MSBuild.props", + "buildTransitive/net6.0/Microsoft.Testing.Platform.MSBuild.targets", + "buildTransitive/net7.0/Microsoft.Testing.Platform.MSBuild.props", + "buildTransitive/net7.0/Microsoft.Testing.Platform.MSBuild.targets", + "buildTransitive/net8.0/Microsoft.Testing.Platform.MSBuild.props", + "buildTransitive/net8.0/Microsoft.Testing.Platform.MSBuild.targets", + "buildTransitive/netstandard2.0/Microsoft.Testing.Platform.MSBuild.props", + "buildTransitive/netstandard2.0/Microsoft.Testing.Platform.MSBuild.targets", + "lib/net6.0/Microsoft.Testing.Platform.MSBuild.dll", + "lib/net6.0/Microsoft.Testing.Platform.MSBuild.xml", + "lib/net6.0/cs/Microsoft.Testing.Platform.MSBuild.resources.dll", + "lib/net6.0/de/Microsoft.Testing.Platform.MSBuild.resources.dll", + "lib/net6.0/es/Microsoft.Testing.Platform.MSBuild.resources.dll", + "lib/net6.0/fr/Microsoft.Testing.Platform.MSBuild.resources.dll", + "lib/net6.0/it/Microsoft.Testing.Platform.MSBuild.resources.dll", + "lib/net6.0/ja/Microsoft.Testing.Platform.MSBuild.resources.dll", + "lib/net6.0/ko/Microsoft.Testing.Platform.MSBuild.resources.dll", + "lib/net6.0/pl/Microsoft.Testing.Platform.MSBuild.resources.dll", + "lib/net6.0/pt-BR/Microsoft.Testing.Platform.MSBuild.resources.dll", + "lib/net6.0/ru/Microsoft.Testing.Platform.MSBuild.resources.dll", + "lib/net6.0/tr/Microsoft.Testing.Platform.MSBuild.resources.dll", + "lib/net6.0/zh-Hans/Microsoft.Testing.Platform.MSBuild.resources.dll", + "lib/net6.0/zh-Hant/Microsoft.Testing.Platform.MSBuild.resources.dll", + "lib/net7.0/Microsoft.Testing.Platform.MSBuild.dll", + "lib/net7.0/Microsoft.Testing.Platform.MSBuild.xml", + "lib/net7.0/cs/Microsoft.Testing.Platform.MSBuild.resources.dll", + "lib/net7.0/de/Microsoft.Testing.Platform.MSBuild.resources.dll", + "lib/net7.0/es/Microsoft.Testing.Platform.MSBuild.resources.dll", + "lib/net7.0/fr/Microsoft.Testing.Platform.MSBuild.resources.dll", + "lib/net7.0/it/Microsoft.Testing.Platform.MSBuild.resources.dll", + "lib/net7.0/ja/Microsoft.Testing.Platform.MSBuild.resources.dll", + "lib/net7.0/ko/Microsoft.Testing.Platform.MSBuild.resources.dll", + "lib/net7.0/pl/Microsoft.Testing.Platform.MSBuild.resources.dll", + "lib/net7.0/pt-BR/Microsoft.Testing.Platform.MSBuild.resources.dll", + "lib/net7.0/ru/Microsoft.Testing.Platform.MSBuild.resources.dll", + "lib/net7.0/tr/Microsoft.Testing.Platform.MSBuild.resources.dll", + "lib/net7.0/zh-Hans/Microsoft.Testing.Platform.MSBuild.resources.dll", + "lib/net7.0/zh-Hant/Microsoft.Testing.Platform.MSBuild.resources.dll", + "lib/net8.0/Microsoft.Testing.Platform.MSBuild.dll", + "lib/net8.0/Microsoft.Testing.Platform.MSBuild.xml", + "lib/net8.0/cs/Microsoft.Testing.Platform.MSBuild.resources.dll", + "lib/net8.0/de/Microsoft.Testing.Platform.MSBuild.resources.dll", + "lib/net8.0/es/Microsoft.Testing.Platform.MSBuild.resources.dll", + "lib/net8.0/fr/Microsoft.Testing.Platform.MSBuild.resources.dll", + "lib/net8.0/it/Microsoft.Testing.Platform.MSBuild.resources.dll", + "lib/net8.0/ja/Microsoft.Testing.Platform.MSBuild.resources.dll", + "lib/net8.0/ko/Microsoft.Testing.Platform.MSBuild.resources.dll", + "lib/net8.0/pl/Microsoft.Testing.Platform.MSBuild.resources.dll", + "lib/net8.0/pt-BR/Microsoft.Testing.Platform.MSBuild.resources.dll", + "lib/net8.0/ru/Microsoft.Testing.Platform.MSBuild.resources.dll", + "lib/net8.0/tr/Microsoft.Testing.Platform.MSBuild.resources.dll", + "lib/net8.0/zh-Hans/Microsoft.Testing.Platform.MSBuild.resources.dll", + "lib/net8.0/zh-Hant/Microsoft.Testing.Platform.MSBuild.resources.dll", + "lib/netstandard2.0/Microsoft.Testing.Platform.MSBuild.dll", + "lib/netstandard2.0/Microsoft.Testing.Platform.MSBuild.xml", + "lib/netstandard2.0/cs/Microsoft.Testing.Platform.MSBuild.resources.dll", + "lib/netstandard2.0/de/Microsoft.Testing.Platform.MSBuild.resources.dll", + "lib/netstandard2.0/es/Microsoft.Testing.Platform.MSBuild.resources.dll", + "lib/netstandard2.0/fr/Microsoft.Testing.Platform.MSBuild.resources.dll", + "lib/netstandard2.0/it/Microsoft.Testing.Platform.MSBuild.resources.dll", + "lib/netstandard2.0/ja/Microsoft.Testing.Platform.MSBuild.resources.dll", + "lib/netstandard2.0/ko/Microsoft.Testing.Platform.MSBuild.resources.dll", + "lib/netstandard2.0/pl/Microsoft.Testing.Platform.MSBuild.resources.dll", + "lib/netstandard2.0/pt-BR/Microsoft.Testing.Platform.MSBuild.resources.dll", + "lib/netstandard2.0/ru/Microsoft.Testing.Platform.MSBuild.resources.dll", + "lib/netstandard2.0/tr/Microsoft.Testing.Platform.MSBuild.resources.dll", + "lib/netstandard2.0/zh-Hans/Microsoft.Testing.Platform.MSBuild.resources.dll", + "lib/netstandard2.0/zh-Hant/Microsoft.Testing.Platform.MSBuild.resources.dll", + "microsoft.testing.platform.msbuild.1.1.0.nupkg.sha512", + "microsoft.testing.platform.msbuild.nuspec" + ] + }, + "Microsoft.TestPlatform.ObjectModel/17.9.0": { + "sha512": "1ilw/8vgmjLyKU+2SKXKXaOqpYFJCQfGqGz+x0cosl981VzjrY74Sv6qAJv+neZMZ9ZMxF3ArN6kotaQ4uvEBw==", + "type": "package", + "path": "microsoft.testplatform.objectmodel/17.9.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "LICENSE_MIT.txt", + "lib/net462/Microsoft.TestPlatform.CoreUtilities.dll", + "lib/net462/Microsoft.TestPlatform.PlatformAbstractions.dll", + "lib/net462/Microsoft.VisualStudio.TestPlatform.ObjectModel.dll", + "lib/net462/cs/Microsoft.TestPlatform.CoreUtilities.resources.dll", + "lib/net462/cs/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll", + "lib/net462/de/Microsoft.TestPlatform.CoreUtilities.resources.dll", + "lib/net462/de/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll", + "lib/net462/es/Microsoft.TestPlatform.CoreUtilities.resources.dll", + "lib/net462/es/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll", + "lib/net462/fr/Microsoft.TestPlatform.CoreUtilities.resources.dll", + "lib/net462/fr/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll", + "lib/net462/it/Microsoft.TestPlatform.CoreUtilities.resources.dll", + "lib/net462/it/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll", + "lib/net462/ja/Microsoft.TestPlatform.CoreUtilities.resources.dll", + "lib/net462/ja/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll", + "lib/net462/ko/Microsoft.TestPlatform.CoreUtilities.resources.dll", + "lib/net462/ko/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll", + "lib/net462/pl/Microsoft.TestPlatform.CoreUtilities.resources.dll", + "lib/net462/pl/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll", + "lib/net462/pt-BR/Microsoft.TestPlatform.CoreUtilities.resources.dll", + "lib/net462/pt-BR/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll", + "lib/net462/ru/Microsoft.TestPlatform.CoreUtilities.resources.dll", + "lib/net462/ru/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll", + "lib/net462/tr/Microsoft.TestPlatform.CoreUtilities.resources.dll", + "lib/net462/tr/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll", + "lib/net462/zh-Hans/Microsoft.TestPlatform.CoreUtilities.resources.dll", + "lib/net462/zh-Hans/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll", + "lib/net462/zh-Hant/Microsoft.TestPlatform.CoreUtilities.resources.dll", + "lib/net462/zh-Hant/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll", + "lib/netcoreapp3.1/Microsoft.TestPlatform.CoreUtilities.dll", + "lib/netcoreapp3.1/Microsoft.TestPlatform.PlatformAbstractions.dll", + "lib/netcoreapp3.1/Microsoft.VisualStudio.TestPlatform.ObjectModel.dll", + "lib/netcoreapp3.1/cs/Microsoft.TestPlatform.CoreUtilities.resources.dll", + "lib/netcoreapp3.1/cs/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll", + "lib/netcoreapp3.1/de/Microsoft.TestPlatform.CoreUtilities.resources.dll", + "lib/netcoreapp3.1/de/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll", + "lib/netcoreapp3.1/es/Microsoft.TestPlatform.CoreUtilities.resources.dll", + "lib/netcoreapp3.1/es/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll", + "lib/netcoreapp3.1/fr/Microsoft.TestPlatform.CoreUtilities.resources.dll", + "lib/netcoreapp3.1/fr/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll", + "lib/netcoreapp3.1/it/Microsoft.TestPlatform.CoreUtilities.resources.dll", + "lib/netcoreapp3.1/it/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll", + "lib/netcoreapp3.1/ja/Microsoft.TestPlatform.CoreUtilities.resources.dll", + "lib/netcoreapp3.1/ja/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll", + "lib/netcoreapp3.1/ko/Microsoft.TestPlatform.CoreUtilities.resources.dll", + "lib/netcoreapp3.1/ko/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll", + "lib/netcoreapp3.1/pl/Microsoft.TestPlatform.CoreUtilities.resources.dll", + "lib/netcoreapp3.1/pl/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll", + "lib/netcoreapp3.1/pt-BR/Microsoft.TestPlatform.CoreUtilities.resources.dll", + "lib/netcoreapp3.1/pt-BR/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll", + "lib/netcoreapp3.1/ru/Microsoft.TestPlatform.CoreUtilities.resources.dll", + "lib/netcoreapp3.1/ru/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll", + "lib/netcoreapp3.1/tr/Microsoft.TestPlatform.CoreUtilities.resources.dll", + "lib/netcoreapp3.1/tr/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll", + "lib/netcoreapp3.1/zh-Hans/Microsoft.TestPlatform.CoreUtilities.resources.dll", + "lib/netcoreapp3.1/zh-Hans/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll", + "lib/netcoreapp3.1/zh-Hant/Microsoft.TestPlatform.CoreUtilities.resources.dll", + "lib/netcoreapp3.1/zh-Hant/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll", + "lib/netstandard2.0/Microsoft.TestPlatform.CoreUtilities.dll", + "lib/netstandard2.0/Microsoft.TestPlatform.PlatformAbstractions.dll", + "lib/netstandard2.0/Microsoft.VisualStudio.TestPlatform.ObjectModel.dll", + "lib/netstandard2.0/cs/Microsoft.TestPlatform.CoreUtilities.resources.dll", + "lib/netstandard2.0/cs/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll", + "lib/netstandard2.0/de/Microsoft.TestPlatform.CoreUtilities.resources.dll", + "lib/netstandard2.0/de/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll", + "lib/netstandard2.0/es/Microsoft.TestPlatform.CoreUtilities.resources.dll", + "lib/netstandard2.0/es/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll", + "lib/netstandard2.0/fr/Microsoft.TestPlatform.CoreUtilities.resources.dll", + "lib/netstandard2.0/fr/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll", + "lib/netstandard2.0/it/Microsoft.TestPlatform.CoreUtilities.resources.dll", + "lib/netstandard2.0/it/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll", + "lib/netstandard2.0/ja/Microsoft.TestPlatform.CoreUtilities.resources.dll", + "lib/netstandard2.0/ja/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll", + "lib/netstandard2.0/ko/Microsoft.TestPlatform.CoreUtilities.resources.dll", + "lib/netstandard2.0/ko/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll", + "lib/netstandard2.0/pl/Microsoft.TestPlatform.CoreUtilities.resources.dll", + "lib/netstandard2.0/pl/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll", + "lib/netstandard2.0/pt-BR/Microsoft.TestPlatform.CoreUtilities.resources.dll", + "lib/netstandard2.0/pt-BR/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll", + "lib/netstandard2.0/ru/Microsoft.TestPlatform.CoreUtilities.resources.dll", + "lib/netstandard2.0/ru/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll", + "lib/netstandard2.0/tr/Microsoft.TestPlatform.CoreUtilities.resources.dll", + "lib/netstandard2.0/tr/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll", + "lib/netstandard2.0/zh-Hans/Microsoft.TestPlatform.CoreUtilities.resources.dll", + "lib/netstandard2.0/zh-Hans/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll", + "lib/netstandard2.0/zh-Hant/Microsoft.TestPlatform.CoreUtilities.resources.dll", + "lib/netstandard2.0/zh-Hant/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll", + "microsoft.testplatform.objectmodel.17.9.0.nupkg.sha512", + "microsoft.testplatform.objectmodel.nuspec" + ] + }, + "Microsoft.TestPlatform.TestHost/17.9.0": { + "sha512": "Spmg7Wx49Ya3SxBjyeAR+nQpjMTKZwTwpZ7KyeOTIqI/WHNPnBU4HUvl5kuHPQAwGWqMy4FGZja1HvEwvoaDiA==", + "type": "package", + "path": "microsoft.testplatform.testhost/17.9.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "LICENSE_MIT.txt", + "ThirdPartyNotices.txt", + "build/netcoreapp3.1/Microsoft.TestPlatform.TestHost.props", + "build/netcoreapp3.1/x64/testhost.dll", + "build/netcoreapp3.1/x64/testhost.exe", + "build/netcoreapp3.1/x86/testhost.x86.dll", + "build/netcoreapp3.1/x86/testhost.x86.exe", + "lib/net462/_._", + "lib/netcoreapp3.1/Microsoft.TestPlatform.CommunicationUtilities.dll", + "lib/netcoreapp3.1/Microsoft.TestPlatform.CoreUtilities.dll", + "lib/netcoreapp3.1/Microsoft.TestPlatform.CrossPlatEngine.dll", + "lib/netcoreapp3.1/Microsoft.TestPlatform.PlatformAbstractions.dll", + "lib/netcoreapp3.1/Microsoft.TestPlatform.Utilities.dll", + "lib/netcoreapp3.1/Microsoft.VisualStudio.TestPlatform.Common.dll", + "lib/netcoreapp3.1/Microsoft.VisualStudio.TestPlatform.ObjectModel.dll", + "lib/netcoreapp3.1/cs/Microsoft.TestPlatform.CommunicationUtilities.resources.dll", + "lib/netcoreapp3.1/cs/Microsoft.TestPlatform.CrossPlatEngine.resources.dll", + "lib/netcoreapp3.1/cs/Microsoft.VisualStudio.TestPlatform.Common.resources.dll", + "lib/netcoreapp3.1/de/Microsoft.TestPlatform.CommunicationUtilities.resources.dll", + "lib/netcoreapp3.1/de/Microsoft.TestPlatform.CrossPlatEngine.resources.dll", + "lib/netcoreapp3.1/de/Microsoft.VisualStudio.TestPlatform.Common.resources.dll", + "lib/netcoreapp3.1/es/Microsoft.TestPlatform.CommunicationUtilities.resources.dll", + "lib/netcoreapp3.1/es/Microsoft.TestPlatform.CrossPlatEngine.resources.dll", + "lib/netcoreapp3.1/es/Microsoft.VisualStudio.TestPlatform.Common.resources.dll", + "lib/netcoreapp3.1/fr/Microsoft.TestPlatform.CommunicationUtilities.resources.dll", + "lib/netcoreapp3.1/fr/Microsoft.TestPlatform.CrossPlatEngine.resources.dll", + "lib/netcoreapp3.1/fr/Microsoft.VisualStudio.TestPlatform.Common.resources.dll", + "lib/netcoreapp3.1/it/Microsoft.TestPlatform.CommunicationUtilities.resources.dll", + "lib/netcoreapp3.1/it/Microsoft.TestPlatform.CrossPlatEngine.resources.dll", + "lib/netcoreapp3.1/it/Microsoft.VisualStudio.TestPlatform.Common.resources.dll", + "lib/netcoreapp3.1/ja/Microsoft.TestPlatform.CommunicationUtilities.resources.dll", + "lib/netcoreapp3.1/ja/Microsoft.TestPlatform.CrossPlatEngine.resources.dll", + "lib/netcoreapp3.1/ja/Microsoft.VisualStudio.TestPlatform.Common.resources.dll", + "lib/netcoreapp3.1/ko/Microsoft.TestPlatform.CommunicationUtilities.resources.dll", + "lib/netcoreapp3.1/ko/Microsoft.TestPlatform.CrossPlatEngine.resources.dll", + "lib/netcoreapp3.1/ko/Microsoft.VisualStudio.TestPlatform.Common.resources.dll", + "lib/netcoreapp3.1/pl/Microsoft.TestPlatform.CommunicationUtilities.resources.dll", + "lib/netcoreapp3.1/pl/Microsoft.TestPlatform.CrossPlatEngine.resources.dll", + "lib/netcoreapp3.1/pl/Microsoft.VisualStudio.TestPlatform.Common.resources.dll", + "lib/netcoreapp3.1/pt-BR/Microsoft.TestPlatform.CommunicationUtilities.resources.dll", + "lib/netcoreapp3.1/pt-BR/Microsoft.TestPlatform.CrossPlatEngine.resources.dll", + "lib/netcoreapp3.1/pt-BR/Microsoft.VisualStudio.TestPlatform.Common.resources.dll", + "lib/netcoreapp3.1/ru/Microsoft.TestPlatform.CommunicationUtilities.resources.dll", + "lib/netcoreapp3.1/ru/Microsoft.TestPlatform.CrossPlatEngine.resources.dll", + "lib/netcoreapp3.1/ru/Microsoft.VisualStudio.TestPlatform.Common.resources.dll", + "lib/netcoreapp3.1/testhost.deps.json", + "lib/netcoreapp3.1/testhost.dll", + "lib/netcoreapp3.1/tr/Microsoft.TestPlatform.CommunicationUtilities.resources.dll", + "lib/netcoreapp3.1/tr/Microsoft.TestPlatform.CrossPlatEngine.resources.dll", + "lib/netcoreapp3.1/tr/Microsoft.VisualStudio.TestPlatform.Common.resources.dll", + "lib/netcoreapp3.1/x64/msdia140.dll", + "lib/netcoreapp3.1/x86/msdia140.dll", + "lib/netcoreapp3.1/zh-Hans/Microsoft.TestPlatform.CommunicationUtilities.resources.dll", + "lib/netcoreapp3.1/zh-Hans/Microsoft.TestPlatform.CrossPlatEngine.resources.dll", + "lib/netcoreapp3.1/zh-Hans/Microsoft.VisualStudio.TestPlatform.Common.resources.dll", + "lib/netcoreapp3.1/zh-Hant/Microsoft.TestPlatform.CommunicationUtilities.resources.dll", + "lib/netcoreapp3.1/zh-Hant/Microsoft.TestPlatform.CrossPlatEngine.resources.dll", + "lib/netcoreapp3.1/zh-Hant/Microsoft.VisualStudio.TestPlatform.Common.resources.dll", + "microsoft.testplatform.testhost.17.9.0.nupkg.sha512", + "microsoft.testplatform.testhost.nuspec" + ] + }, "Microsoft.VisualStudio.Azure.Containers.Tools.Targets/1.19.6": { "sha512": "7GOQdMzQcH7o/bPFL/I2kQEgMnq2pYZ+exhGb9nNqs624K9w2jB2zieh4sOH9+a01i/G9iTWfeUI3IGMF7SKNg==", "type": "package", @@ -595,6 +3478,316 @@ "tools/zh-Hant/Microsoft.VisualStudio.Containers.Tools.Tasks.resources.dll" ] }, + "MSTest.TestAdapter/3.3.1": { + "sha512": "ddSsUEQKibWamkosqbQmuhb1DpToI2LJb01yEPDA4MIhXJah4oBOARlLLI7bjWSkkRLDz/iPlx2Uac9qgmHlHg==", + "type": "package", + "path": "mstest.testadapter/3.3.1", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "PACKAGE.md", + "build/_localization/cs/Microsoft.TestPlatform.AdapterUtilities.resources.dll", + "build/_localization/cs/Microsoft.TestPlatform.CoreUtilities.resources.dll", + "build/_localization/cs/Microsoft.Testing.Extensions.Telemetry.resources.dll", + "build/_localization/cs/Microsoft.Testing.Extensions.VSTestBridge.resources.dll", + "build/_localization/cs/Microsoft.Testing.Platform.resources.dll", + "build/_localization/cs/Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.resources.dll", + "build/_localization/cs/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.resources.dll", + "build/_localization/cs/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll", + "build/_localization/cs/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll", + "build/_localization/de/Microsoft.TestPlatform.AdapterUtilities.resources.dll", + "build/_localization/de/Microsoft.TestPlatform.CoreUtilities.resources.dll", + "build/_localization/de/Microsoft.Testing.Extensions.Telemetry.resources.dll", + "build/_localization/de/Microsoft.Testing.Extensions.VSTestBridge.resources.dll", + "build/_localization/de/Microsoft.Testing.Platform.resources.dll", + "build/_localization/de/Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.resources.dll", + "build/_localization/de/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.resources.dll", + "build/_localization/de/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll", + "build/_localization/de/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll", + "build/_localization/es/Microsoft.TestPlatform.AdapterUtilities.resources.dll", + "build/_localization/es/Microsoft.TestPlatform.CoreUtilities.resources.dll", + "build/_localization/es/Microsoft.Testing.Extensions.Telemetry.resources.dll", + "build/_localization/es/Microsoft.Testing.Extensions.VSTestBridge.resources.dll", + "build/_localization/es/Microsoft.Testing.Platform.resources.dll", + "build/_localization/es/Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.resources.dll", + "build/_localization/es/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.resources.dll", + "build/_localization/es/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll", + "build/_localization/es/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll", + "build/_localization/fr/Microsoft.TestPlatform.AdapterUtilities.resources.dll", + "build/_localization/fr/Microsoft.TestPlatform.CoreUtilities.resources.dll", + "build/_localization/fr/Microsoft.Testing.Extensions.Telemetry.resources.dll", + "build/_localization/fr/Microsoft.Testing.Extensions.VSTestBridge.resources.dll", + "build/_localization/fr/Microsoft.Testing.Platform.resources.dll", + "build/_localization/fr/Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.resources.dll", + "build/_localization/fr/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.resources.dll", + "build/_localization/fr/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll", + "build/_localization/fr/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll", + "build/_localization/it/Microsoft.TestPlatform.AdapterUtilities.resources.dll", + "build/_localization/it/Microsoft.TestPlatform.CoreUtilities.resources.dll", + "build/_localization/it/Microsoft.Testing.Extensions.Telemetry.resources.dll", + "build/_localization/it/Microsoft.Testing.Extensions.VSTestBridge.resources.dll", + "build/_localization/it/Microsoft.Testing.Platform.resources.dll", + "build/_localization/it/Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.resources.dll", + "build/_localization/it/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.resources.dll", + "build/_localization/it/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll", + "build/_localization/it/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll", + "build/_localization/ja/Microsoft.TestPlatform.AdapterUtilities.resources.dll", + "build/_localization/ja/Microsoft.TestPlatform.CoreUtilities.resources.dll", + "build/_localization/ja/Microsoft.Testing.Extensions.Telemetry.resources.dll", + "build/_localization/ja/Microsoft.Testing.Extensions.VSTestBridge.resources.dll", + "build/_localization/ja/Microsoft.Testing.Platform.resources.dll", + "build/_localization/ja/Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.resources.dll", + "build/_localization/ja/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.resources.dll", + "build/_localization/ja/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll", + "build/_localization/ja/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll", + "build/_localization/ko/Microsoft.TestPlatform.AdapterUtilities.resources.dll", + "build/_localization/ko/Microsoft.TestPlatform.CoreUtilities.resources.dll", + "build/_localization/ko/Microsoft.Testing.Extensions.Telemetry.resources.dll", + "build/_localization/ko/Microsoft.Testing.Extensions.VSTestBridge.resources.dll", + "build/_localization/ko/Microsoft.Testing.Platform.resources.dll", + "build/_localization/ko/Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.resources.dll", + "build/_localization/ko/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.resources.dll", + "build/_localization/ko/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll", + "build/_localization/ko/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll", + "build/_localization/pl/Microsoft.TestPlatform.AdapterUtilities.resources.dll", + "build/_localization/pl/Microsoft.TestPlatform.CoreUtilities.resources.dll", + "build/_localization/pl/Microsoft.Testing.Extensions.Telemetry.resources.dll", + "build/_localization/pl/Microsoft.Testing.Extensions.VSTestBridge.resources.dll", + "build/_localization/pl/Microsoft.Testing.Platform.resources.dll", + "build/_localization/pl/Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.resources.dll", + "build/_localization/pl/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.resources.dll", + "build/_localization/pl/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll", + "build/_localization/pl/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll", + "build/_localization/pt-BR/Microsoft.TestPlatform.AdapterUtilities.resources.dll", + "build/_localization/pt-BR/Microsoft.TestPlatform.CoreUtilities.resources.dll", + "build/_localization/pt-BR/Microsoft.Testing.Extensions.Telemetry.resources.dll", + "build/_localization/pt-BR/Microsoft.Testing.Extensions.VSTestBridge.resources.dll", + "build/_localization/pt-BR/Microsoft.Testing.Platform.resources.dll", + "build/_localization/pt-BR/Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.resources.dll", + "build/_localization/pt-BR/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.resources.dll", + "build/_localization/pt-BR/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll", + "build/_localization/pt-BR/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll", + "build/_localization/ru/Microsoft.TestPlatform.AdapterUtilities.resources.dll", + "build/_localization/ru/Microsoft.TestPlatform.CoreUtilities.resources.dll", + "build/_localization/ru/Microsoft.Testing.Extensions.Telemetry.resources.dll", + "build/_localization/ru/Microsoft.Testing.Extensions.VSTestBridge.resources.dll", + "build/_localization/ru/Microsoft.Testing.Platform.resources.dll", + "build/_localization/ru/Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.resources.dll", + "build/_localization/ru/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.resources.dll", + "build/_localization/ru/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll", + "build/_localization/ru/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll", + "build/_localization/tr/Microsoft.TestPlatform.AdapterUtilities.resources.dll", + "build/_localization/tr/Microsoft.TestPlatform.CoreUtilities.resources.dll", + "build/_localization/tr/Microsoft.Testing.Extensions.Telemetry.resources.dll", + "build/_localization/tr/Microsoft.Testing.Extensions.VSTestBridge.resources.dll", + "build/_localization/tr/Microsoft.Testing.Platform.resources.dll", + "build/_localization/tr/Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.resources.dll", + "build/_localization/tr/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.resources.dll", + "build/_localization/tr/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll", + "build/_localization/tr/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll", + "build/_localization/zh-Hans/Microsoft.TestPlatform.AdapterUtilities.resources.dll", + "build/_localization/zh-Hans/Microsoft.TestPlatform.CoreUtilities.resources.dll", + "build/_localization/zh-Hans/Microsoft.Testing.Extensions.Telemetry.resources.dll", + "build/_localization/zh-Hans/Microsoft.Testing.Extensions.VSTestBridge.resources.dll", + "build/_localization/zh-Hans/Microsoft.Testing.Platform.resources.dll", + "build/_localization/zh-Hans/Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.resources.dll", + "build/_localization/zh-Hans/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.resources.dll", + "build/_localization/zh-Hans/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll", + "build/_localization/zh-Hans/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll", + "build/_localization/zh-Hant/Microsoft.TestPlatform.AdapterUtilities.resources.dll", + "build/_localization/zh-Hant/Microsoft.TestPlatform.CoreUtilities.resources.dll", + "build/_localization/zh-Hant/Microsoft.Testing.Extensions.Telemetry.resources.dll", + "build/_localization/zh-Hant/Microsoft.Testing.Extensions.VSTestBridge.resources.dll", + "build/_localization/zh-Hant/Microsoft.Testing.Platform.resources.dll", + "build/_localization/zh-Hant/Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.resources.dll", + "build/_localization/zh-Hant/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.resources.dll", + "build/_localization/zh-Hant/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll", + "build/_localization/zh-Hant/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll", + "build/net462/MSTest.TestAdapter.props", + "build/net462/MSTest.TestAdapter.targets", + "build/net462/Microsoft.TestPlatform.AdapterUtilities.dll", + "build/net462/Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.dll", + "build/net462/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.dll", + "build/net462/Microsoft.VisualStudio.TestPlatform.TestFramework.dll", + "build/net6.0/MSTest.TestAdapter.props", + "build/net6.0/MSTest.TestAdapter.targets", + "build/net6.0/Microsoft.TestPlatform.AdapterUtilities.dll", + "build/net6.0/Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.dll", + "build/net6.0/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.dll", + "build/net6.0/Microsoft.VisualStudio.TestPlatform.TestFramework.dll", + "build/net6.0/winui/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.dll", + "build/net7.0/MSTest.TestAdapter.props", + "build/net7.0/MSTest.TestAdapter.targets", + "build/net7.0/Microsoft.TestPlatform.AdapterUtilities.dll", + "build/net7.0/Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.dll", + "build/net7.0/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.dll", + "build/net7.0/Microsoft.VisualStudio.TestPlatform.TestFramework.dll", + "build/net8.0/MSTest.TestAdapter.props", + "build/net8.0/MSTest.TestAdapter.targets", + "build/net8.0/Microsoft.TestPlatform.AdapterUtilities.dll", + "build/net8.0/Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.dll", + "build/net8.0/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.dll", + "build/net8.0/Microsoft.VisualStudio.TestPlatform.TestFramework.dll", + "build/netcoreapp3.1/MSTest.TestAdapter.props", + "build/netcoreapp3.1/MSTest.TestAdapter.targets", + "build/netcoreapp3.1/Microsoft.TestPlatform.AdapterUtilities.dll", + "build/netcoreapp3.1/Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.dll", + "build/netcoreapp3.1/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.dll", + "build/netcoreapp3.1/Microsoft.VisualStudio.TestPlatform.TestFramework.dll", + "build/netstandard2.0/MSTest.TestAdapter.props", + "build/netstandard2.0/MSTest.TestAdapter.targets", + "build/netstandard2.0/Microsoft.TestPlatform.AdapterUtilities.dll", + "build/netstandard2.0/Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.dll", + "build/netstandard2.0/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.dll", + "build/netstandard2.0/Microsoft.VisualStudio.TestPlatform.TestFramework.dll", + "build/uap10.0/MSTest.TestAdapter.props", + "build/uap10.0/MSTest.TestAdapter.targets", + "build/uap10.0/Microsoft.TestPlatform.AdapterUtilities.dll", + "build/uap10.0/Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.dll", + "build/uap10.0/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.dll", + "build/uap10.0/Microsoft.VisualStudio.TestPlatform.TestFramework.dll", + "mstest.testadapter.3.3.1.nupkg.sha512", + "mstest.testadapter.nuspec" + ] + }, + "MSTest.TestFramework/3.3.1": { + "sha512": "020SuA2p8N7o+/AHC0SLgzGpyS1hNjR8m5tWxnuGqJ3HeJhArUbuPAU8RZr8Ll38ij8oiutGCkQ/G+ymyO51Ow==", + "type": "package", + "path": "mstest.testframework/3.3.1", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "PACKAGE.md", + "build/net6.0/MSTest.TestFramework.targets", + "build/net6.0/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.dll", + "build/net6.0/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml", + "build/net6.0/winui/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.dll", + "build/net6.0/winui/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml", + "build/net7.0/MSTest.TestFramework.targets", + "build/net7.0/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.dll", + "build/net7.0/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml", + "build/net8.0/MSTest.TestFramework.targets", + "build/net8.0/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.dll", + "build/net8.0/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml", + "lib/net462/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.dll", + "lib/net462/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml", + "lib/net462/Microsoft.VisualStudio.TestPlatform.TestFramework.dll", + "lib/net462/Microsoft.VisualStudio.TestPlatform.TestFramework.xml", + "lib/net462/cs/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll", + "lib/net462/de/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll", + "lib/net462/es/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll", + "lib/net462/fr/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll", + "lib/net462/it/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll", + "lib/net462/ja/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll", + "lib/net462/ko/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll", + "lib/net462/pl/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll", + "lib/net462/pt-BR/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll", + "lib/net462/ru/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll", + "lib/net462/tr/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll", + "lib/net462/zh-Hans/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll", + "lib/net462/zh-Hant/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll", + "lib/net6.0/Microsoft.VisualStudio.TestPlatform.TestFramework.dll", + "lib/net6.0/Microsoft.VisualStudio.TestPlatform.TestFramework.xml", + "lib/net6.0/cs/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll", + "lib/net6.0/de/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll", + "lib/net6.0/es/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll", + "lib/net6.0/fr/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll", + "lib/net6.0/it/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll", + "lib/net6.0/ja/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll", + "lib/net6.0/ko/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll", + "lib/net6.0/pl/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll", + "lib/net6.0/pt-BR/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll", + "lib/net6.0/ru/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll", + "lib/net6.0/tr/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll", + "lib/net6.0/zh-Hans/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll", + "lib/net6.0/zh-Hant/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll", + "lib/net7.0/Microsoft.VisualStudio.TestPlatform.TestFramework.dll", + "lib/net7.0/Microsoft.VisualStudio.TestPlatform.TestFramework.xml", + "lib/net7.0/cs/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll", + "lib/net7.0/de/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll", + "lib/net7.0/es/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll", + "lib/net7.0/fr/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll", + "lib/net7.0/it/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll", + "lib/net7.0/ja/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll", + "lib/net7.0/ko/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll", + "lib/net7.0/pl/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll", + "lib/net7.0/pt-BR/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll", + "lib/net7.0/ru/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll", + "lib/net7.0/tr/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll", + "lib/net7.0/zh-Hans/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll", + "lib/net7.0/zh-Hant/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll", + "lib/net8.0/Microsoft.VisualStudio.TestPlatform.TestFramework.dll", + "lib/net8.0/Microsoft.VisualStudio.TestPlatform.TestFramework.xml", + "lib/net8.0/cs/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll", + "lib/net8.0/de/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll", + "lib/net8.0/es/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll", + "lib/net8.0/fr/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll", + "lib/net8.0/it/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll", + "lib/net8.0/ja/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll", + "lib/net8.0/ko/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll", + "lib/net8.0/pl/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll", + "lib/net8.0/pt-BR/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll", + "lib/net8.0/ru/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll", + "lib/net8.0/tr/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll", + "lib/net8.0/zh-Hans/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll", + "lib/net8.0/zh-Hant/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll", + "lib/netcoreapp3.1/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.dll", + "lib/netcoreapp3.1/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml", + "lib/netcoreapp3.1/Microsoft.VisualStudio.TestPlatform.TestFramework.dll", + "lib/netcoreapp3.1/Microsoft.VisualStudio.TestPlatform.TestFramework.xml", + "lib/netcoreapp3.1/cs/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll", + "lib/netcoreapp3.1/de/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll", + "lib/netcoreapp3.1/es/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll", + "lib/netcoreapp3.1/fr/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll", + "lib/netcoreapp3.1/it/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll", + "lib/netcoreapp3.1/ja/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll", + "lib/netcoreapp3.1/ko/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll", + "lib/netcoreapp3.1/pl/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll", + "lib/netcoreapp3.1/pt-BR/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll", + "lib/netcoreapp3.1/ru/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll", + "lib/netcoreapp3.1/tr/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll", + "lib/netcoreapp3.1/zh-Hans/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll", + "lib/netcoreapp3.1/zh-Hant/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll", + "lib/netstandard2.0/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.dll", + "lib/netstandard2.0/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml", + "lib/netstandard2.0/Microsoft.VisualStudio.TestPlatform.TestFramework.dll", + "lib/netstandard2.0/Microsoft.VisualStudio.TestPlatform.TestFramework.xml", + "lib/netstandard2.0/cs/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll", + "lib/netstandard2.0/de/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll", + "lib/netstandard2.0/es/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll", + "lib/netstandard2.0/fr/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll", + "lib/netstandard2.0/it/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll", + "lib/netstandard2.0/ja/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll", + "lib/netstandard2.0/ko/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll", + "lib/netstandard2.0/pl/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll", + "lib/netstandard2.0/pt-BR/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll", + "lib/netstandard2.0/ru/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll", + "lib/netstandard2.0/tr/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll", + "lib/netstandard2.0/zh-Hans/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll", + "lib/netstandard2.0/zh-Hant/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll", + "lib/uap10.0/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.dll", + "lib/uap10.0/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml", + "lib/uap10.0/Microsoft.VisualStudio.TestPlatform.TestFramework.dll", + "lib/uap10.0/Microsoft.VisualStudio.TestPlatform.TestFramework.xml", + "lib/uap10.0/cs/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll", + "lib/uap10.0/de/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll", + "lib/uap10.0/es/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll", + "lib/uap10.0/fr/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll", + "lib/uap10.0/it/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll", + "lib/uap10.0/ja/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll", + "lib/uap10.0/ko/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll", + "lib/uap10.0/pl/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll", + "lib/uap10.0/pt-BR/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll", + "lib/uap10.0/ru/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll", + "lib/uap10.0/tr/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll", + "lib/uap10.0/zh-Hans/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll", + "lib/uap10.0/zh-Hant/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll", + "mstest.testframework.3.3.1.nupkg.sha512", + "mstest.testframework.nuspec" + ] + }, "MySqlConnector/2.3.5": { "sha512": "AmEfUPkFl+Ev6jJ8Dhns3CYHBfD12RHzGYWuLt6DfG6/af6YvOMyPz74ZPPjBYQGRJkumD2Z48Kqm8s5DJuhLA==", "type": "package", @@ -641,6 +3834,33 @@ "mysqlconnector.dependencyinjection.nuspec" ] }, + "Newtonsoft.Json/13.0.1": { + "sha512": "ppPFpBcvxdsfUonNcvITKqLl3bqxWbDCZIzDWHzjpdAHRFfZe0Dw9HmA0+za13IdyrgJwpkDTDA9fHaxOrt20A==", + "type": "package", + "path": "newtonsoft.json/13.0.1", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "LICENSE.md", + "lib/net20/Newtonsoft.Json.dll", + "lib/net20/Newtonsoft.Json.xml", + "lib/net35/Newtonsoft.Json.dll", + "lib/net35/Newtonsoft.Json.xml", + "lib/net40/Newtonsoft.Json.dll", + "lib/net40/Newtonsoft.Json.xml", + "lib/net45/Newtonsoft.Json.dll", + "lib/net45/Newtonsoft.Json.xml", + "lib/netstandard1.0/Newtonsoft.Json.dll", + "lib/netstandard1.0/Newtonsoft.Json.xml", + "lib/netstandard1.3/Newtonsoft.Json.dll", + "lib/netstandard1.3/Newtonsoft.Json.xml", + "lib/netstandard2.0/Newtonsoft.Json.dll", + "lib/netstandard2.0/Newtonsoft.Json.xml", + "newtonsoft.json.13.0.1.nupkg.sha512", + "newtonsoft.json.nuspec", + "packageIcon.png" + ] + }, "Swashbuckle.AspNetCore/6.5.0": { "sha512": "FK05XokgjgwlCI6wCT+D4/abtQkL1X1/B9Oas6uIwHFmYrIO9WUD5aLC9IzMs9GnHfUXOtXZ2S43gN1mhs5+aA==", "type": "package", @@ -730,30 +3950,299 @@ "swashbuckle.aspnetcore.swaggerui.6.5.0.nupkg.sha512", "swashbuckle.aspnetcore.swaggerui.nuspec" ] + }, + "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.IO.Pipelines/8.0.0": { + "sha512": "FHNOatmUq0sqJOkTx+UF/9YK1f180cnW5FVqnQMvYUN0elp6wFzbtPSiqbo1/ru8ICp43JM1i7kKkk6GsNGHlA==", + "type": "package", + "path": "system.io.pipelines/8.0.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", + "buildTransitive/net461/System.IO.Pipelines.targets", + "buildTransitive/net462/_._", + "buildTransitive/net6.0/_._", + "buildTransitive/netcoreapp2.0/System.IO.Pipelines.targets", + "lib/net462/System.IO.Pipelines.dll", + "lib/net462/System.IO.Pipelines.xml", + "lib/net6.0/System.IO.Pipelines.dll", + "lib/net6.0/System.IO.Pipelines.xml", + "lib/net7.0/System.IO.Pipelines.dll", + "lib/net7.0/System.IO.Pipelines.xml", + "lib/net8.0/System.IO.Pipelines.dll", + "lib/net8.0/System.IO.Pipelines.xml", + "lib/netstandard2.0/System.IO.Pipelines.dll", + "lib/netstandard2.0/System.IO.Pipelines.xml", + "system.io.pipelines.8.0.0.nupkg.sha512", + "system.io.pipelines.nuspec", + "useSharedDesignerContext.txt" + ] + }, + "System.Reflection.Metadata/1.6.0": { + "sha512": "COC1aiAJjCoA5GBF+QKL2uLqEBew4JsCkQmoHKbN3TlOZKa2fKLz5CpiRQKDz0RsAOEGsVKqOD5bomsXq/4STQ==", + "type": "package", + "path": "system.reflection.metadata/1.6.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", + "lib/netstandard1.1/System.Reflection.Metadata.dll", + "lib/netstandard1.1/System.Reflection.Metadata.xml", + "lib/netstandard2.0/System.Reflection.Metadata.dll", + "lib/netstandard2.0/System.Reflection.Metadata.xml", + "lib/portable-net45+win8/System.Reflection.Metadata.dll", + "lib/portable-net45+win8/System.Reflection.Metadata.xml", + "system.reflection.metadata.1.6.0.nupkg.sha512", + "system.reflection.metadata.nuspec", + "useSharedDesignerContext.txt", + "version.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" + ] + }, + "xunit.abstractions/2.0.3": { + "sha512": "pot1I4YOxlWjIb5jmwvvQNbTrZ3lJQ+jUGkGjWE3hEFM0l5gOnBWS+H3qsex68s5cO52g+44vpGzhAt+42vwKg==", + "type": "package", + "path": "xunit.abstractions/2.0.3", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/net35/xunit.abstractions.dll", + "lib/net35/xunit.abstractions.xml", + "lib/netstandard1.0/xunit.abstractions.dll", + "lib/netstandard1.0/xunit.abstractions.xml", + "lib/netstandard2.0/xunit.abstractions.dll", + "lib/netstandard2.0/xunit.abstractions.xml", + "xunit.abstractions.2.0.3.nupkg.sha512", + "xunit.abstractions.nuspec" + ] + }, + "xunit.extensibility.core/2.7.1": { + "sha512": "yLX4XlBFkvNYCzf+DEzlNk45KsSlu9W93IJHBmtUP96qZ9XyRYDFlwMj6BCcOhDKVNrZxSM8bqu4F/Qud4ehxA==", + "type": "package", + "path": "xunit.extensibility.core/2.7.1", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "_content/README.md", + "_content/logo-128-transparent.png", + "lib/net452/xunit.core.dll", + "lib/net452/xunit.core.dll.tdnet", + "lib/net452/xunit.core.xml", + "lib/net452/xunit.runner.tdnet.dll", + "lib/net452/xunit.runner.utility.net452.dll", + "lib/netstandard1.1/xunit.core.dll", + "lib/netstandard1.1/xunit.core.xml", + "xunit.extensibility.core.2.7.1.nupkg.sha512", + "xunit.extensibility.core.nuspec" + ] } }, "projectFileDependencyGroups": { "net8.0": [ + "MSTest.TestAdapter >= 3.3.1", + "MSTest.TestFramework >= 3.3.1", + "Microsoft.AspNetCore.Mvc.Testing >= 8.0.4", + "Microsoft.CodeCoverage >= 17.9.0", + "Microsoft.NET.Test.Sdk >= 17.9.0", "Microsoft.VisualStudio.Azure.Containers.Tools.Targets >= 1.19.6", "MySqlConnector >= 2.3.5", "MySqlConnector.DependencyInjection >= 2.3.5", - "Swashbuckle.AspNetCore >= 6.5.0" + "Swashbuckle.AspNetCore >= 6.5.0", + "xunit.extensibility.core >= 2.7.1" ] }, "packageFolders": { - "C:\\Users\\gigem\\.nuget\\packages\\": {} + "C:\\Users\\Evan\\.nuget\\packages\\": {} }, "project": { "version": "1.0.0", "restore": { - "projectUniqueName": "C:\\College_Stuff\\2024_Spring\\CSCE482\\Project\\chemistry-cafe-api\\Chemistry Cafe API.csproj", + "projectUniqueName": "C:\\Users\\Evan\\Documents\\GitHub\\chemistry-cafe-api\\Chemistry Cafe API.csproj", "projectName": "Chemistry Cafe API", - "projectPath": "C:\\College_Stuff\\2024_Spring\\CSCE482\\Project\\chemistry-cafe-api\\Chemistry Cafe API.csproj", - "packagesPath": "C:\\Users\\gigem\\.nuget\\packages\\", - "outputPath": "C:\\College_Stuff\\2024_Spring\\CSCE482\\Project\\chemistry-cafe-api\\obj\\", + "projectPath": "C:\\Users\\Evan\\Documents\\GitHub\\chemistry-cafe-api\\Chemistry Cafe API.csproj", + "packagesPath": "C:\\Users\\Evan\\.nuget\\packages\\", + "outputPath": "C:\\Users\\Evan\\Documents\\GitHub\\chemistry-cafe-api\\obj\\", "projectStyle": "PackageReference", "configFilePaths": [ - "C:\\Users\\gigem\\AppData\\Roaming\\NuGet\\NuGet.Config", + "C:\\Users\\Evan\\AppData\\Roaming\\NuGet\\NuGet.Config", "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config" ], "originalTargetFrameworks": [ @@ -784,6 +4273,26 @@ "net8.0": { "targetAlias": "net8.0", "dependencies": { + "MSTest.TestAdapter": { + "target": "Package", + "version": "[3.3.1, )" + }, + "MSTest.TestFramework": { + "target": "Package", + "version": "[3.3.1, )" + }, + "Microsoft.AspNetCore.Mvc.Testing": { + "target": "Package", + "version": "[8.0.4, )" + }, + "Microsoft.CodeCoverage": { + "target": "Package", + "version": "[17.9.0, )" + }, + "Microsoft.NET.Test.Sdk": { + "target": "Package", + "version": "[17.9.0, )" + }, "Microsoft.VisualStudio.Azure.Containers.Tools.Targets": { "target": "Package", "version": "[1.19.6, )" @@ -799,6 +4308,10 @@ "Swashbuckle.AspNetCore": { "target": "Package", "version": "[6.5.0, )" + }, + "xunit.extensibility.core": { + "target": "Package", + "version": "[2.7.1, )" } }, "imports": [ diff --git a/obj/project.nuget.cache b/obj/project.nuget.cache index fd00643..1e873e8 100644 --- a/obj/project.nuget.cache +++ b/obj/project.nuget.cache @@ -1,20 +1,69 @@ { "version": 2, - "dgSpecHash": "/ndC/khMlBa9AQIaSdtrhO26tuvwrG7ai6jb+tgRUf0mo8HAXXbQ+pj951e6Rj/5xQMRQiuZlKlgQSw9cTGPrw==", + "dgSpecHash": "9erSHxnEZv9HkTVewtbCfXxCNCmbsMSWrUpPf7l20A8Z96GcwI96pOyjU1M8V322cwJgIN8xIwl5S0tlVgxuUQ==", "success": true, - "projectFilePath": "C:\\College_Stuff\\2024_Spring\\CSCE482\\Project\\chemistry-cafe-api\\Chemistry Cafe API.csproj", + "projectFilePath": "C:\\Users\\Evan\\Documents\\GitHub\\chemistry-cafe-api\\Chemistry Cafe API.csproj", "expectedPackageFiles": [ - "C:\\Users\\gigem\\.nuget\\packages\\microsoft.extensions.apidescription.server\\6.0.5\\microsoft.extensions.apidescription.server.6.0.5.nupkg.sha512", - "C:\\Users\\gigem\\.nuget\\packages\\microsoft.extensions.dependencyinjection.abstractions\\8.0.0\\microsoft.extensions.dependencyinjection.abstractions.8.0.0.nupkg.sha512", - "C:\\Users\\gigem\\.nuget\\packages\\microsoft.extensions.logging.abstractions\\7.0.1\\microsoft.extensions.logging.abstractions.7.0.1.nupkg.sha512", - "C:\\Users\\gigem\\.nuget\\packages\\microsoft.openapi\\1.2.3\\microsoft.openapi.1.2.3.nupkg.sha512", - "C:\\Users\\gigem\\.nuget\\packages\\microsoft.visualstudio.azure.containers.tools.targets\\1.19.6\\microsoft.visualstudio.azure.containers.tools.targets.1.19.6.nupkg.sha512", - "C:\\Users\\gigem\\.nuget\\packages\\mysqlconnector\\2.3.5\\mysqlconnector.2.3.5.nupkg.sha512", - "C:\\Users\\gigem\\.nuget\\packages\\mysqlconnector.dependencyinjection\\2.3.5\\mysqlconnector.dependencyinjection.2.3.5.nupkg.sha512", - "C:\\Users\\gigem\\.nuget\\packages\\swashbuckle.aspnetcore\\6.5.0\\swashbuckle.aspnetcore.6.5.0.nupkg.sha512", - "C:\\Users\\gigem\\.nuget\\packages\\swashbuckle.aspnetcore.swagger\\6.5.0\\swashbuckle.aspnetcore.swagger.6.5.0.nupkg.sha512", - "C:\\Users\\gigem\\.nuget\\packages\\swashbuckle.aspnetcore.swaggergen\\6.5.0\\swashbuckle.aspnetcore.swaggergen.6.5.0.nupkg.sha512", - "C:\\Users\\gigem\\.nuget\\packages\\swashbuckle.aspnetcore.swaggerui\\6.5.0\\swashbuckle.aspnetcore.swaggerui.6.5.0.nupkg.sha512" + "C:\\Users\\Evan\\.nuget\\packages\\microsoft.applicationinsights\\2.22.0\\microsoft.applicationinsights.2.22.0.nupkg.sha512", + "C:\\Users\\Evan\\.nuget\\packages\\microsoft.aspnetcore.mvc.testing\\8.0.4\\microsoft.aspnetcore.mvc.testing.8.0.4.nupkg.sha512", + "C:\\Users\\Evan\\.nuget\\packages\\microsoft.aspnetcore.testhost\\8.0.4\\microsoft.aspnetcore.testhost.8.0.4.nupkg.sha512", + "C:\\Users\\Evan\\.nuget\\packages\\microsoft.codecoverage\\17.9.0\\microsoft.codecoverage.17.9.0.nupkg.sha512", + "C:\\Users\\Evan\\.nuget\\packages\\microsoft.extensions.apidescription.server\\6.0.5\\microsoft.extensions.apidescription.server.6.0.5.nupkg.sha512", + "C:\\Users\\Evan\\.nuget\\packages\\microsoft.extensions.configuration\\8.0.0\\microsoft.extensions.configuration.8.0.0.nupkg.sha512", + "C:\\Users\\Evan\\.nuget\\packages\\microsoft.extensions.configuration.abstractions\\8.0.0\\microsoft.extensions.configuration.abstractions.8.0.0.nupkg.sha512", + "C:\\Users\\Evan\\.nuget\\packages\\microsoft.extensions.configuration.binder\\8.0.0\\microsoft.extensions.configuration.binder.8.0.0.nupkg.sha512", + "C:\\Users\\Evan\\.nuget\\packages\\microsoft.extensions.configuration.commandline\\8.0.0\\microsoft.extensions.configuration.commandline.8.0.0.nupkg.sha512", + "C:\\Users\\Evan\\.nuget\\packages\\microsoft.extensions.configuration.environmentvariables\\8.0.0\\microsoft.extensions.configuration.environmentvariables.8.0.0.nupkg.sha512", + "C:\\Users\\Evan\\.nuget\\packages\\microsoft.extensions.configuration.fileextensions\\8.0.0\\microsoft.extensions.configuration.fileextensions.8.0.0.nupkg.sha512", + "C:\\Users\\Evan\\.nuget\\packages\\microsoft.extensions.configuration.json\\8.0.0\\microsoft.extensions.configuration.json.8.0.0.nupkg.sha512", + "C:\\Users\\Evan\\.nuget\\packages\\microsoft.extensions.configuration.usersecrets\\8.0.0\\microsoft.extensions.configuration.usersecrets.8.0.0.nupkg.sha512", + "C:\\Users\\Evan\\.nuget\\packages\\microsoft.extensions.dependencyinjection\\8.0.0\\microsoft.extensions.dependencyinjection.8.0.0.nupkg.sha512", + "C:\\Users\\Evan\\.nuget\\packages\\microsoft.extensions.dependencyinjection.abstractions\\8.0.0\\microsoft.extensions.dependencyinjection.abstractions.8.0.0.nupkg.sha512", + "C:\\Users\\Evan\\.nuget\\packages\\microsoft.extensions.dependencymodel\\8.0.0\\microsoft.extensions.dependencymodel.8.0.0.nupkg.sha512", + "C:\\Users\\Evan\\.nuget\\packages\\microsoft.extensions.diagnostics\\8.0.0\\microsoft.extensions.diagnostics.8.0.0.nupkg.sha512", + "C:\\Users\\Evan\\.nuget\\packages\\microsoft.extensions.diagnostics.abstractions\\8.0.0\\microsoft.extensions.diagnostics.abstractions.8.0.0.nupkg.sha512", + "C:\\Users\\Evan\\.nuget\\packages\\microsoft.extensions.fileproviders.abstractions\\8.0.0\\microsoft.extensions.fileproviders.abstractions.8.0.0.nupkg.sha512", + "C:\\Users\\Evan\\.nuget\\packages\\microsoft.extensions.fileproviders.physical\\8.0.0\\microsoft.extensions.fileproviders.physical.8.0.0.nupkg.sha512", + "C:\\Users\\Evan\\.nuget\\packages\\microsoft.extensions.filesystemglobbing\\8.0.0\\microsoft.extensions.filesystemglobbing.8.0.0.nupkg.sha512", + "C:\\Users\\Evan\\.nuget\\packages\\microsoft.extensions.hosting\\8.0.0\\microsoft.extensions.hosting.8.0.0.nupkg.sha512", + "C:\\Users\\Evan\\.nuget\\packages\\microsoft.extensions.hosting.abstractions\\8.0.0\\microsoft.extensions.hosting.abstractions.8.0.0.nupkg.sha512", + "C:\\Users\\Evan\\.nuget\\packages\\microsoft.extensions.logging\\8.0.0\\microsoft.extensions.logging.8.0.0.nupkg.sha512", + "C:\\Users\\Evan\\.nuget\\packages\\microsoft.extensions.logging.abstractions\\8.0.0\\microsoft.extensions.logging.abstractions.8.0.0.nupkg.sha512", + "C:\\Users\\Evan\\.nuget\\packages\\microsoft.extensions.logging.configuration\\8.0.0\\microsoft.extensions.logging.configuration.8.0.0.nupkg.sha512", + "C:\\Users\\Evan\\.nuget\\packages\\microsoft.extensions.logging.console\\8.0.0\\microsoft.extensions.logging.console.8.0.0.nupkg.sha512", + "C:\\Users\\Evan\\.nuget\\packages\\microsoft.extensions.logging.debug\\8.0.0\\microsoft.extensions.logging.debug.8.0.0.nupkg.sha512", + "C:\\Users\\Evan\\.nuget\\packages\\microsoft.extensions.logging.eventlog\\8.0.0\\microsoft.extensions.logging.eventlog.8.0.0.nupkg.sha512", + "C:\\Users\\Evan\\.nuget\\packages\\microsoft.extensions.logging.eventsource\\8.0.0\\microsoft.extensions.logging.eventsource.8.0.0.nupkg.sha512", + "C:\\Users\\Evan\\.nuget\\packages\\microsoft.extensions.options\\8.0.0\\microsoft.extensions.options.8.0.0.nupkg.sha512", + "C:\\Users\\Evan\\.nuget\\packages\\microsoft.extensions.options.configurationextensions\\8.0.0\\microsoft.extensions.options.configurationextensions.8.0.0.nupkg.sha512", + "C:\\Users\\Evan\\.nuget\\packages\\microsoft.extensions.primitives\\8.0.0\\microsoft.extensions.primitives.8.0.0.nupkg.sha512", + "C:\\Users\\Evan\\.nuget\\packages\\microsoft.net.test.sdk\\17.9.0\\microsoft.net.test.sdk.17.9.0.nupkg.sha512", + "C:\\Users\\Evan\\.nuget\\packages\\microsoft.openapi\\1.2.3\\microsoft.openapi.1.2.3.nupkg.sha512", + "C:\\Users\\Evan\\.nuget\\packages\\microsoft.testing.extensions.telemetry\\1.1.0\\microsoft.testing.extensions.telemetry.1.1.0.nupkg.sha512", + "C:\\Users\\Evan\\.nuget\\packages\\microsoft.testing.extensions.trxreport.abstractions\\1.1.0\\microsoft.testing.extensions.trxreport.abstractions.1.1.0.nupkg.sha512", + "C:\\Users\\Evan\\.nuget\\packages\\microsoft.testing.extensions.vstestbridge\\1.1.0\\microsoft.testing.extensions.vstestbridge.1.1.0.nupkg.sha512", + "C:\\Users\\Evan\\.nuget\\packages\\microsoft.testing.platform\\1.1.0\\microsoft.testing.platform.1.1.0.nupkg.sha512", + "C:\\Users\\Evan\\.nuget\\packages\\microsoft.testing.platform.msbuild\\1.1.0\\microsoft.testing.platform.msbuild.1.1.0.nupkg.sha512", + "C:\\Users\\Evan\\.nuget\\packages\\microsoft.testplatform.objectmodel\\17.9.0\\microsoft.testplatform.objectmodel.17.9.0.nupkg.sha512", + "C:\\Users\\Evan\\.nuget\\packages\\microsoft.testplatform.testhost\\17.9.0\\microsoft.testplatform.testhost.17.9.0.nupkg.sha512", + "C:\\Users\\Evan\\.nuget\\packages\\microsoft.visualstudio.azure.containers.tools.targets\\1.19.6\\microsoft.visualstudio.azure.containers.tools.targets.1.19.6.nupkg.sha512", + "C:\\Users\\Evan\\.nuget\\packages\\mstest.testadapter\\3.3.1\\mstest.testadapter.3.3.1.nupkg.sha512", + "C:\\Users\\Evan\\.nuget\\packages\\mstest.testframework\\3.3.1\\mstest.testframework.3.3.1.nupkg.sha512", + "C:\\Users\\Evan\\.nuget\\packages\\mysqlconnector\\2.3.5\\mysqlconnector.2.3.5.nupkg.sha512", + "C:\\Users\\Evan\\.nuget\\packages\\mysqlconnector.dependencyinjection\\2.3.5\\mysqlconnector.dependencyinjection.2.3.5.nupkg.sha512", + "C:\\Users\\Evan\\.nuget\\packages\\newtonsoft.json\\13.0.1\\newtonsoft.json.13.0.1.nupkg.sha512", + "C:\\Users\\Evan\\.nuget\\packages\\swashbuckle.aspnetcore\\6.5.0\\swashbuckle.aspnetcore.6.5.0.nupkg.sha512", + "C:\\Users\\Evan\\.nuget\\packages\\swashbuckle.aspnetcore.swagger\\6.5.0\\swashbuckle.aspnetcore.swagger.6.5.0.nupkg.sha512", + "C:\\Users\\Evan\\.nuget\\packages\\swashbuckle.aspnetcore.swaggergen\\6.5.0\\swashbuckle.aspnetcore.swaggergen.6.5.0.nupkg.sha512", + "C:\\Users\\Evan\\.nuget\\packages\\swashbuckle.aspnetcore.swaggerui\\6.5.0\\swashbuckle.aspnetcore.swaggerui.6.5.0.nupkg.sha512", + "C:\\Users\\Evan\\.nuget\\packages\\system.diagnostics.diagnosticsource\\8.0.0\\system.diagnostics.diagnosticsource.8.0.0.nupkg.sha512", + "C:\\Users\\Evan\\.nuget\\packages\\system.diagnostics.eventlog\\8.0.0\\system.diagnostics.eventlog.8.0.0.nupkg.sha512", + "C:\\Users\\Evan\\.nuget\\packages\\system.io.pipelines\\8.0.0\\system.io.pipelines.8.0.0.nupkg.sha512", + "C:\\Users\\Evan\\.nuget\\packages\\system.reflection.metadata\\1.6.0\\system.reflection.metadata.1.6.0.nupkg.sha512", + "C:\\Users\\Evan\\.nuget\\packages\\system.text.encodings.web\\8.0.0\\system.text.encodings.web.8.0.0.nupkg.sha512", + "C:\\Users\\Evan\\.nuget\\packages\\system.text.json\\8.0.0\\system.text.json.8.0.0.nupkg.sha512", + "C:\\Users\\Evan\\.nuget\\packages\\xunit.abstractions\\2.0.3\\xunit.abstractions.2.0.3.nupkg.sha512", + "C:\\Users\\Evan\\.nuget\\packages\\xunit.extensibility.core\\2.7.1\\xunit.extensibility.core.2.7.1.nupkg.sha512" ], "logs": [] } \ No newline at end of file