From 8f2bb8087dd3c1639eef8a88e9a3d1199f870c4e Mon Sep 17 00:00:00 2001 From: Artem Darius Weber Date: Mon, 13 May 2024 14:10:11 +0300 Subject: [PATCH] init --- db_lab.sln | 25 + db_lab/.gitignore | 1 + db_lab/App.config | 18 + db_lab/DataForm.Designer.cs | 39 + db_lab/DataForm.cs | 20 + db_lab/Form1.Designer.cs | 144 + db_lab/Form1.cs | 70 + db_lab/Form1.resx | 120 + db_lab/GuideForm.Designer.cs | 39 + db_lab/GuideForm.cs | 20 + db_lab/Program.cs | 22 + db_lab/Properties/AssemblyInfo.cs | 36 + db_lab/Properties/Resources.Designer.cs | 71 + db_lab/Properties/Resources.resx | 117 + db_lab/Properties/Settings.Designer.cs | 30 + db_lab/Properties/Settings.settings | 7 + db_lab/RaportForm.Designer.cs | 39 + db_lab/RaportForm.cs | 20 + .../Debug/Microsoft.Bcl.AsyncInterfaces.dll | Bin 0 -> 26904 bytes .../Debug/Microsoft.Bcl.AsyncInterfaces.xml | 417 + db_lab/bin/Debug/Microsoft.Bcl.HashCode.dll | Bin 0 -> 23424 bytes db_lab/bin/Debug/Microsoft.Bcl.HashCode.xml | 34 + ...sions.DependencyInjection.Abstractions.dll | Bin 0 -> 64264 bytes ...sions.DependencyInjection.Abstractions.xml | 2515 ++++ ...rosoft.Extensions.Logging.Abstractions.dll | Bin 0 -> 67856 bytes ...rosoft.Extensions.Logging.Abstractions.xml | 1350 ++ db_lab/bin/Debug/Npgsql.dll | Bin 0 -> 1384960 bytes db_lab/bin/Debug/Npgsql.xml | 11559 +++++++++++++++ db_lab/bin/Debug/System.Buffers.dll | Bin 0 -> 20856 bytes db_lab/bin/Debug/System.Buffers.xml | 38 + .../Debug/System.Collections.Immutable.dll | Bin 0 -> 252696 bytes .../Debug/System.Collections.Immutable.xml | 6100 ++++++++ .../System.Diagnostics.DiagnosticSource.dll | Bin 0 -> 189088 bytes .../System.Diagnostics.DiagnosticSource.xml | 1886 +++ db_lab/bin/Debug/System.Memory.dll | Bin 0 -> 142240 bytes db_lab/bin/Debug/System.Memory.xml | 355 + db_lab/bin/Debug/System.Numerics.Vectors.dll | Bin 0 -> 115856 bytes db_lab/bin/Debug/System.Numerics.Vectors.xml | 2621 ++++ ...System.Runtime.CompilerServices.Unsafe.dll | Bin 0 -> 18024 bytes ...System.Runtime.CompilerServices.Unsafe.xml | 291 + .../bin/Debug/System.Text.Encodings.Web.dll | Bin 0 -> 79024 bytes .../bin/Debug/System.Text.Encodings.Web.xml | 939 ++ db_lab/bin/Debug/System.Text.Json.dll | Bin 0 -> 642832 bytes db_lab/bin/Debug/System.Text.Json.xml | 5785 ++++++++ .../bin/Debug/System.Threading.Channels.dll | Bin 0 -> 74000 bytes .../bin/Debug/System.Threading.Channels.xml | 243 + .../System.Threading.Tasks.Extensions.dll | Bin 0 -> 25984 bytes .../System.Threading.Tasks.Extensions.xml | 166 + db_lab/bin/Debug/System.ValueTuple.dll | Bin 0 -> 25232 bytes db_lab/bin/Debug/System.ValueTuple.xml | 8 + db_lab/bin/Debug/db_lab.exe | Bin 0 -> 11264 bytes db_lab/bin/Debug/db_lab.exe.config | 18 + db_lab/bin/Debug/db_lab.pdb | Bin 0 -> 50688 bytes db_lab/db_lab.csproj | 151 + db_lab/docker-compose.yaml | 30 + ...ework,Version=v4.7.2.AssemblyAttributes.cs | 4 + .../DesignTimeResolveAssemblyReferences.cache | Bin 0 -> 139 bytes ...gnTimeResolveAssemblyReferencesInput.cache | Bin 0 -> 4356 bytes db_lab/obj/Debug/db_lab.Form1.resources | Bin 0 -> 180 bytes .../db_lab.Properties.Resources.resources | Bin 0 -> 180 bytes .../db_lab.csproj.AssemblyReference.cache | Bin 0 -> 22721 bytes db_lab/obj/Debug/db_lab.csproj.CopyComplete | 0 .../db_lab.csproj.CoreCompileInputs.cache | 1 + .../Debug/db_lab.csproj.FileListAbsolute.txt | 43 + .../db_lab.csproj.GenerateResource.cache | Bin 0 -> 126 bytes db_lab/obj/Debug/db_lab.exe | Bin 0 -> 11264 bytes db_lab/obj/Debug/db_lab.pdb | Bin 0 -> 50688 bytes db_lab/packages.config | 19 + .../.signature.p7s | Bin 0 -> 24214 bytes .../Icon.png | Bin 0 -> 7006 bytes .../LICENSE.TXT | 23 + .../Microsoft.Bcl.AsyncInterfaces.8.0.0.nupkg | Bin 0 -> 99740 bytes .../PACKAGE.md | 64 + .../THIRD-PARTY-NOTICES.TXT | 1272 ++ .../Microsoft.Bcl.AsyncInterfaces.targets | 6 + .../buildTransitive/net462/_._ | 0 .../net462/Microsoft.Bcl.AsyncInterfaces.dll | Bin 0 -> 26904 bytes .../net462/Microsoft.Bcl.AsyncInterfaces.xml | 417 + .../Microsoft.Bcl.AsyncInterfaces.dll | Bin 0 -> 26784 bytes .../Microsoft.Bcl.AsyncInterfaces.xml | 417 + .../Microsoft.Bcl.AsyncInterfaces.dll | Bin 0 -> 19104 bytes .../Microsoft.Bcl.AsyncInterfaces.xml | 124 + .../useSharedDesignerContext.txt | 0 .../.signature.p7s | Bin 0 -> 18703 bytes .../Microsoft.Bcl.HashCode.1.1.1/Icon.png | Bin 0 -> 1371 bytes .../Microsoft.Bcl.HashCode.1.1.1/LICENSE.TXT | 23 + .../Microsoft.Bcl.HashCode.1.1.1.nupkg | Bin 0 -> 104231 bytes .../THIRD-PARTY-NOTICES.TXT | 375 + .../lib/net461/Microsoft.Bcl.HashCode.dll | Bin 0 -> 23424 bytes .../lib/net461/Microsoft.Bcl.HashCode.xml | 34 + .../netcoreapp2.1/Microsoft.Bcl.HashCode.dll | Bin 0 -> 14208 bytes .../netcoreapp2.1/Microsoft.Bcl.HashCode.xml | 8 + .../netstandard2.0/Microsoft.Bcl.HashCode.dll | Bin 0 -> 23432 bytes .../netstandard2.0/Microsoft.Bcl.HashCode.xml | 34 + .../netstandard2.1/Microsoft.Bcl.HashCode.dll | Bin 0 -> 14208 bytes .../netstandard2.1/Microsoft.Bcl.HashCode.xml | 8 + .../ref/net461/Microsoft.Bcl.HashCode.dll | Bin 0 -> 15240 bytes .../netcoreapp2.1/Microsoft.Bcl.HashCode.dll | Bin 0 -> 14216 bytes .../netstandard2.0/Microsoft.Bcl.HashCode.dll | Bin 0 -> 15232 bytes .../netstandard2.1/Microsoft.Bcl.HashCode.dll | Bin 0 -> 14216 bytes .../useSharedDesignerContext.txt | 0 .../Microsoft.Bcl.HashCode.1.1.1/version.txt | 1 + .../.signature.p7s | Bin 0 -> 24222 bytes .../Icon.png | Bin 0 -> 7006 bytes .../LICENSE.TXT | 23 + ...pendencyInjection.Abstractions.8.0.0.nupkg | Bin 0 -> 276886 bytes .../PACKAGE.md | 34 + .../THIRD-PARTY-NOTICES.TXT | 1272 ++ ...s.DependencyInjection.Abstractions.targets | 6 + .../buildTransitive/net462/_._ | 0 .../buildTransitive/net6.0/_._ | 0 ...s.DependencyInjection.Abstractions.targets | 6 + ...sions.DependencyInjection.Abstractions.dll | Bin 0 -> 64264 bytes ...sions.DependencyInjection.Abstractions.xml | 2515 ++++ ...sions.DependencyInjection.Abstractions.dll | Bin 0 -> 63264 bytes ...sions.DependencyInjection.Abstractions.xml | 2207 +++ ...sions.DependencyInjection.Abstractions.dll | Bin 0 -> 61600 bytes ...sions.DependencyInjection.Abstractions.xml | 2107 +++ ...sions.DependencyInjection.Abstractions.dll | Bin 0 -> 64288 bytes ...sions.DependencyInjection.Abstractions.xml | 2112 +++ ...sions.DependencyInjection.Abstractions.dll | Bin 0 -> 64176 bytes ...sions.DependencyInjection.Abstractions.xml | 2515 ++++ ...sions.DependencyInjection.Abstractions.dll | Bin 0 -> 64264 bytes ...sions.DependencyInjection.Abstractions.xml | 2451 ++++ .../useSharedDesignerContext.txt | 0 .../.signature.p7s | Bin 0 -> 24223 bytes .../Icon.png | Bin 0 -> 7006 bytes .../LICENSE.TXT | 23 + ...xtensions.Logging.Abstractions.8.0.0.nupkg | Bin 0 -> 795935 bytes .../PACKAGE.md | 164 + .../THIRD-PARTY-NOTICES.TXT | 1272 ++ ...icrosoft.Extensions.Logging.Generators.dll | Bin 0 -> 72976 bytes ...xtensions.Logging.Generators.resources.dll | Bin 0 -> 21152 bytes ...xtensions.Logging.Generators.resources.dll | Bin 0 -> 21784 bytes ...xtensions.Logging.Generators.resources.dll | Bin 0 -> 21152 bytes ...xtensions.Logging.Generators.resources.dll | Bin 0 -> 21784 bytes ...xtensions.Logging.Generators.resources.dll | Bin 0 -> 21152 bytes ...xtensions.Logging.Generators.resources.dll | Bin 0 -> 21664 bytes ...xtensions.Logging.Generators.resources.dll | Bin 0 -> 21280 bytes ...xtensions.Logging.Generators.resources.dll | Bin 0 -> 21152 bytes ...xtensions.Logging.Generators.resources.dll | Bin 0 -> 21264 bytes ...xtensions.Logging.Generators.resources.dll | Bin 0 -> 23200 bytes ...xtensions.Logging.Generators.resources.dll | Bin 0 -> 21168 bytes ...xtensions.Logging.Generators.resources.dll | Bin 0 -> 20640 bytes ...xtensions.Logging.Generators.resources.dll | Bin 0 -> 20144 bytes ...icrosoft.Extensions.Logging.Generators.dll | Bin 0 -> 91296 bytes ...xtensions.Logging.Generators.resources.dll | Bin 0 -> 21152 bytes ...xtensions.Logging.Generators.resources.dll | Bin 0 -> 21784 bytes ...xtensions.Logging.Generators.resources.dll | Bin 0 -> 21152 bytes ...xtensions.Logging.Generators.resources.dll | Bin 0 -> 21784 bytes ...xtensions.Logging.Generators.resources.dll | Bin 0 -> 21152 bytes ...xtensions.Logging.Generators.resources.dll | Bin 0 -> 21664 bytes ...xtensions.Logging.Generators.resources.dll | Bin 0 -> 21280 bytes ...xtensions.Logging.Generators.resources.dll | Bin 0 -> 21152 bytes ...xtensions.Logging.Generators.resources.dll | Bin 0 -> 21264 bytes ...xtensions.Logging.Generators.resources.dll | Bin 0 -> 23200 bytes ...xtensions.Logging.Generators.resources.dll | Bin 0 -> 21168 bytes ...xtensions.Logging.Generators.resources.dll | Bin 0 -> 20640 bytes ...xtensions.Logging.Generators.resources.dll | Bin 0 -> 20144 bytes ...icrosoft.Extensions.Logging.Generators.dll | Bin 0 -> 75936 bytes ...xtensions.Logging.Generators.resources.dll | Bin 0 -> 21152 bytes ...xtensions.Logging.Generators.resources.dll | Bin 0 -> 21784 bytes ...xtensions.Logging.Generators.resources.dll | Bin 0 -> 21152 bytes ...xtensions.Logging.Generators.resources.dll | Bin 0 -> 21784 bytes ...xtensions.Logging.Generators.resources.dll | Bin 0 -> 21152 bytes ...xtensions.Logging.Generators.resources.dll | Bin 0 -> 21664 bytes ...xtensions.Logging.Generators.resources.dll | Bin 0 -> 21280 bytes ...xtensions.Logging.Generators.resources.dll | Bin 0 -> 21152 bytes ...xtensions.Logging.Generators.resources.dll | Bin 0 -> 21264 bytes ...xtensions.Logging.Generators.resources.dll | Bin 0 -> 23200 bytes ...xtensions.Logging.Generators.resources.dll | Bin 0 -> 21168 bytes ...xtensions.Logging.Generators.resources.dll | Bin 0 -> 20640 bytes ...xtensions.Logging.Generators.resources.dll | Bin 0 -> 20144 bytes ...ft.Extensions.Logging.Abstractions.targets | 6 + ...ft.Extensions.Logging.Abstractions.targets | 31 + ...ft.Extensions.Logging.Abstractions.targets | 31 + ...ft.Extensions.Logging.Abstractions.targets | 6 + ...ft.Extensions.Logging.Abstractions.targets | 31 + ...rosoft.Extensions.Logging.Abstractions.dll | Bin 0 -> 67856 bytes ...rosoft.Extensions.Logging.Abstractions.xml | 1350 ++ ...rosoft.Extensions.Logging.Abstractions.dll | Bin 0 -> 66336 bytes ...rosoft.Extensions.Logging.Abstractions.xml | 1241 ++ ...rosoft.Extensions.Logging.Abstractions.dll | Bin 0 -> 65296 bytes ...rosoft.Extensions.Logging.Abstractions.xml | 1170 ++ ...rosoft.Extensions.Logging.Abstractions.dll | Bin 0 -> 65184 bytes ...rosoft.Extensions.Logging.Abstractions.xml | 1170 ++ ...rosoft.Extensions.Logging.Abstractions.dll | Bin 0 -> 67864 bytes ...rosoft.Extensions.Logging.Abstractions.xml | 1350 ++ .../useSharedDesignerContext.txt | 0 packages/Npgsql.8.0.3/.signature.p7s | Bin 0 -> 12931 bytes packages/Npgsql.8.0.3/Npgsql.8.0.3.nupkg | Bin 0 -> 2850558 bytes packages/Npgsql.8.0.3/README.md | 44 + packages/Npgsql.8.0.3/lib/net6.0/Npgsql.dll | Bin 0 -> 1418240 bytes packages/Npgsql.8.0.3/lib/net6.0/Npgsql.xml | 11520 +++++++++++++++ packages/Npgsql.8.0.3/lib/net7.0/Npgsql.dll | Bin 0 -> 1405952 bytes packages/Npgsql.8.0.3/lib/net7.0/Npgsql.xml | 11431 +++++++++++++++ packages/Npgsql.8.0.3/lib/net8.0/Npgsql.dll | Bin 0 -> 1404928 bytes packages/Npgsql.8.0.3/lib/net8.0/Npgsql.xml | 11410 +++++++++++++++ .../lib/netstandard2.0/Npgsql.dll | Bin 0 -> 1384960 bytes .../lib/netstandard2.0/Npgsql.xml | 11559 +++++++++++++++ .../lib/netstandard2.1/Npgsql.dll | Bin 0 -> 1413632 bytes .../lib/netstandard2.1/Npgsql.xml | 11584 ++++++++++++++++ packages/Npgsql.8.0.3/postgresql.png | Bin 0 -> 9675 bytes packages/System.Buffers.4.5.1/.signature.p7s | Bin 0 -> 18702 bytes packages/System.Buffers.4.5.1/LICENSE.TXT | 23 + .../System.Buffers.4.5.1.nupkg | Bin 0 -> 93737 bytes .../THIRD-PARTY-NOTICES.TXT | 309 + .../lib/net461/System.Buffers.dll | Bin 0 -> 20856 bytes .../lib/net461/System.Buffers.xml | 38 + .../lib/netcoreapp2.0/_._ | 0 .../lib/netstandard1.1/System.Buffers.dll | Bin 0 -> 20864 bytes .../lib/netstandard1.1/System.Buffers.xml | 38 + .../lib/netstandard2.0/System.Buffers.dll | Bin 0 -> 21376 bytes .../lib/netstandard2.0/System.Buffers.xml | 38 + .../lib/uap10.0.16299/_._ | 0 .../ref/net45/System.Buffers.dll | Bin 0 -> 14720 bytes .../ref/net45/System.Buffers.xml | 38 + .../ref/netcoreapp2.0/_._ | 0 .../ref/netstandard1.1/System.Buffers.dll | Bin 0 -> 14712 bytes .../ref/netstandard1.1/System.Buffers.xml | 38 + .../ref/netstandard2.0/System.Buffers.dll | Bin 0 -> 14720 bytes .../ref/netstandard2.0/System.Buffers.xml | 38 + .../ref/uap10.0.16299/_._ | 0 .../useSharedDesignerContext.txt | 0 packages/System.Buffers.4.5.1/version.txt | 1 + .../.signature.p7s | Bin 0 -> 24214 bytes .../Icon.png | Bin 0 -> 7006 bytes .../LICENSE.TXT | 23 + .../PACKAGE.md | 72 + .../System.Collections.Immutable.8.0.0.nupkg | Bin 0 -> 787241 bytes .../THIRD-PARTY-NOTICES.TXT | 1272 ++ .../System.Collections.Immutable.targets | 6 + .../buildTransitive/net462/_._ | 0 .../buildTransitive/net6.0/_._ | 0 .../System.Collections.Immutable.targets | 6 + .../net462/System.Collections.Immutable.dll | Bin 0 -> 252696 bytes .../net462/System.Collections.Immutable.xml | 6100 ++++++++ .../net6.0/System.Collections.Immutable.dll | Bin 0 -> 247584 bytes .../net6.0/System.Collections.Immutable.xml | 6100 ++++++++ .../net7.0/System.Collections.Immutable.dll | Bin 0 -> 245920 bytes .../net7.0/System.Collections.Immutable.xml | 6100 ++++++++ .../net8.0/System.Collections.Immutable.dll | Bin 0 -> 245512 bytes .../net8.0/System.Collections.Immutable.xml | 6100 ++++++++ .../System.Collections.Immutable.dll | Bin 0 -> 252680 bytes .../System.Collections.Immutable.xml | 6100 ++++++++ .../useSharedDesignerContext.txt | 0 .../.signature.p7s | Bin 0 -> 24215 bytes .../Icon.png | Bin 0 -> 7006 bytes .../LICENSE.TXT | 23 + ...m.Diagnostics.DiagnosticSource.8.0.0.nupkg | Bin 0 -> 516197 bytes .../THIRD-PARTY-NOTICES.TXT | 1272 ++ ...ystem.Diagnostics.DiagnosticSource.targets | 6 + .../buildTransitive/net462/_._ | 0 .../buildTransitive/net6.0/_._ | 0 ...ystem.Diagnostics.DiagnosticSource.targets | 6 + .../System.Diagnostics.DiagnosticSource.dll | Bin 0 -> 189088 bytes .../System.Diagnostics.DiagnosticSource.xml | 1886 +++ .../System.Diagnostics.DiagnosticSource.dll | Bin 0 -> 164616 bytes .../System.Diagnostics.DiagnosticSource.xml | 1886 +++ .../System.Diagnostics.DiagnosticSource.dll | Bin 0 -> 164528 bytes .../System.Diagnostics.DiagnosticSource.xml | 1886 +++ .../System.Diagnostics.DiagnosticSource.dll | Bin 0 -> 164000 bytes .../System.Diagnostics.DiagnosticSource.xml | 1886 +++ .../System.Diagnostics.DiagnosticSource.dll | Bin 0 -> 175280 bytes .../System.Diagnostics.DiagnosticSource.xml | 1886 +++ .../useSharedDesignerContext.txt | 0 packages/System.Memory.4.5.5/.signature.p7s | Bin 0 -> 18702 bytes packages/System.Memory.4.5.5/LICENSE.TXT | 23 + .../System.Memory.4.5.5.nupkg | Bin 0 -> 208978 bytes .../THIRD-PARTY-NOTICES.TXT | 309 + .../lib/net461/System.Memory.dll | Bin 0 -> 142240 bytes .../lib/net461/System.Memory.xml | 355 + .../System.Memory.4.5.5/lib/netcoreapp2.1/_._ | 0 .../lib/netstandard1.1/System.Memory.dll | Bin 0 -> 138144 bytes .../lib/netstandard1.1/System.Memory.xml | 355 + .../lib/netstandard2.0/System.Memory.dll | Bin 0 -> 142752 bytes .../lib/netstandard2.0/System.Memory.xml | 355 + .../System.Memory.4.5.5/ref/netcoreapp2.1/_._ | 0 .../useSharedDesignerContext.txt | 0 packages/System.Memory.4.5.5/version.txt | 1 + .../.signature.p7s | Bin 0 -> 22354 bytes .../System.Numerics.Vectors.4.5.0/LICENSE.TXT | 23 + .../System.Numerics.Vectors.4.5.0.nupkg | Bin 0 -> 382792 bytes .../THIRD-PARTY-NOTICES.TXT | 309 + .../lib/MonoAndroid10/_._ | 0 .../lib/MonoTouch10/_._ | 0 .../lib/net46/System.Numerics.Vectors.dll | Bin 0 -> 115856 bytes .../lib/net46/System.Numerics.Vectors.xml | 2621 ++++ .../lib/netcoreapp2.0/_._ | 0 .../System.Numerics.Vectors.dll | Bin 0 -> 160912 bytes .../System.Numerics.Vectors.xml | 2621 ++++ .../System.Numerics.Vectors.dll | Bin 0 -> 163464 bytes .../System.Numerics.Vectors.xml | 2621 ++++ .../System.Numerics.Vectors.dll | Bin 0 -> 160912 bytes .../System.Numerics.Vectors.xml | 2621 ++++ .../lib/uap10.0.16299/_._ | 0 .../lib/xamarinios10/_._ | 0 .../lib/xamarinmac20/_._ | 0 .../lib/xamarintvos10/_._ | 0 .../lib/xamarinwatchos10/_._ | 0 .../ref/MonoAndroid10/_._ | 0 .../ref/MonoTouch10/_._ | 0 .../ref/net45/System.Numerics.Vectors.dll | Bin 0 -> 38032 bytes .../ref/net45/System.Numerics.Vectors.xml | 2621 ++++ .../ref/net46/System.Numerics.Vectors.dll | Bin 0 -> 29320 bytes .../ref/net46/System.Numerics.Vectors.xml | 2621 ++++ .../ref/netcoreapp2.0/_._ | 0 .../System.Numerics.Vectors.dll | Bin 0 -> 38272 bytes .../System.Numerics.Vectors.xml | 2621 ++++ .../System.Numerics.Vectors.dll | Bin 0 -> 38272 bytes .../System.Numerics.Vectors.xml | 2621 ++++ .../ref/uap10.0.16299/_._ | 0 .../ref/xamarinios10/_._ | 0 .../ref/xamarinmac20/_._ | 0 .../ref/xamarintvos10/_._ | 0 .../ref/xamarinwatchos10/_._ | 0 .../useSharedDesignerContext.txt | 0 .../System.Numerics.Vectors.4.5.0/version.txt | 1 + .../.signature.p7s | Bin 0 -> 18703 bytes .../Icon.png | Bin 0 -> 7006 bytes .../LICENSE.TXT | 23 + ...untime.CompilerServices.Unsafe.6.0.0.nupkg | Bin 0 -> 84343 bytes .../THIRD-PARTY-NOTICES.TXT | 939 ++ ...em.Runtime.CompilerServices.Unsafe.targets | 6 + .../buildTransitive/netcoreapp3.1/_._ | 0 ...System.Runtime.CompilerServices.Unsafe.dll | Bin 0 -> 18024 bytes ...System.Runtime.CompilerServices.Unsafe.xml | 291 + ...System.Runtime.CompilerServices.Unsafe.dll | Bin 0 -> 18024 bytes ...System.Runtime.CompilerServices.Unsafe.xml | 291 + ...System.Runtime.CompilerServices.Unsafe.dll | Bin 0 -> 18024 bytes ...System.Runtime.CompilerServices.Unsafe.xml | 291 + ...System.Runtime.CompilerServices.Unsafe.dll | Bin 0 -> 18024 bytes ...System.Runtime.CompilerServices.Unsafe.xml | 291 + .../useSharedDesignerContext.txt | 0 .../.signature.p7s | Bin 0 -> 24214 bytes .../System.Text.Encodings.Web.8.0.0/Icon.png | Bin 0 -> 7006 bytes .../LICENSE.TXT | 23 + .../System.Text.Encodings.Web.8.0.0.nupkg | Bin 0 -> 374440 bytes .../THIRD-PARTY-NOTICES.TXT | 1272 ++ .../net461/System.Text.Encodings.Web.targets | 6 + .../buildTransitive/net462/_._ | 0 .../buildTransitive/net6.0/_._ | 0 .../System.Text.Encodings.Web.targets | 6 + .../lib/net462/System.Text.Encodings.Web.dll | Bin 0 -> 79024 bytes .../lib/net462/System.Text.Encodings.Web.xml | 939 ++ .../lib/net6.0/System.Text.Encodings.Web.dll | Bin 0 -> 71440 bytes .../lib/net6.0/System.Text.Encodings.Web.xml | 939 ++ .../lib/net7.0/System.Text.Encodings.Web.dll | Bin 0 -> 71344 bytes .../lib/net7.0/System.Text.Encodings.Web.xml | 939 ++ .../lib/net8.0/System.Text.Encodings.Web.dll | Bin 0 -> 70320 bytes .../lib/net8.0/System.Text.Encodings.Web.xml | 939 ++ .../System.Text.Encodings.Web.dll | Bin 0 -> 79120 bytes .../System.Text.Encodings.Web.xml | 939 ++ .../lib/net6.0/System.Text.Encodings.Web.dll | Bin 0 -> 71448 bytes .../lib/net6.0/System.Text.Encodings.Web.xml | 2018 +++ .../lib/net7.0/System.Text.Encodings.Web.dll | Bin 0 -> 71344 bytes .../lib/net7.0/System.Text.Encodings.Web.xml | 1947 +++ .../lib/net8.0/System.Text.Encodings.Web.dll | Bin 0 -> 70928 bytes .../lib/net8.0/System.Text.Encodings.Web.xml | 1947 +++ .../useSharedDesignerContext.txt | 0 .../System.Text.Json.8.0.0/.signature.p7s | Bin 0 -> 24215 bytes packages/System.Text.Json.8.0.0/Icon.png | Bin 0 -> 7006 bytes packages/System.Text.Json.8.0.0/LICENSE.TXT | 23 + packages/System.Text.Json.8.0.0/PACKAGE.md | 257 + .../System.Text.Json.8.0.0.nupkg | Bin 0 -> 1983421 bytes .../THIRD-PARTY-NOTICES.TXT | 1272 ++ .../cs/System.Text.Json.SourceGeneration.dll | Bin 0 -> 185504 bytes ...m.Text.Json.SourceGeneration.resources.dll | Bin 0 -> 21264 bytes ...m.Text.Json.SourceGeneration.resources.dll | Bin 0 -> 21776 bytes ...m.Text.Json.SourceGeneration.resources.dll | Bin 0 -> 21272 bytes ...m.Text.Json.SourceGeneration.resources.dll | Bin 0 -> 21784 bytes ...m.Text.Json.SourceGeneration.resources.dll | Bin 0 -> 21256 bytes ...m.Text.Json.SourceGeneration.resources.dll | Bin 0 -> 22296 bytes ...m.Text.Json.SourceGeneration.resources.dll | Bin 0 -> 21776 bytes ...m.Text.Json.SourceGeneration.resources.dll | Bin 0 -> 21768 bytes ...m.Text.Json.SourceGeneration.resources.dll | Bin 0 -> 21272 bytes ...m.Text.Json.SourceGeneration.resources.dll | Bin 0 -> 23304 bytes ...m.Text.Json.SourceGeneration.resources.dll | Bin 0 -> 21256 bytes ...m.Text.Json.SourceGeneration.resources.dll | Bin 0 -> 20760 bytes ...m.Text.Json.SourceGeneration.resources.dll | Bin 0 -> 20752 bytes .../cs/System.Text.Json.SourceGeneration.dll | Bin 0 -> 202416 bytes ...m.Text.Json.SourceGeneration.resources.dll | Bin 0 -> 21264 bytes ...m.Text.Json.SourceGeneration.resources.dll | Bin 0 -> 21776 bytes ...m.Text.Json.SourceGeneration.resources.dll | Bin 0 -> 21272 bytes ...m.Text.Json.SourceGeneration.resources.dll | Bin 0 -> 21784 bytes ...m.Text.Json.SourceGeneration.resources.dll | Bin 0 -> 21256 bytes ...m.Text.Json.SourceGeneration.resources.dll | Bin 0 -> 22296 bytes ...m.Text.Json.SourceGeneration.resources.dll | Bin 0 -> 21776 bytes ...m.Text.Json.SourceGeneration.resources.dll | Bin 0 -> 21768 bytes ...m.Text.Json.SourceGeneration.resources.dll | Bin 0 -> 21272 bytes ...m.Text.Json.SourceGeneration.resources.dll | Bin 0 -> 23304 bytes ...m.Text.Json.SourceGeneration.resources.dll | Bin 0 -> 21256 bytes ...m.Text.Json.SourceGeneration.resources.dll | Bin 0 -> 20760 bytes ...m.Text.Json.SourceGeneration.resources.dll | Bin 0 -> 20752 bytes .../cs/System.Text.Json.SourceGeneration.dll | Bin 0 -> 187664 bytes ...m.Text.Json.SourceGeneration.resources.dll | Bin 0 -> 21264 bytes ...m.Text.Json.SourceGeneration.resources.dll | Bin 0 -> 21776 bytes ...m.Text.Json.SourceGeneration.resources.dll | Bin 0 -> 21272 bytes ...m.Text.Json.SourceGeneration.resources.dll | Bin 0 -> 21784 bytes ...m.Text.Json.SourceGeneration.resources.dll | Bin 0 -> 21256 bytes ...m.Text.Json.SourceGeneration.resources.dll | Bin 0 -> 22296 bytes ...m.Text.Json.SourceGeneration.resources.dll | Bin 0 -> 21776 bytes ...m.Text.Json.SourceGeneration.resources.dll | Bin 0 -> 21768 bytes ...m.Text.Json.SourceGeneration.resources.dll | Bin 0 -> 21272 bytes ...m.Text.Json.SourceGeneration.resources.dll | Bin 0 -> 23304 bytes ...m.Text.Json.SourceGeneration.resources.dll | Bin 0 -> 21256 bytes ...m.Text.Json.SourceGeneration.resources.dll | Bin 0 -> 20760 bytes ...m.Text.Json.SourceGeneration.resources.dll | Bin 0 -> 20752 bytes .../net461/System.Text.Json.targets | 6 + .../net462/System.Text.Json.targets | 31 + .../net6.0/System.Text.Json.targets | 31 + .../netcoreapp2.0/System.Text.Json.targets | 6 + .../netstandard2.0/System.Text.Json.targets | 31 + .../lib/net462/System.Text.Json.dll | Bin 0 -> 642832 bytes .../lib/net462/System.Text.Json.xml | 5785 ++++++++ .../lib/net6.0/System.Text.Json.dll | Bin 0 -> 578832 bytes .../lib/net6.0/System.Text.Json.xml | 5785 ++++++++ .../lib/net7.0/System.Text.Json.dll | Bin 0 -> 580784 bytes .../lib/net7.0/System.Text.Json.xml | 5785 ++++++++ .../lib/net8.0/System.Text.Json.dll | Bin 0 -> 578832 bytes .../lib/net8.0/System.Text.Json.xml | 5785 ++++++++ .../lib/netstandard2.0/System.Text.Json.dll | Bin 0 -> 606368 bytes .../lib/netstandard2.0/System.Text.Json.xml | 5785 ++++++++ .../useSharedDesignerContext.txt | 0 .../.signature.p7s | Bin 0 -> 24215 bytes .../System.Threading.Channels.8.0.0/Icon.png | Bin 0 -> 7006 bytes .../LICENSE.TXT | 23 + .../PACKAGE.md | 73 + .../System.Threading.Channels.8.0.0.nupkg | Bin 0 -> 245743 bytes .../THIRD-PARTY-NOTICES.TXT | 1272 ++ .../net461/System.Threading.Channels.targets | 6 + .../buildTransitive/net462/_._ | 0 .../buildTransitive/net6.0/_._ | 0 .../System.Threading.Channels.targets | 6 + .../lib/net462/System.Threading.Channels.dll | Bin 0 -> 74000 bytes .../lib/net462/System.Threading.Channels.xml | 243 + .../lib/net6.0/System.Threading.Channels.dll | Bin 0 -> 53424 bytes .../lib/net6.0/System.Threading.Channels.xml | 243 + .../lib/net7.0/System.Threading.Channels.dll | Bin 0 -> 53424 bytes .../lib/net7.0/System.Threading.Channels.xml | 243 + .../lib/net8.0/System.Threading.Channels.dll | Bin 0 -> 52912 bytes .../lib/net8.0/System.Threading.Channels.xml | 243 + .../System.Threading.Channels.dll | Bin 0 -> 73888 bytes .../System.Threading.Channels.xml | 243 + .../System.Threading.Channels.dll | Bin 0 -> 75952 bytes .../System.Threading.Channels.xml | 243 + .../useSharedDesignerContext.txt | 0 .../.signature.p7s | Bin 0 -> 18703 bytes .../LICENSE.TXT | 23 + ...tem.Threading.Tasks.Extensions.4.5.4.nupkg | Bin 0 -> 89582 bytes .../THIRD-PARTY-NOTICES.TXT | 309 + .../lib/MonoAndroid10/_._ | 0 .../lib/MonoTouch10/_._ | 0 .../System.Threading.Tasks.Extensions.dll | Bin 0 -> 25984 bytes .../System.Threading.Tasks.Extensions.xml | 166 + .../lib/netcoreapp2.1/_._ | 0 .../System.Threading.Tasks.Extensions.dll | Bin 0 -> 25984 bytes .../System.Threading.Tasks.Extensions.xml | 166 + .../System.Threading.Tasks.Extensions.dll | Bin 0 -> 25984 bytes .../System.Threading.Tasks.Extensions.xml | 166 + .../System.Threading.Tasks.Extensions.dll | Bin 0 -> 25984 bytes .../System.Threading.Tasks.Extensions.xml | 166 + .../lib/xamarinios10/_._ | 0 .../lib/xamarinmac20/_._ | 0 .../lib/xamarintvos10/_._ | 0 .../lib/xamarinwatchos10/_._ | 0 .../ref/MonoAndroid10/_._ | 0 .../ref/MonoTouch10/_._ | 0 .../ref/netcoreapp2.1/_._ | 0 .../ref/xamarinios10/_._ | 0 .../ref/xamarinmac20/_._ | 0 .../ref/xamarintvos10/_._ | 0 .../ref/xamarinwatchos10/_._ | 0 .../useSharedDesignerContext.txt | 0 .../version.txt | 1 + .../System.ValueTuple.4.5.0/.signature.p7s | Bin 0 -> 22354 bytes packages/System.ValueTuple.4.5.0/LICENSE.TXT | 23 + .../System.ValueTuple.4.5.0.nupkg | Bin 0 -> 204904 bytes .../THIRD-PARTY-NOTICES.TXT | 309 + .../lib/MonoAndroid10/_._ | 0 .../lib/MonoTouch10/_._ | 0 .../lib/net461/System.ValueTuple.dll | Bin 0 -> 78992 bytes .../lib/net461/System.ValueTuple.xml | 1299 ++ .../lib/net47/System.ValueTuple.dll | Bin 0 -> 25232 bytes .../lib/net47/System.ValueTuple.xml | 8 + .../lib/netcoreapp2.0/_._ | 0 .../lib/netstandard1.0/System.ValueTuple.dll | Bin 0 -> 78992 bytes .../lib/netstandard1.0/System.ValueTuple.xml | 1299 ++ .../lib/netstandard2.0/_._ | 0 .../System.ValueTuple.dll | Bin 0 -> 79496 bytes .../System.ValueTuple.xml | 1299 ++ .../lib/uap10.0.16299/_._ | 0 .../lib/xamarinios10/_._ | 0 .../lib/xamarinmac20/_._ | 0 .../lib/xamarintvos10/_._ | 0 .../lib/xamarinwatchos10/_._ | 0 .../ref/MonoAndroid10/_._ | 0 .../ref/MonoTouch10/_._ | 0 .../ref/net461/System.ValueTuple.dll | Bin 0 -> 40592 bytes .../ref/net47/System.ValueTuple.dll | Bin 0 -> 21648 bytes .../ref/netcoreapp2.0/_._ | 0 .../ref/netstandard2.0/_._ | 0 .../System.ValueTuple.dll | Bin 0 -> 41616 bytes .../ref/uap10.0.16299/_._ | 0 .../ref/xamarinios10/_._ | 0 .../ref/xamarinmac20/_._ | 0 .../ref/xamarintvos10/_._ | 0 .../ref/xamarinwatchos10/_._ | 0 .../useSharedDesignerContext.txt | 0 packages/System.ValueTuple.4.5.0/version.txt | 1 + 510 files changed, 237435 insertions(+) create mode 100644 db_lab.sln create mode 100644 db_lab/.gitignore create mode 100644 db_lab/App.config create mode 100644 db_lab/DataForm.Designer.cs create mode 100644 db_lab/DataForm.cs create mode 100644 db_lab/Form1.Designer.cs create mode 100644 db_lab/Form1.cs create mode 100644 db_lab/Form1.resx create mode 100644 db_lab/GuideForm.Designer.cs create mode 100644 db_lab/GuideForm.cs create mode 100644 db_lab/Program.cs create mode 100644 db_lab/Properties/AssemblyInfo.cs create mode 100644 db_lab/Properties/Resources.Designer.cs create mode 100644 db_lab/Properties/Resources.resx create mode 100644 db_lab/Properties/Settings.Designer.cs create mode 100644 db_lab/Properties/Settings.settings create mode 100644 db_lab/RaportForm.Designer.cs create mode 100644 db_lab/RaportForm.cs create mode 100644 db_lab/bin/Debug/Microsoft.Bcl.AsyncInterfaces.dll create mode 100644 db_lab/bin/Debug/Microsoft.Bcl.AsyncInterfaces.xml create mode 100644 db_lab/bin/Debug/Microsoft.Bcl.HashCode.dll create mode 100644 db_lab/bin/Debug/Microsoft.Bcl.HashCode.xml create mode 100644 db_lab/bin/Debug/Microsoft.Extensions.DependencyInjection.Abstractions.dll create mode 100644 db_lab/bin/Debug/Microsoft.Extensions.DependencyInjection.Abstractions.xml create mode 100644 db_lab/bin/Debug/Microsoft.Extensions.Logging.Abstractions.dll create mode 100644 db_lab/bin/Debug/Microsoft.Extensions.Logging.Abstractions.xml create mode 100644 db_lab/bin/Debug/Npgsql.dll create mode 100644 db_lab/bin/Debug/Npgsql.xml create mode 100644 db_lab/bin/Debug/System.Buffers.dll create mode 100644 db_lab/bin/Debug/System.Buffers.xml create mode 100644 db_lab/bin/Debug/System.Collections.Immutable.dll create mode 100644 db_lab/bin/Debug/System.Collections.Immutable.xml create mode 100644 db_lab/bin/Debug/System.Diagnostics.DiagnosticSource.dll create mode 100644 db_lab/bin/Debug/System.Diagnostics.DiagnosticSource.xml create mode 100644 db_lab/bin/Debug/System.Memory.dll create mode 100644 db_lab/bin/Debug/System.Memory.xml create mode 100644 db_lab/bin/Debug/System.Numerics.Vectors.dll create mode 100644 db_lab/bin/Debug/System.Numerics.Vectors.xml create mode 100644 db_lab/bin/Debug/System.Runtime.CompilerServices.Unsafe.dll create mode 100644 db_lab/bin/Debug/System.Runtime.CompilerServices.Unsafe.xml create mode 100644 db_lab/bin/Debug/System.Text.Encodings.Web.dll create mode 100644 db_lab/bin/Debug/System.Text.Encodings.Web.xml create mode 100644 db_lab/bin/Debug/System.Text.Json.dll create mode 100644 db_lab/bin/Debug/System.Text.Json.xml create mode 100644 db_lab/bin/Debug/System.Threading.Channels.dll create mode 100644 db_lab/bin/Debug/System.Threading.Channels.xml create mode 100644 db_lab/bin/Debug/System.Threading.Tasks.Extensions.dll create mode 100644 db_lab/bin/Debug/System.Threading.Tasks.Extensions.xml create mode 100644 db_lab/bin/Debug/System.ValueTuple.dll create mode 100644 db_lab/bin/Debug/System.ValueTuple.xml create mode 100644 db_lab/bin/Debug/db_lab.exe create mode 100644 db_lab/bin/Debug/db_lab.exe.config create mode 100644 db_lab/bin/Debug/db_lab.pdb create mode 100644 db_lab/db_lab.csproj create mode 100644 db_lab/docker-compose.yaml create mode 100644 db_lab/obj/Debug/.NETFramework,Version=v4.7.2.AssemblyAttributes.cs create mode 100644 db_lab/obj/Debug/DesignTimeResolveAssemblyReferences.cache create mode 100644 db_lab/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache create mode 100644 db_lab/obj/Debug/db_lab.Form1.resources create mode 100644 db_lab/obj/Debug/db_lab.Properties.Resources.resources create mode 100644 db_lab/obj/Debug/db_lab.csproj.AssemblyReference.cache create mode 100644 db_lab/obj/Debug/db_lab.csproj.CopyComplete create mode 100644 db_lab/obj/Debug/db_lab.csproj.CoreCompileInputs.cache create mode 100644 db_lab/obj/Debug/db_lab.csproj.FileListAbsolute.txt create mode 100644 db_lab/obj/Debug/db_lab.csproj.GenerateResource.cache create mode 100644 db_lab/obj/Debug/db_lab.exe create mode 100644 db_lab/obj/Debug/db_lab.pdb create mode 100644 db_lab/packages.config create mode 100644 packages/Microsoft.Bcl.AsyncInterfaces.8.0.0/.signature.p7s create mode 100644 packages/Microsoft.Bcl.AsyncInterfaces.8.0.0/Icon.png create mode 100644 packages/Microsoft.Bcl.AsyncInterfaces.8.0.0/LICENSE.TXT create mode 100644 packages/Microsoft.Bcl.AsyncInterfaces.8.0.0/Microsoft.Bcl.AsyncInterfaces.8.0.0.nupkg create mode 100644 packages/Microsoft.Bcl.AsyncInterfaces.8.0.0/PACKAGE.md create mode 100644 packages/Microsoft.Bcl.AsyncInterfaces.8.0.0/THIRD-PARTY-NOTICES.TXT create mode 100644 packages/Microsoft.Bcl.AsyncInterfaces.8.0.0/buildTransitive/net461/Microsoft.Bcl.AsyncInterfaces.targets create mode 100644 packages/Microsoft.Bcl.AsyncInterfaces.8.0.0/buildTransitive/net462/_._ create mode 100644 packages/Microsoft.Bcl.AsyncInterfaces.8.0.0/lib/net462/Microsoft.Bcl.AsyncInterfaces.dll create mode 100644 packages/Microsoft.Bcl.AsyncInterfaces.8.0.0/lib/net462/Microsoft.Bcl.AsyncInterfaces.xml create mode 100644 packages/Microsoft.Bcl.AsyncInterfaces.8.0.0/lib/netstandard2.0/Microsoft.Bcl.AsyncInterfaces.dll create mode 100644 packages/Microsoft.Bcl.AsyncInterfaces.8.0.0/lib/netstandard2.0/Microsoft.Bcl.AsyncInterfaces.xml create mode 100644 packages/Microsoft.Bcl.AsyncInterfaces.8.0.0/lib/netstandard2.1/Microsoft.Bcl.AsyncInterfaces.dll create mode 100644 packages/Microsoft.Bcl.AsyncInterfaces.8.0.0/lib/netstandard2.1/Microsoft.Bcl.AsyncInterfaces.xml create mode 100644 packages/Microsoft.Bcl.AsyncInterfaces.8.0.0/useSharedDesignerContext.txt create mode 100644 packages/Microsoft.Bcl.HashCode.1.1.1/.signature.p7s create mode 100644 packages/Microsoft.Bcl.HashCode.1.1.1/Icon.png create mode 100644 packages/Microsoft.Bcl.HashCode.1.1.1/LICENSE.TXT create mode 100644 packages/Microsoft.Bcl.HashCode.1.1.1/Microsoft.Bcl.HashCode.1.1.1.nupkg create mode 100644 packages/Microsoft.Bcl.HashCode.1.1.1/THIRD-PARTY-NOTICES.TXT create mode 100644 packages/Microsoft.Bcl.HashCode.1.1.1/lib/net461/Microsoft.Bcl.HashCode.dll create mode 100644 packages/Microsoft.Bcl.HashCode.1.1.1/lib/net461/Microsoft.Bcl.HashCode.xml create mode 100644 packages/Microsoft.Bcl.HashCode.1.1.1/lib/netcoreapp2.1/Microsoft.Bcl.HashCode.dll create mode 100644 packages/Microsoft.Bcl.HashCode.1.1.1/lib/netcoreapp2.1/Microsoft.Bcl.HashCode.xml create mode 100644 packages/Microsoft.Bcl.HashCode.1.1.1/lib/netstandard2.0/Microsoft.Bcl.HashCode.dll create mode 100644 packages/Microsoft.Bcl.HashCode.1.1.1/lib/netstandard2.0/Microsoft.Bcl.HashCode.xml create mode 100644 packages/Microsoft.Bcl.HashCode.1.1.1/lib/netstandard2.1/Microsoft.Bcl.HashCode.dll create mode 100644 packages/Microsoft.Bcl.HashCode.1.1.1/lib/netstandard2.1/Microsoft.Bcl.HashCode.xml create mode 100644 packages/Microsoft.Bcl.HashCode.1.1.1/ref/net461/Microsoft.Bcl.HashCode.dll create mode 100644 packages/Microsoft.Bcl.HashCode.1.1.1/ref/netcoreapp2.1/Microsoft.Bcl.HashCode.dll create mode 100644 packages/Microsoft.Bcl.HashCode.1.1.1/ref/netstandard2.0/Microsoft.Bcl.HashCode.dll create mode 100644 packages/Microsoft.Bcl.HashCode.1.1.1/ref/netstandard2.1/Microsoft.Bcl.HashCode.dll create mode 100644 packages/Microsoft.Bcl.HashCode.1.1.1/useSharedDesignerContext.txt create mode 100644 packages/Microsoft.Bcl.HashCode.1.1.1/version.txt create mode 100644 packages/Microsoft.Extensions.DependencyInjection.Abstractions.8.0.0/.signature.p7s create mode 100644 packages/Microsoft.Extensions.DependencyInjection.Abstractions.8.0.0/Icon.png create mode 100644 packages/Microsoft.Extensions.DependencyInjection.Abstractions.8.0.0/LICENSE.TXT create mode 100644 packages/Microsoft.Extensions.DependencyInjection.Abstractions.8.0.0/Microsoft.Extensions.DependencyInjection.Abstractions.8.0.0.nupkg create mode 100644 packages/Microsoft.Extensions.DependencyInjection.Abstractions.8.0.0/PACKAGE.md create mode 100644 packages/Microsoft.Extensions.DependencyInjection.Abstractions.8.0.0/THIRD-PARTY-NOTICES.TXT create mode 100644 packages/Microsoft.Extensions.DependencyInjection.Abstractions.8.0.0/buildTransitive/net461/Microsoft.Extensions.DependencyInjection.Abstractions.targets create mode 100644 packages/Microsoft.Extensions.DependencyInjection.Abstractions.8.0.0/buildTransitive/net462/_._ create mode 100644 packages/Microsoft.Extensions.DependencyInjection.Abstractions.8.0.0/buildTransitive/net6.0/_._ create mode 100644 packages/Microsoft.Extensions.DependencyInjection.Abstractions.8.0.0/buildTransitive/netcoreapp2.0/Microsoft.Extensions.DependencyInjection.Abstractions.targets create mode 100644 packages/Microsoft.Extensions.DependencyInjection.Abstractions.8.0.0/lib/net462/Microsoft.Extensions.DependencyInjection.Abstractions.dll create mode 100644 packages/Microsoft.Extensions.DependencyInjection.Abstractions.8.0.0/lib/net462/Microsoft.Extensions.DependencyInjection.Abstractions.xml create mode 100644 packages/Microsoft.Extensions.DependencyInjection.Abstractions.8.0.0/lib/net6.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll create mode 100644 packages/Microsoft.Extensions.DependencyInjection.Abstractions.8.0.0/lib/net6.0/Microsoft.Extensions.DependencyInjection.Abstractions.xml create mode 100644 packages/Microsoft.Extensions.DependencyInjection.Abstractions.8.0.0/lib/net7.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll create mode 100644 packages/Microsoft.Extensions.DependencyInjection.Abstractions.8.0.0/lib/net7.0/Microsoft.Extensions.DependencyInjection.Abstractions.xml create mode 100644 packages/Microsoft.Extensions.DependencyInjection.Abstractions.8.0.0/lib/net8.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll create mode 100644 packages/Microsoft.Extensions.DependencyInjection.Abstractions.8.0.0/lib/net8.0/Microsoft.Extensions.DependencyInjection.Abstractions.xml create mode 100644 packages/Microsoft.Extensions.DependencyInjection.Abstractions.8.0.0/lib/netstandard2.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll create mode 100644 packages/Microsoft.Extensions.DependencyInjection.Abstractions.8.0.0/lib/netstandard2.0/Microsoft.Extensions.DependencyInjection.Abstractions.xml create mode 100644 packages/Microsoft.Extensions.DependencyInjection.Abstractions.8.0.0/lib/netstandard2.1/Microsoft.Extensions.DependencyInjection.Abstractions.dll create mode 100644 packages/Microsoft.Extensions.DependencyInjection.Abstractions.8.0.0/lib/netstandard2.1/Microsoft.Extensions.DependencyInjection.Abstractions.xml create mode 100644 packages/Microsoft.Extensions.DependencyInjection.Abstractions.8.0.0/useSharedDesignerContext.txt create mode 100644 packages/Microsoft.Extensions.Logging.Abstractions.8.0.0/.signature.p7s create mode 100644 packages/Microsoft.Extensions.Logging.Abstractions.8.0.0/Icon.png create mode 100644 packages/Microsoft.Extensions.Logging.Abstractions.8.0.0/LICENSE.TXT create mode 100644 packages/Microsoft.Extensions.Logging.Abstractions.8.0.0/Microsoft.Extensions.Logging.Abstractions.8.0.0.nupkg create mode 100644 packages/Microsoft.Extensions.Logging.Abstractions.8.0.0/PACKAGE.md create mode 100644 packages/Microsoft.Extensions.Logging.Abstractions.8.0.0/THIRD-PARTY-NOTICES.TXT create mode 100644 packages/Microsoft.Extensions.Logging.Abstractions.8.0.0/analyzers/dotnet/roslyn3.11/cs/Microsoft.Extensions.Logging.Generators.dll create mode 100644 packages/Microsoft.Extensions.Logging.Abstractions.8.0.0/analyzers/dotnet/roslyn3.11/cs/cs/Microsoft.Extensions.Logging.Generators.resources.dll create mode 100644 packages/Microsoft.Extensions.Logging.Abstractions.8.0.0/analyzers/dotnet/roslyn3.11/cs/de/Microsoft.Extensions.Logging.Generators.resources.dll create mode 100644 packages/Microsoft.Extensions.Logging.Abstractions.8.0.0/analyzers/dotnet/roslyn3.11/cs/es/Microsoft.Extensions.Logging.Generators.resources.dll create mode 100644 packages/Microsoft.Extensions.Logging.Abstractions.8.0.0/analyzers/dotnet/roslyn3.11/cs/fr/Microsoft.Extensions.Logging.Generators.resources.dll create mode 100644 packages/Microsoft.Extensions.Logging.Abstractions.8.0.0/analyzers/dotnet/roslyn3.11/cs/it/Microsoft.Extensions.Logging.Generators.resources.dll create mode 100644 packages/Microsoft.Extensions.Logging.Abstractions.8.0.0/analyzers/dotnet/roslyn3.11/cs/ja/Microsoft.Extensions.Logging.Generators.resources.dll create mode 100644 packages/Microsoft.Extensions.Logging.Abstractions.8.0.0/analyzers/dotnet/roslyn3.11/cs/ko/Microsoft.Extensions.Logging.Generators.resources.dll create mode 100644 packages/Microsoft.Extensions.Logging.Abstractions.8.0.0/analyzers/dotnet/roslyn3.11/cs/pl/Microsoft.Extensions.Logging.Generators.resources.dll create mode 100644 packages/Microsoft.Extensions.Logging.Abstractions.8.0.0/analyzers/dotnet/roslyn3.11/cs/pt-BR/Microsoft.Extensions.Logging.Generators.resources.dll create mode 100644 packages/Microsoft.Extensions.Logging.Abstractions.8.0.0/analyzers/dotnet/roslyn3.11/cs/ru/Microsoft.Extensions.Logging.Generators.resources.dll create mode 100644 packages/Microsoft.Extensions.Logging.Abstractions.8.0.0/analyzers/dotnet/roslyn3.11/cs/tr/Microsoft.Extensions.Logging.Generators.resources.dll create mode 100644 packages/Microsoft.Extensions.Logging.Abstractions.8.0.0/analyzers/dotnet/roslyn3.11/cs/zh-Hans/Microsoft.Extensions.Logging.Generators.resources.dll create mode 100644 packages/Microsoft.Extensions.Logging.Abstractions.8.0.0/analyzers/dotnet/roslyn3.11/cs/zh-Hant/Microsoft.Extensions.Logging.Generators.resources.dll create mode 100644 packages/Microsoft.Extensions.Logging.Abstractions.8.0.0/analyzers/dotnet/roslyn4.0/cs/Microsoft.Extensions.Logging.Generators.dll create mode 100644 packages/Microsoft.Extensions.Logging.Abstractions.8.0.0/analyzers/dotnet/roslyn4.0/cs/cs/Microsoft.Extensions.Logging.Generators.resources.dll create mode 100644 packages/Microsoft.Extensions.Logging.Abstractions.8.0.0/analyzers/dotnet/roslyn4.0/cs/de/Microsoft.Extensions.Logging.Generators.resources.dll create mode 100644 packages/Microsoft.Extensions.Logging.Abstractions.8.0.0/analyzers/dotnet/roslyn4.0/cs/es/Microsoft.Extensions.Logging.Generators.resources.dll create mode 100644 packages/Microsoft.Extensions.Logging.Abstractions.8.0.0/analyzers/dotnet/roslyn4.0/cs/fr/Microsoft.Extensions.Logging.Generators.resources.dll create mode 100644 packages/Microsoft.Extensions.Logging.Abstractions.8.0.0/analyzers/dotnet/roslyn4.0/cs/it/Microsoft.Extensions.Logging.Generators.resources.dll create mode 100644 packages/Microsoft.Extensions.Logging.Abstractions.8.0.0/analyzers/dotnet/roslyn4.0/cs/ja/Microsoft.Extensions.Logging.Generators.resources.dll create mode 100644 packages/Microsoft.Extensions.Logging.Abstractions.8.0.0/analyzers/dotnet/roslyn4.0/cs/ko/Microsoft.Extensions.Logging.Generators.resources.dll create mode 100644 packages/Microsoft.Extensions.Logging.Abstractions.8.0.0/analyzers/dotnet/roslyn4.0/cs/pl/Microsoft.Extensions.Logging.Generators.resources.dll create mode 100644 packages/Microsoft.Extensions.Logging.Abstractions.8.0.0/analyzers/dotnet/roslyn4.0/cs/pt-BR/Microsoft.Extensions.Logging.Generators.resources.dll create mode 100644 packages/Microsoft.Extensions.Logging.Abstractions.8.0.0/analyzers/dotnet/roslyn4.0/cs/ru/Microsoft.Extensions.Logging.Generators.resources.dll create mode 100644 packages/Microsoft.Extensions.Logging.Abstractions.8.0.0/analyzers/dotnet/roslyn4.0/cs/tr/Microsoft.Extensions.Logging.Generators.resources.dll create mode 100644 packages/Microsoft.Extensions.Logging.Abstractions.8.0.0/analyzers/dotnet/roslyn4.0/cs/zh-Hans/Microsoft.Extensions.Logging.Generators.resources.dll create mode 100644 packages/Microsoft.Extensions.Logging.Abstractions.8.0.0/analyzers/dotnet/roslyn4.0/cs/zh-Hant/Microsoft.Extensions.Logging.Generators.resources.dll create mode 100644 packages/Microsoft.Extensions.Logging.Abstractions.8.0.0/analyzers/dotnet/roslyn4.4/cs/Microsoft.Extensions.Logging.Generators.dll create mode 100644 packages/Microsoft.Extensions.Logging.Abstractions.8.0.0/analyzers/dotnet/roslyn4.4/cs/cs/Microsoft.Extensions.Logging.Generators.resources.dll create mode 100644 packages/Microsoft.Extensions.Logging.Abstractions.8.0.0/analyzers/dotnet/roslyn4.4/cs/de/Microsoft.Extensions.Logging.Generators.resources.dll create mode 100644 packages/Microsoft.Extensions.Logging.Abstractions.8.0.0/analyzers/dotnet/roslyn4.4/cs/es/Microsoft.Extensions.Logging.Generators.resources.dll create mode 100644 packages/Microsoft.Extensions.Logging.Abstractions.8.0.0/analyzers/dotnet/roslyn4.4/cs/fr/Microsoft.Extensions.Logging.Generators.resources.dll create mode 100644 packages/Microsoft.Extensions.Logging.Abstractions.8.0.0/analyzers/dotnet/roslyn4.4/cs/it/Microsoft.Extensions.Logging.Generators.resources.dll create mode 100644 packages/Microsoft.Extensions.Logging.Abstractions.8.0.0/analyzers/dotnet/roslyn4.4/cs/ja/Microsoft.Extensions.Logging.Generators.resources.dll create mode 100644 packages/Microsoft.Extensions.Logging.Abstractions.8.0.0/analyzers/dotnet/roslyn4.4/cs/ko/Microsoft.Extensions.Logging.Generators.resources.dll create mode 100644 packages/Microsoft.Extensions.Logging.Abstractions.8.0.0/analyzers/dotnet/roslyn4.4/cs/pl/Microsoft.Extensions.Logging.Generators.resources.dll create mode 100644 packages/Microsoft.Extensions.Logging.Abstractions.8.0.0/analyzers/dotnet/roslyn4.4/cs/pt-BR/Microsoft.Extensions.Logging.Generators.resources.dll create mode 100644 packages/Microsoft.Extensions.Logging.Abstractions.8.0.0/analyzers/dotnet/roslyn4.4/cs/ru/Microsoft.Extensions.Logging.Generators.resources.dll create mode 100644 packages/Microsoft.Extensions.Logging.Abstractions.8.0.0/analyzers/dotnet/roslyn4.4/cs/tr/Microsoft.Extensions.Logging.Generators.resources.dll create mode 100644 packages/Microsoft.Extensions.Logging.Abstractions.8.0.0/analyzers/dotnet/roslyn4.4/cs/zh-Hans/Microsoft.Extensions.Logging.Generators.resources.dll create mode 100644 packages/Microsoft.Extensions.Logging.Abstractions.8.0.0/analyzers/dotnet/roslyn4.4/cs/zh-Hant/Microsoft.Extensions.Logging.Generators.resources.dll create mode 100644 packages/Microsoft.Extensions.Logging.Abstractions.8.0.0/buildTransitive/net461/Microsoft.Extensions.Logging.Abstractions.targets create mode 100644 packages/Microsoft.Extensions.Logging.Abstractions.8.0.0/buildTransitive/net462/Microsoft.Extensions.Logging.Abstractions.targets create mode 100644 packages/Microsoft.Extensions.Logging.Abstractions.8.0.0/buildTransitive/net6.0/Microsoft.Extensions.Logging.Abstractions.targets create mode 100644 packages/Microsoft.Extensions.Logging.Abstractions.8.0.0/buildTransitive/netcoreapp2.0/Microsoft.Extensions.Logging.Abstractions.targets create mode 100644 packages/Microsoft.Extensions.Logging.Abstractions.8.0.0/buildTransitive/netstandard2.0/Microsoft.Extensions.Logging.Abstractions.targets create mode 100644 packages/Microsoft.Extensions.Logging.Abstractions.8.0.0/lib/net462/Microsoft.Extensions.Logging.Abstractions.dll create mode 100644 packages/Microsoft.Extensions.Logging.Abstractions.8.0.0/lib/net462/Microsoft.Extensions.Logging.Abstractions.xml create mode 100644 packages/Microsoft.Extensions.Logging.Abstractions.8.0.0/lib/net6.0/Microsoft.Extensions.Logging.Abstractions.dll create mode 100644 packages/Microsoft.Extensions.Logging.Abstractions.8.0.0/lib/net6.0/Microsoft.Extensions.Logging.Abstractions.xml create mode 100644 packages/Microsoft.Extensions.Logging.Abstractions.8.0.0/lib/net7.0/Microsoft.Extensions.Logging.Abstractions.dll create mode 100644 packages/Microsoft.Extensions.Logging.Abstractions.8.0.0/lib/net7.0/Microsoft.Extensions.Logging.Abstractions.xml create mode 100644 packages/Microsoft.Extensions.Logging.Abstractions.8.0.0/lib/net8.0/Microsoft.Extensions.Logging.Abstractions.dll create mode 100644 packages/Microsoft.Extensions.Logging.Abstractions.8.0.0/lib/net8.0/Microsoft.Extensions.Logging.Abstractions.xml create mode 100644 packages/Microsoft.Extensions.Logging.Abstractions.8.0.0/lib/netstandard2.0/Microsoft.Extensions.Logging.Abstractions.dll create mode 100644 packages/Microsoft.Extensions.Logging.Abstractions.8.0.0/lib/netstandard2.0/Microsoft.Extensions.Logging.Abstractions.xml create mode 100644 packages/Microsoft.Extensions.Logging.Abstractions.8.0.0/useSharedDesignerContext.txt create mode 100644 packages/Npgsql.8.0.3/.signature.p7s create mode 100644 packages/Npgsql.8.0.3/Npgsql.8.0.3.nupkg create mode 100644 packages/Npgsql.8.0.3/README.md create mode 100644 packages/Npgsql.8.0.3/lib/net6.0/Npgsql.dll create mode 100644 packages/Npgsql.8.0.3/lib/net6.0/Npgsql.xml create mode 100644 packages/Npgsql.8.0.3/lib/net7.0/Npgsql.dll create mode 100644 packages/Npgsql.8.0.3/lib/net7.0/Npgsql.xml create mode 100644 packages/Npgsql.8.0.3/lib/net8.0/Npgsql.dll create mode 100644 packages/Npgsql.8.0.3/lib/net8.0/Npgsql.xml create mode 100644 packages/Npgsql.8.0.3/lib/netstandard2.0/Npgsql.dll create mode 100644 packages/Npgsql.8.0.3/lib/netstandard2.0/Npgsql.xml create mode 100644 packages/Npgsql.8.0.3/lib/netstandard2.1/Npgsql.dll create mode 100644 packages/Npgsql.8.0.3/lib/netstandard2.1/Npgsql.xml create mode 100644 packages/Npgsql.8.0.3/postgresql.png create mode 100644 packages/System.Buffers.4.5.1/.signature.p7s create mode 100644 packages/System.Buffers.4.5.1/LICENSE.TXT create mode 100644 packages/System.Buffers.4.5.1/System.Buffers.4.5.1.nupkg create mode 100644 packages/System.Buffers.4.5.1/THIRD-PARTY-NOTICES.TXT create mode 100644 packages/System.Buffers.4.5.1/lib/net461/System.Buffers.dll create mode 100644 packages/System.Buffers.4.5.1/lib/net461/System.Buffers.xml create mode 100644 packages/System.Buffers.4.5.1/lib/netcoreapp2.0/_._ create mode 100644 packages/System.Buffers.4.5.1/lib/netstandard1.1/System.Buffers.dll create mode 100644 packages/System.Buffers.4.5.1/lib/netstandard1.1/System.Buffers.xml create mode 100644 packages/System.Buffers.4.5.1/lib/netstandard2.0/System.Buffers.dll create mode 100644 packages/System.Buffers.4.5.1/lib/netstandard2.0/System.Buffers.xml create mode 100644 packages/System.Buffers.4.5.1/lib/uap10.0.16299/_._ create mode 100644 packages/System.Buffers.4.5.1/ref/net45/System.Buffers.dll create mode 100644 packages/System.Buffers.4.5.1/ref/net45/System.Buffers.xml create mode 100644 packages/System.Buffers.4.5.1/ref/netcoreapp2.0/_._ create mode 100644 packages/System.Buffers.4.5.1/ref/netstandard1.1/System.Buffers.dll create mode 100644 packages/System.Buffers.4.5.1/ref/netstandard1.1/System.Buffers.xml create mode 100644 packages/System.Buffers.4.5.1/ref/netstandard2.0/System.Buffers.dll create mode 100644 packages/System.Buffers.4.5.1/ref/netstandard2.0/System.Buffers.xml create mode 100644 packages/System.Buffers.4.5.1/ref/uap10.0.16299/_._ create mode 100644 packages/System.Buffers.4.5.1/useSharedDesignerContext.txt create mode 100644 packages/System.Buffers.4.5.1/version.txt create mode 100644 packages/System.Collections.Immutable.8.0.0/.signature.p7s create mode 100644 packages/System.Collections.Immutable.8.0.0/Icon.png create mode 100644 packages/System.Collections.Immutable.8.0.0/LICENSE.TXT create mode 100644 packages/System.Collections.Immutable.8.0.0/PACKAGE.md create mode 100644 packages/System.Collections.Immutable.8.0.0/System.Collections.Immutable.8.0.0.nupkg create mode 100644 packages/System.Collections.Immutable.8.0.0/THIRD-PARTY-NOTICES.TXT create mode 100644 packages/System.Collections.Immutable.8.0.0/buildTransitive/net461/System.Collections.Immutable.targets create mode 100644 packages/System.Collections.Immutable.8.0.0/buildTransitive/net462/_._ create mode 100644 packages/System.Collections.Immutable.8.0.0/buildTransitive/net6.0/_._ create mode 100644 packages/System.Collections.Immutable.8.0.0/buildTransitive/netcoreapp2.0/System.Collections.Immutable.targets create mode 100644 packages/System.Collections.Immutable.8.0.0/lib/net462/System.Collections.Immutable.dll create mode 100644 packages/System.Collections.Immutable.8.0.0/lib/net462/System.Collections.Immutable.xml create mode 100644 packages/System.Collections.Immutable.8.0.0/lib/net6.0/System.Collections.Immutable.dll create mode 100644 packages/System.Collections.Immutable.8.0.0/lib/net6.0/System.Collections.Immutable.xml create mode 100644 packages/System.Collections.Immutable.8.0.0/lib/net7.0/System.Collections.Immutable.dll create mode 100644 packages/System.Collections.Immutable.8.0.0/lib/net7.0/System.Collections.Immutable.xml create mode 100644 packages/System.Collections.Immutable.8.0.0/lib/net8.0/System.Collections.Immutable.dll create mode 100644 packages/System.Collections.Immutable.8.0.0/lib/net8.0/System.Collections.Immutable.xml create mode 100644 packages/System.Collections.Immutable.8.0.0/lib/netstandard2.0/System.Collections.Immutable.dll create mode 100644 packages/System.Collections.Immutable.8.0.0/lib/netstandard2.0/System.Collections.Immutable.xml create mode 100644 packages/System.Collections.Immutable.8.0.0/useSharedDesignerContext.txt create mode 100644 packages/System.Diagnostics.DiagnosticSource.8.0.0/.signature.p7s create mode 100644 packages/System.Diagnostics.DiagnosticSource.8.0.0/Icon.png create mode 100644 packages/System.Diagnostics.DiagnosticSource.8.0.0/LICENSE.TXT create mode 100644 packages/System.Diagnostics.DiagnosticSource.8.0.0/System.Diagnostics.DiagnosticSource.8.0.0.nupkg create mode 100644 packages/System.Diagnostics.DiagnosticSource.8.0.0/THIRD-PARTY-NOTICES.TXT create mode 100644 packages/System.Diagnostics.DiagnosticSource.8.0.0/buildTransitive/net461/System.Diagnostics.DiagnosticSource.targets create mode 100644 packages/System.Diagnostics.DiagnosticSource.8.0.0/buildTransitive/net462/_._ create mode 100644 packages/System.Diagnostics.DiagnosticSource.8.0.0/buildTransitive/net6.0/_._ create mode 100644 packages/System.Diagnostics.DiagnosticSource.8.0.0/buildTransitive/netcoreapp2.0/System.Diagnostics.DiagnosticSource.targets create mode 100644 packages/System.Diagnostics.DiagnosticSource.8.0.0/lib/net462/System.Diagnostics.DiagnosticSource.dll create mode 100644 packages/System.Diagnostics.DiagnosticSource.8.0.0/lib/net462/System.Diagnostics.DiagnosticSource.xml create mode 100644 packages/System.Diagnostics.DiagnosticSource.8.0.0/lib/net6.0/System.Diagnostics.DiagnosticSource.dll create mode 100644 packages/System.Diagnostics.DiagnosticSource.8.0.0/lib/net6.0/System.Diagnostics.DiagnosticSource.xml create mode 100644 packages/System.Diagnostics.DiagnosticSource.8.0.0/lib/net7.0/System.Diagnostics.DiagnosticSource.dll create mode 100644 packages/System.Diagnostics.DiagnosticSource.8.0.0/lib/net7.0/System.Diagnostics.DiagnosticSource.xml create mode 100644 packages/System.Diagnostics.DiagnosticSource.8.0.0/lib/net8.0/System.Diagnostics.DiagnosticSource.dll create mode 100644 packages/System.Diagnostics.DiagnosticSource.8.0.0/lib/net8.0/System.Diagnostics.DiagnosticSource.xml create mode 100644 packages/System.Diagnostics.DiagnosticSource.8.0.0/lib/netstandard2.0/System.Diagnostics.DiagnosticSource.dll create mode 100644 packages/System.Diagnostics.DiagnosticSource.8.0.0/lib/netstandard2.0/System.Diagnostics.DiagnosticSource.xml create mode 100644 packages/System.Diagnostics.DiagnosticSource.8.0.0/useSharedDesignerContext.txt create mode 100644 packages/System.Memory.4.5.5/.signature.p7s create mode 100644 packages/System.Memory.4.5.5/LICENSE.TXT create mode 100644 packages/System.Memory.4.5.5/System.Memory.4.5.5.nupkg create mode 100644 packages/System.Memory.4.5.5/THIRD-PARTY-NOTICES.TXT create mode 100644 packages/System.Memory.4.5.5/lib/net461/System.Memory.dll create mode 100644 packages/System.Memory.4.5.5/lib/net461/System.Memory.xml create mode 100644 packages/System.Memory.4.5.5/lib/netcoreapp2.1/_._ create mode 100644 packages/System.Memory.4.5.5/lib/netstandard1.1/System.Memory.dll create mode 100644 packages/System.Memory.4.5.5/lib/netstandard1.1/System.Memory.xml create mode 100644 packages/System.Memory.4.5.5/lib/netstandard2.0/System.Memory.dll create mode 100644 packages/System.Memory.4.5.5/lib/netstandard2.0/System.Memory.xml create mode 100644 packages/System.Memory.4.5.5/ref/netcoreapp2.1/_._ create mode 100644 packages/System.Memory.4.5.5/useSharedDesignerContext.txt create mode 100644 packages/System.Memory.4.5.5/version.txt create mode 100644 packages/System.Numerics.Vectors.4.5.0/.signature.p7s create mode 100644 packages/System.Numerics.Vectors.4.5.0/LICENSE.TXT create mode 100644 packages/System.Numerics.Vectors.4.5.0/System.Numerics.Vectors.4.5.0.nupkg create mode 100644 packages/System.Numerics.Vectors.4.5.0/THIRD-PARTY-NOTICES.TXT create mode 100644 packages/System.Numerics.Vectors.4.5.0/lib/MonoAndroid10/_._ create mode 100644 packages/System.Numerics.Vectors.4.5.0/lib/MonoTouch10/_._ create mode 100644 packages/System.Numerics.Vectors.4.5.0/lib/net46/System.Numerics.Vectors.dll create mode 100644 packages/System.Numerics.Vectors.4.5.0/lib/net46/System.Numerics.Vectors.xml create mode 100644 packages/System.Numerics.Vectors.4.5.0/lib/netcoreapp2.0/_._ create mode 100644 packages/System.Numerics.Vectors.4.5.0/lib/netstandard1.0/System.Numerics.Vectors.dll create mode 100644 packages/System.Numerics.Vectors.4.5.0/lib/netstandard1.0/System.Numerics.Vectors.xml create mode 100644 packages/System.Numerics.Vectors.4.5.0/lib/netstandard2.0/System.Numerics.Vectors.dll create mode 100644 packages/System.Numerics.Vectors.4.5.0/lib/netstandard2.0/System.Numerics.Vectors.xml create mode 100644 packages/System.Numerics.Vectors.4.5.0/lib/portable-net45+win8+wp8+wpa81/System.Numerics.Vectors.dll create mode 100644 packages/System.Numerics.Vectors.4.5.0/lib/portable-net45+win8+wp8+wpa81/System.Numerics.Vectors.xml create mode 100644 packages/System.Numerics.Vectors.4.5.0/lib/uap10.0.16299/_._ create mode 100644 packages/System.Numerics.Vectors.4.5.0/lib/xamarinios10/_._ create mode 100644 packages/System.Numerics.Vectors.4.5.0/lib/xamarinmac20/_._ create mode 100644 packages/System.Numerics.Vectors.4.5.0/lib/xamarintvos10/_._ create mode 100644 packages/System.Numerics.Vectors.4.5.0/lib/xamarinwatchos10/_._ create mode 100644 packages/System.Numerics.Vectors.4.5.0/ref/MonoAndroid10/_._ create mode 100644 packages/System.Numerics.Vectors.4.5.0/ref/MonoTouch10/_._ create mode 100644 packages/System.Numerics.Vectors.4.5.0/ref/net45/System.Numerics.Vectors.dll create mode 100644 packages/System.Numerics.Vectors.4.5.0/ref/net45/System.Numerics.Vectors.xml create mode 100644 packages/System.Numerics.Vectors.4.5.0/ref/net46/System.Numerics.Vectors.dll create mode 100644 packages/System.Numerics.Vectors.4.5.0/ref/net46/System.Numerics.Vectors.xml create mode 100644 packages/System.Numerics.Vectors.4.5.0/ref/netcoreapp2.0/_._ create mode 100644 packages/System.Numerics.Vectors.4.5.0/ref/netstandard1.0/System.Numerics.Vectors.dll create mode 100644 packages/System.Numerics.Vectors.4.5.0/ref/netstandard1.0/System.Numerics.Vectors.xml create mode 100644 packages/System.Numerics.Vectors.4.5.0/ref/netstandard2.0/System.Numerics.Vectors.dll create mode 100644 packages/System.Numerics.Vectors.4.5.0/ref/netstandard2.0/System.Numerics.Vectors.xml create mode 100644 packages/System.Numerics.Vectors.4.5.0/ref/uap10.0.16299/_._ create mode 100644 packages/System.Numerics.Vectors.4.5.0/ref/xamarinios10/_._ create mode 100644 packages/System.Numerics.Vectors.4.5.0/ref/xamarinmac20/_._ create mode 100644 packages/System.Numerics.Vectors.4.5.0/ref/xamarintvos10/_._ create mode 100644 packages/System.Numerics.Vectors.4.5.0/ref/xamarinwatchos10/_._ create mode 100644 packages/System.Numerics.Vectors.4.5.0/useSharedDesignerContext.txt create mode 100644 packages/System.Numerics.Vectors.4.5.0/version.txt create mode 100644 packages/System.Runtime.CompilerServices.Unsafe.6.0.0/.signature.p7s create mode 100644 packages/System.Runtime.CompilerServices.Unsafe.6.0.0/Icon.png create mode 100644 packages/System.Runtime.CompilerServices.Unsafe.6.0.0/LICENSE.TXT create mode 100644 packages/System.Runtime.CompilerServices.Unsafe.6.0.0/System.Runtime.CompilerServices.Unsafe.6.0.0.nupkg create mode 100644 packages/System.Runtime.CompilerServices.Unsafe.6.0.0/THIRD-PARTY-NOTICES.TXT create mode 100644 packages/System.Runtime.CompilerServices.Unsafe.6.0.0/buildTransitive/netcoreapp2.0/System.Runtime.CompilerServices.Unsafe.targets create mode 100644 packages/System.Runtime.CompilerServices.Unsafe.6.0.0/buildTransitive/netcoreapp3.1/_._ create mode 100644 packages/System.Runtime.CompilerServices.Unsafe.6.0.0/lib/net461/System.Runtime.CompilerServices.Unsafe.dll create mode 100644 packages/System.Runtime.CompilerServices.Unsafe.6.0.0/lib/net461/System.Runtime.CompilerServices.Unsafe.xml create mode 100644 packages/System.Runtime.CompilerServices.Unsafe.6.0.0/lib/net6.0/System.Runtime.CompilerServices.Unsafe.dll create mode 100644 packages/System.Runtime.CompilerServices.Unsafe.6.0.0/lib/net6.0/System.Runtime.CompilerServices.Unsafe.xml create mode 100644 packages/System.Runtime.CompilerServices.Unsafe.6.0.0/lib/netcoreapp3.1/System.Runtime.CompilerServices.Unsafe.dll create mode 100644 packages/System.Runtime.CompilerServices.Unsafe.6.0.0/lib/netcoreapp3.1/System.Runtime.CompilerServices.Unsafe.xml create mode 100644 packages/System.Runtime.CompilerServices.Unsafe.6.0.0/lib/netstandard2.0/System.Runtime.CompilerServices.Unsafe.dll create mode 100644 packages/System.Runtime.CompilerServices.Unsafe.6.0.0/lib/netstandard2.0/System.Runtime.CompilerServices.Unsafe.xml create mode 100644 packages/System.Runtime.CompilerServices.Unsafe.6.0.0/useSharedDesignerContext.txt create mode 100644 packages/System.Text.Encodings.Web.8.0.0/.signature.p7s create mode 100644 packages/System.Text.Encodings.Web.8.0.0/Icon.png create mode 100644 packages/System.Text.Encodings.Web.8.0.0/LICENSE.TXT create mode 100644 packages/System.Text.Encodings.Web.8.0.0/System.Text.Encodings.Web.8.0.0.nupkg create mode 100644 packages/System.Text.Encodings.Web.8.0.0/THIRD-PARTY-NOTICES.TXT create mode 100644 packages/System.Text.Encodings.Web.8.0.0/buildTransitive/net461/System.Text.Encodings.Web.targets create mode 100644 packages/System.Text.Encodings.Web.8.0.0/buildTransitive/net462/_._ create mode 100644 packages/System.Text.Encodings.Web.8.0.0/buildTransitive/net6.0/_._ create mode 100644 packages/System.Text.Encodings.Web.8.0.0/buildTransitive/netcoreapp2.0/System.Text.Encodings.Web.targets create mode 100644 packages/System.Text.Encodings.Web.8.0.0/lib/net462/System.Text.Encodings.Web.dll create mode 100644 packages/System.Text.Encodings.Web.8.0.0/lib/net462/System.Text.Encodings.Web.xml create mode 100644 packages/System.Text.Encodings.Web.8.0.0/lib/net6.0/System.Text.Encodings.Web.dll create mode 100644 packages/System.Text.Encodings.Web.8.0.0/lib/net6.0/System.Text.Encodings.Web.xml create mode 100644 packages/System.Text.Encodings.Web.8.0.0/lib/net7.0/System.Text.Encodings.Web.dll create mode 100644 packages/System.Text.Encodings.Web.8.0.0/lib/net7.0/System.Text.Encodings.Web.xml create mode 100644 packages/System.Text.Encodings.Web.8.0.0/lib/net8.0/System.Text.Encodings.Web.dll create mode 100644 packages/System.Text.Encodings.Web.8.0.0/lib/net8.0/System.Text.Encodings.Web.xml create mode 100644 packages/System.Text.Encodings.Web.8.0.0/lib/netstandard2.0/System.Text.Encodings.Web.dll create mode 100644 packages/System.Text.Encodings.Web.8.0.0/lib/netstandard2.0/System.Text.Encodings.Web.xml create mode 100644 packages/System.Text.Encodings.Web.8.0.0/runtimes/browser/lib/net6.0/System.Text.Encodings.Web.dll create mode 100644 packages/System.Text.Encodings.Web.8.0.0/runtimes/browser/lib/net6.0/System.Text.Encodings.Web.xml create mode 100644 packages/System.Text.Encodings.Web.8.0.0/runtimes/browser/lib/net7.0/System.Text.Encodings.Web.dll create mode 100644 packages/System.Text.Encodings.Web.8.0.0/runtimes/browser/lib/net7.0/System.Text.Encodings.Web.xml create mode 100644 packages/System.Text.Encodings.Web.8.0.0/runtimes/browser/lib/net8.0/System.Text.Encodings.Web.dll create mode 100644 packages/System.Text.Encodings.Web.8.0.0/runtimes/browser/lib/net8.0/System.Text.Encodings.Web.xml create mode 100644 packages/System.Text.Encodings.Web.8.0.0/useSharedDesignerContext.txt create mode 100644 packages/System.Text.Json.8.0.0/.signature.p7s create mode 100644 packages/System.Text.Json.8.0.0/Icon.png create mode 100644 packages/System.Text.Json.8.0.0/LICENSE.TXT create mode 100644 packages/System.Text.Json.8.0.0/PACKAGE.md create mode 100644 packages/System.Text.Json.8.0.0/System.Text.Json.8.0.0.nupkg create mode 100644 packages/System.Text.Json.8.0.0/THIRD-PARTY-NOTICES.TXT create mode 100644 packages/System.Text.Json.8.0.0/analyzers/dotnet/roslyn3.11/cs/System.Text.Json.SourceGeneration.dll create mode 100644 packages/System.Text.Json.8.0.0/analyzers/dotnet/roslyn3.11/cs/cs/System.Text.Json.SourceGeneration.resources.dll create mode 100644 packages/System.Text.Json.8.0.0/analyzers/dotnet/roslyn3.11/cs/de/System.Text.Json.SourceGeneration.resources.dll create mode 100644 packages/System.Text.Json.8.0.0/analyzers/dotnet/roslyn3.11/cs/es/System.Text.Json.SourceGeneration.resources.dll create mode 100644 packages/System.Text.Json.8.0.0/analyzers/dotnet/roslyn3.11/cs/fr/System.Text.Json.SourceGeneration.resources.dll create mode 100644 packages/System.Text.Json.8.0.0/analyzers/dotnet/roslyn3.11/cs/it/System.Text.Json.SourceGeneration.resources.dll create mode 100644 packages/System.Text.Json.8.0.0/analyzers/dotnet/roslyn3.11/cs/ja/System.Text.Json.SourceGeneration.resources.dll create mode 100644 packages/System.Text.Json.8.0.0/analyzers/dotnet/roslyn3.11/cs/ko/System.Text.Json.SourceGeneration.resources.dll create mode 100644 packages/System.Text.Json.8.0.0/analyzers/dotnet/roslyn3.11/cs/pl/System.Text.Json.SourceGeneration.resources.dll create mode 100644 packages/System.Text.Json.8.0.0/analyzers/dotnet/roslyn3.11/cs/pt-BR/System.Text.Json.SourceGeneration.resources.dll create mode 100644 packages/System.Text.Json.8.0.0/analyzers/dotnet/roslyn3.11/cs/ru/System.Text.Json.SourceGeneration.resources.dll create mode 100644 packages/System.Text.Json.8.0.0/analyzers/dotnet/roslyn3.11/cs/tr/System.Text.Json.SourceGeneration.resources.dll create mode 100644 packages/System.Text.Json.8.0.0/analyzers/dotnet/roslyn3.11/cs/zh-Hans/System.Text.Json.SourceGeneration.resources.dll create mode 100644 packages/System.Text.Json.8.0.0/analyzers/dotnet/roslyn3.11/cs/zh-Hant/System.Text.Json.SourceGeneration.resources.dll create mode 100644 packages/System.Text.Json.8.0.0/analyzers/dotnet/roslyn4.0/cs/System.Text.Json.SourceGeneration.dll create mode 100644 packages/System.Text.Json.8.0.0/analyzers/dotnet/roslyn4.0/cs/cs/System.Text.Json.SourceGeneration.resources.dll create mode 100644 packages/System.Text.Json.8.0.0/analyzers/dotnet/roslyn4.0/cs/de/System.Text.Json.SourceGeneration.resources.dll create mode 100644 packages/System.Text.Json.8.0.0/analyzers/dotnet/roslyn4.0/cs/es/System.Text.Json.SourceGeneration.resources.dll create mode 100644 packages/System.Text.Json.8.0.0/analyzers/dotnet/roslyn4.0/cs/fr/System.Text.Json.SourceGeneration.resources.dll create mode 100644 packages/System.Text.Json.8.0.0/analyzers/dotnet/roslyn4.0/cs/it/System.Text.Json.SourceGeneration.resources.dll create mode 100644 packages/System.Text.Json.8.0.0/analyzers/dotnet/roslyn4.0/cs/ja/System.Text.Json.SourceGeneration.resources.dll create mode 100644 packages/System.Text.Json.8.0.0/analyzers/dotnet/roslyn4.0/cs/ko/System.Text.Json.SourceGeneration.resources.dll create mode 100644 packages/System.Text.Json.8.0.0/analyzers/dotnet/roslyn4.0/cs/pl/System.Text.Json.SourceGeneration.resources.dll create mode 100644 packages/System.Text.Json.8.0.0/analyzers/dotnet/roslyn4.0/cs/pt-BR/System.Text.Json.SourceGeneration.resources.dll create mode 100644 packages/System.Text.Json.8.0.0/analyzers/dotnet/roslyn4.0/cs/ru/System.Text.Json.SourceGeneration.resources.dll create mode 100644 packages/System.Text.Json.8.0.0/analyzers/dotnet/roslyn4.0/cs/tr/System.Text.Json.SourceGeneration.resources.dll create mode 100644 packages/System.Text.Json.8.0.0/analyzers/dotnet/roslyn4.0/cs/zh-Hans/System.Text.Json.SourceGeneration.resources.dll create mode 100644 packages/System.Text.Json.8.0.0/analyzers/dotnet/roslyn4.0/cs/zh-Hant/System.Text.Json.SourceGeneration.resources.dll create mode 100644 packages/System.Text.Json.8.0.0/analyzers/dotnet/roslyn4.4/cs/System.Text.Json.SourceGeneration.dll create mode 100644 packages/System.Text.Json.8.0.0/analyzers/dotnet/roslyn4.4/cs/cs/System.Text.Json.SourceGeneration.resources.dll create mode 100644 packages/System.Text.Json.8.0.0/analyzers/dotnet/roslyn4.4/cs/de/System.Text.Json.SourceGeneration.resources.dll create mode 100644 packages/System.Text.Json.8.0.0/analyzers/dotnet/roslyn4.4/cs/es/System.Text.Json.SourceGeneration.resources.dll create mode 100644 packages/System.Text.Json.8.0.0/analyzers/dotnet/roslyn4.4/cs/fr/System.Text.Json.SourceGeneration.resources.dll create mode 100644 packages/System.Text.Json.8.0.0/analyzers/dotnet/roslyn4.4/cs/it/System.Text.Json.SourceGeneration.resources.dll create mode 100644 packages/System.Text.Json.8.0.0/analyzers/dotnet/roslyn4.4/cs/ja/System.Text.Json.SourceGeneration.resources.dll create mode 100644 packages/System.Text.Json.8.0.0/analyzers/dotnet/roslyn4.4/cs/ko/System.Text.Json.SourceGeneration.resources.dll create mode 100644 packages/System.Text.Json.8.0.0/analyzers/dotnet/roslyn4.4/cs/pl/System.Text.Json.SourceGeneration.resources.dll create mode 100644 packages/System.Text.Json.8.0.0/analyzers/dotnet/roslyn4.4/cs/pt-BR/System.Text.Json.SourceGeneration.resources.dll create mode 100644 packages/System.Text.Json.8.0.0/analyzers/dotnet/roslyn4.4/cs/ru/System.Text.Json.SourceGeneration.resources.dll create mode 100644 packages/System.Text.Json.8.0.0/analyzers/dotnet/roslyn4.4/cs/tr/System.Text.Json.SourceGeneration.resources.dll create mode 100644 packages/System.Text.Json.8.0.0/analyzers/dotnet/roslyn4.4/cs/zh-Hans/System.Text.Json.SourceGeneration.resources.dll create mode 100644 packages/System.Text.Json.8.0.0/analyzers/dotnet/roslyn4.4/cs/zh-Hant/System.Text.Json.SourceGeneration.resources.dll create mode 100644 packages/System.Text.Json.8.0.0/buildTransitive/net461/System.Text.Json.targets create mode 100644 packages/System.Text.Json.8.0.0/buildTransitive/net462/System.Text.Json.targets create mode 100644 packages/System.Text.Json.8.0.0/buildTransitive/net6.0/System.Text.Json.targets create mode 100644 packages/System.Text.Json.8.0.0/buildTransitive/netcoreapp2.0/System.Text.Json.targets create mode 100644 packages/System.Text.Json.8.0.0/buildTransitive/netstandard2.0/System.Text.Json.targets create mode 100644 packages/System.Text.Json.8.0.0/lib/net462/System.Text.Json.dll create mode 100644 packages/System.Text.Json.8.0.0/lib/net462/System.Text.Json.xml create mode 100644 packages/System.Text.Json.8.0.0/lib/net6.0/System.Text.Json.dll create mode 100644 packages/System.Text.Json.8.0.0/lib/net6.0/System.Text.Json.xml create mode 100644 packages/System.Text.Json.8.0.0/lib/net7.0/System.Text.Json.dll create mode 100644 packages/System.Text.Json.8.0.0/lib/net7.0/System.Text.Json.xml create mode 100644 packages/System.Text.Json.8.0.0/lib/net8.0/System.Text.Json.dll create mode 100644 packages/System.Text.Json.8.0.0/lib/net8.0/System.Text.Json.xml create mode 100644 packages/System.Text.Json.8.0.0/lib/netstandard2.0/System.Text.Json.dll create mode 100644 packages/System.Text.Json.8.0.0/lib/netstandard2.0/System.Text.Json.xml create mode 100644 packages/System.Text.Json.8.0.0/useSharedDesignerContext.txt create mode 100644 packages/System.Threading.Channels.8.0.0/.signature.p7s create mode 100644 packages/System.Threading.Channels.8.0.0/Icon.png create mode 100644 packages/System.Threading.Channels.8.0.0/LICENSE.TXT create mode 100644 packages/System.Threading.Channels.8.0.0/PACKAGE.md create mode 100644 packages/System.Threading.Channels.8.0.0/System.Threading.Channels.8.0.0.nupkg create mode 100644 packages/System.Threading.Channels.8.0.0/THIRD-PARTY-NOTICES.TXT create mode 100644 packages/System.Threading.Channels.8.0.0/buildTransitive/net461/System.Threading.Channels.targets create mode 100644 packages/System.Threading.Channels.8.0.0/buildTransitive/net462/_._ create mode 100644 packages/System.Threading.Channels.8.0.0/buildTransitive/net6.0/_._ create mode 100644 packages/System.Threading.Channels.8.0.0/buildTransitive/netcoreapp2.0/System.Threading.Channels.targets create mode 100644 packages/System.Threading.Channels.8.0.0/lib/net462/System.Threading.Channels.dll create mode 100644 packages/System.Threading.Channels.8.0.0/lib/net462/System.Threading.Channels.xml create mode 100644 packages/System.Threading.Channels.8.0.0/lib/net6.0/System.Threading.Channels.dll create mode 100644 packages/System.Threading.Channels.8.0.0/lib/net6.0/System.Threading.Channels.xml create mode 100644 packages/System.Threading.Channels.8.0.0/lib/net7.0/System.Threading.Channels.dll create mode 100644 packages/System.Threading.Channels.8.0.0/lib/net7.0/System.Threading.Channels.xml create mode 100644 packages/System.Threading.Channels.8.0.0/lib/net8.0/System.Threading.Channels.dll create mode 100644 packages/System.Threading.Channels.8.0.0/lib/net8.0/System.Threading.Channels.xml create mode 100644 packages/System.Threading.Channels.8.0.0/lib/netstandard2.0/System.Threading.Channels.dll create mode 100644 packages/System.Threading.Channels.8.0.0/lib/netstandard2.0/System.Threading.Channels.xml create mode 100644 packages/System.Threading.Channels.8.0.0/lib/netstandard2.1/System.Threading.Channels.dll create mode 100644 packages/System.Threading.Channels.8.0.0/lib/netstandard2.1/System.Threading.Channels.xml create mode 100644 packages/System.Threading.Channels.8.0.0/useSharedDesignerContext.txt create mode 100644 packages/System.Threading.Tasks.Extensions.4.5.4/.signature.p7s create mode 100644 packages/System.Threading.Tasks.Extensions.4.5.4/LICENSE.TXT create mode 100644 packages/System.Threading.Tasks.Extensions.4.5.4/System.Threading.Tasks.Extensions.4.5.4.nupkg create mode 100644 packages/System.Threading.Tasks.Extensions.4.5.4/THIRD-PARTY-NOTICES.TXT create mode 100644 packages/System.Threading.Tasks.Extensions.4.5.4/lib/MonoAndroid10/_._ create mode 100644 packages/System.Threading.Tasks.Extensions.4.5.4/lib/MonoTouch10/_._ create mode 100644 packages/System.Threading.Tasks.Extensions.4.5.4/lib/net461/System.Threading.Tasks.Extensions.dll create mode 100644 packages/System.Threading.Tasks.Extensions.4.5.4/lib/net461/System.Threading.Tasks.Extensions.xml create mode 100644 packages/System.Threading.Tasks.Extensions.4.5.4/lib/netcoreapp2.1/_._ create mode 100644 packages/System.Threading.Tasks.Extensions.4.5.4/lib/netstandard1.0/System.Threading.Tasks.Extensions.dll create mode 100644 packages/System.Threading.Tasks.Extensions.4.5.4/lib/netstandard1.0/System.Threading.Tasks.Extensions.xml create mode 100644 packages/System.Threading.Tasks.Extensions.4.5.4/lib/netstandard2.0/System.Threading.Tasks.Extensions.dll create mode 100644 packages/System.Threading.Tasks.Extensions.4.5.4/lib/netstandard2.0/System.Threading.Tasks.Extensions.xml create mode 100644 packages/System.Threading.Tasks.Extensions.4.5.4/lib/portable-net45+win8+wp8+wpa81/System.Threading.Tasks.Extensions.dll create mode 100644 packages/System.Threading.Tasks.Extensions.4.5.4/lib/portable-net45+win8+wp8+wpa81/System.Threading.Tasks.Extensions.xml create mode 100644 packages/System.Threading.Tasks.Extensions.4.5.4/lib/xamarinios10/_._ create mode 100644 packages/System.Threading.Tasks.Extensions.4.5.4/lib/xamarinmac20/_._ create mode 100644 packages/System.Threading.Tasks.Extensions.4.5.4/lib/xamarintvos10/_._ create mode 100644 packages/System.Threading.Tasks.Extensions.4.5.4/lib/xamarinwatchos10/_._ create mode 100644 packages/System.Threading.Tasks.Extensions.4.5.4/ref/MonoAndroid10/_._ create mode 100644 packages/System.Threading.Tasks.Extensions.4.5.4/ref/MonoTouch10/_._ create mode 100644 packages/System.Threading.Tasks.Extensions.4.5.4/ref/netcoreapp2.1/_._ create mode 100644 packages/System.Threading.Tasks.Extensions.4.5.4/ref/xamarinios10/_._ create mode 100644 packages/System.Threading.Tasks.Extensions.4.5.4/ref/xamarinmac20/_._ create mode 100644 packages/System.Threading.Tasks.Extensions.4.5.4/ref/xamarintvos10/_._ create mode 100644 packages/System.Threading.Tasks.Extensions.4.5.4/ref/xamarinwatchos10/_._ create mode 100644 packages/System.Threading.Tasks.Extensions.4.5.4/useSharedDesignerContext.txt create mode 100644 packages/System.Threading.Tasks.Extensions.4.5.4/version.txt create mode 100644 packages/System.ValueTuple.4.5.0/.signature.p7s create mode 100644 packages/System.ValueTuple.4.5.0/LICENSE.TXT create mode 100644 packages/System.ValueTuple.4.5.0/System.ValueTuple.4.5.0.nupkg create mode 100644 packages/System.ValueTuple.4.5.0/THIRD-PARTY-NOTICES.TXT create mode 100644 packages/System.ValueTuple.4.5.0/lib/MonoAndroid10/_._ create mode 100644 packages/System.ValueTuple.4.5.0/lib/MonoTouch10/_._ create mode 100644 packages/System.ValueTuple.4.5.0/lib/net461/System.ValueTuple.dll create mode 100644 packages/System.ValueTuple.4.5.0/lib/net461/System.ValueTuple.xml create mode 100644 packages/System.ValueTuple.4.5.0/lib/net47/System.ValueTuple.dll create mode 100644 packages/System.ValueTuple.4.5.0/lib/net47/System.ValueTuple.xml create mode 100644 packages/System.ValueTuple.4.5.0/lib/netcoreapp2.0/_._ create mode 100644 packages/System.ValueTuple.4.5.0/lib/netstandard1.0/System.ValueTuple.dll create mode 100644 packages/System.ValueTuple.4.5.0/lib/netstandard1.0/System.ValueTuple.xml create mode 100644 packages/System.ValueTuple.4.5.0/lib/netstandard2.0/_._ create mode 100644 packages/System.ValueTuple.4.5.0/lib/portable-net40+sl4+win8+wp8/System.ValueTuple.dll create mode 100644 packages/System.ValueTuple.4.5.0/lib/portable-net40+sl4+win8+wp8/System.ValueTuple.xml create mode 100644 packages/System.ValueTuple.4.5.0/lib/uap10.0.16299/_._ create mode 100644 packages/System.ValueTuple.4.5.0/lib/xamarinios10/_._ create mode 100644 packages/System.ValueTuple.4.5.0/lib/xamarinmac20/_._ create mode 100644 packages/System.ValueTuple.4.5.0/lib/xamarintvos10/_._ create mode 100644 packages/System.ValueTuple.4.5.0/lib/xamarinwatchos10/_._ create mode 100644 packages/System.ValueTuple.4.5.0/ref/MonoAndroid10/_._ create mode 100644 packages/System.ValueTuple.4.5.0/ref/MonoTouch10/_._ create mode 100644 packages/System.ValueTuple.4.5.0/ref/net461/System.ValueTuple.dll create mode 100644 packages/System.ValueTuple.4.5.0/ref/net47/System.ValueTuple.dll create mode 100644 packages/System.ValueTuple.4.5.0/ref/netcoreapp2.0/_._ create mode 100644 packages/System.ValueTuple.4.5.0/ref/netstandard2.0/_._ create mode 100644 packages/System.ValueTuple.4.5.0/ref/portable-net40+sl4+win8+wp8/System.ValueTuple.dll create mode 100644 packages/System.ValueTuple.4.5.0/ref/uap10.0.16299/_._ create mode 100644 packages/System.ValueTuple.4.5.0/ref/xamarinios10/_._ create mode 100644 packages/System.ValueTuple.4.5.0/ref/xamarinmac20/_._ create mode 100644 packages/System.ValueTuple.4.5.0/ref/xamarintvos10/_._ create mode 100644 packages/System.ValueTuple.4.5.0/ref/xamarinwatchos10/_._ create mode 100644 packages/System.ValueTuple.4.5.0/useSharedDesignerContext.txt create mode 100644 packages/System.ValueTuple.4.5.0/version.txt diff --git a/db_lab.sln b/db_lab.sln new file mode 100644 index 0000000..aa3748a --- /dev/null +++ b/db_lab.sln @@ -0,0 +1,25 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 17 +VisualStudioVersion = 17.8.34330.188 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "db_lab", "db_lab\db_lab.csproj", "{27C228AD-7C9B-42AE-867B-8A592A3F4EE8}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {27C228AD-7C9B-42AE-867B-8A592A3F4EE8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {27C228AD-7C9B-42AE-867B-8A592A3F4EE8}.Debug|Any CPU.Build.0 = Debug|Any CPU + {27C228AD-7C9B-42AE-867B-8A592A3F4EE8}.Release|Any CPU.ActiveCfg = Release|Any CPU + {27C228AD-7C9B-42AE-867B-8A592A3F4EE8}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {7B4DCBB7-E8DB-4C8D-ACD6-924819B362A9} + EndGlobalSection +EndGlobal diff --git a/db_lab/.gitignore b/db_lab/.gitignore new file mode 100644 index 0000000..36854cc --- /dev/null +++ b/db_lab/.gitignore @@ -0,0 +1 @@ +/.vs diff --git a/db_lab/App.config b/db_lab/App.config new file mode 100644 index 0000000..1bdad40 --- /dev/null +++ b/db_lab/App.config @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/db_lab/DataForm.Designer.cs b/db_lab/DataForm.Designer.cs new file mode 100644 index 0000000..32b9b5d --- /dev/null +++ b/db_lab/DataForm.Designer.cs @@ -0,0 +1,39 @@ +namespace db_lab +{ + partial class DataForm + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.components = new System.ComponentModel.Container(); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(800, 450); + this.Text = "DataForm"; + } + + #endregion + } +} \ No newline at end of file diff --git a/db_lab/DataForm.cs b/db_lab/DataForm.cs new file mode 100644 index 0000000..9c9ea78 --- /dev/null +++ b/db_lab/DataForm.cs @@ -0,0 +1,20 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; + +namespace db_lab +{ + public partial class DataForm : Form + { + public DataForm() + { + InitializeComponent(); + } + } +} diff --git a/db_lab/Form1.Designer.cs b/db_lab/Form1.Designer.cs new file mode 100644 index 0000000..92a7230 --- /dev/null +++ b/db_lab/Form1.Designer.cs @@ -0,0 +1,144 @@ +namespace db_lab +{ + partial class Form1 + { + /// + /// Обязательная переменная конструктора. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Освободить все используемые ресурсы. + /// + /// истинно, если управляемый ресурс должен быть удален; иначе ложно. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Код, автоматически созданный конструктором форм Windows + + /// + /// Требуемый метод для поддержки конструктора — не изменяйте + /// содержимое этого метода с помощью редактора кода. + /// + private void InitializeComponent() + { + this.flowLayoutPanel1 = new System.Windows.Forms.FlowLayoutPanel(); + this.guideBtn = new System.Windows.Forms.Button(); + this.dataBtn = new System.Windows.Forms.Button(); + this.raportBtn = new System.Windows.Forms.Button(); + this.aboutBtn = new System.Windows.Forms.Button(); + this.exitBtn = new System.Windows.Forms.Button(); + this.dbConnectBtn = new System.Windows.Forms.Button(); + this.flowLayoutPanel1.SuspendLayout(); + this.SuspendLayout(); + // + // flowLayoutPanel1 + // + this.flowLayoutPanel1.AutoSize = true; + this.flowLayoutPanel1.Controls.Add(this.guideBtn); + this.flowLayoutPanel1.Controls.Add(this.dataBtn); + this.flowLayoutPanel1.Controls.Add(this.raportBtn); + this.flowLayoutPanel1.Controls.Add(this.aboutBtn); + this.flowLayoutPanel1.Controls.Add(this.dbConnectBtn); + this.flowLayoutPanel1.Controls.Add(this.exitBtn); + this.flowLayoutPanel1.Dock = System.Windows.Forms.DockStyle.Fill; + this.flowLayoutPanel1.Location = new System.Drawing.Point(0, 0); + this.flowLayoutPanel1.Name = "flowLayoutPanel1"; + this.flowLayoutPanel1.Size = new System.Drawing.Size(800, 450); + this.flowLayoutPanel1.TabIndex = 0; + // + // guideBtn + // + this.guideBtn.Location = new System.Drawing.Point(3, 3); + this.guideBtn.Name = "guideBtn"; + this.guideBtn.Size = new System.Drawing.Size(75, 23); + this.guideBtn.TabIndex = 0; + this.guideBtn.Text = "Справочники"; + this.guideBtn.UseVisualStyleBackColor = true; + this.guideBtn.Click += new System.EventHandler(this.guideBtn_Click); + // + // dataBtn + // + this.dataBtn.Location = new System.Drawing.Point(84, 3); + this.dataBtn.Name = "dataBtn"; + this.dataBtn.Size = new System.Drawing.Size(75, 23); + this.dataBtn.TabIndex = 1; + this.dataBtn.Text = "Данные"; + this.dataBtn.UseVisualStyleBackColor = true; + this.dataBtn.Click += new System.EventHandler(this.dataBtn_Click); + // + // raportBtn + // + this.raportBtn.Location = new System.Drawing.Point(165, 3); + this.raportBtn.Name = "raportBtn"; + this.raportBtn.Size = new System.Drawing.Size(75, 23); + this.raportBtn.TabIndex = 2; + this.raportBtn.Text = "Отчеты"; + this.raportBtn.UseVisualStyleBackColor = true; + this.raportBtn.Click += new System.EventHandler(this.raportBtn_Click); + // + // aboutBtn + // + this.aboutBtn.Location = new System.Drawing.Point(246, 3); + this.aboutBtn.Name = "aboutBtn"; + this.aboutBtn.Size = new System.Drawing.Size(108, 23); + this.aboutBtn.TabIndex = 3; + this.aboutBtn.Text = "О программе"; + this.aboutBtn.UseVisualStyleBackColor = true; + this.aboutBtn.Click += new System.EventHandler(this.aboutBtn_Click); + // + // exitBtn + // + this.exitBtn.Location = new System.Drawing.Point(528, 3); + this.exitBtn.Name = "exitBtn"; + this.exitBtn.Size = new System.Drawing.Size(75, 23); + this.exitBtn.TabIndex = 4; + this.exitBtn.Text = "Выход"; + this.exitBtn.UseVisualStyleBackColor = true; + this.exitBtn.Click += new System.EventHandler(this.exitBtn_Click); + // + // dbConnectBtn + // + this.dbConnectBtn.AutoSize = true; + this.dbConnectBtn.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink; + this.dbConnectBtn.Location = new System.Drawing.Point(360, 3); + this.dbConnectBtn.Name = "dbConnectBtn"; + this.dbConnectBtn.Size = new System.Drawing.Size(162, 23); + this.dbConnectBtn.TabIndex = 5; + this.dbConnectBtn.Text = "Подключение к базе данных"; + this.dbConnectBtn.UseVisualStyleBackColor = true; + this.dbConnectBtn.Click += new System.EventHandler(this.dbConnectBtn_Click); + // + // Form1 + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(800, 450); + this.Controls.Add(this.flowLayoutPanel1); + this.Name = "Form1"; + this.Text = "Form1"; + this.flowLayoutPanel1.ResumeLayout(false); + this.flowLayoutPanel1.PerformLayout(); + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + + private System.Windows.Forms.FlowLayoutPanel flowLayoutPanel1; + private System.Windows.Forms.Button guideBtn; + private System.Windows.Forms.Button dataBtn; + private System.Windows.Forms.Button raportBtn; + private System.Windows.Forms.Button aboutBtn; + private System.Windows.Forms.Button exitBtn; + private System.Windows.Forms.Button dbConnectBtn; + } +} + diff --git a/db_lab/Form1.cs b/db_lab/Form1.cs new file mode 100644 index 0000000..0cc8089 --- /dev/null +++ b/db_lab/Form1.cs @@ -0,0 +1,70 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; +using Npgsql; + +namespace db_lab +{ + public partial class Form1 : Form + { + string connectionString = "Server=localhost;Port=5432;UserId=postgres;Password=postgres;Database=SQL_Servers;"; + NpgsqlConnection connection; + + public Form1() + { + InitializeComponent(); + } + + private void exitBtn_Click(object sender, EventArgs e) + { + Application.Exit(); + } + + private void aboutBtn_Click(object sender, EventArgs e) + { + string appName = Application.ProductName; + string appVersion = Application.ProductVersion; + string developer = "Артем Вебер"; + + string message = $"Приложение: {appName}\nВерсия: {appVersion}\nРазработчик: {developer}"; + MessageBox.Show(message, "Информация о приложении", MessageBoxButtons.OK, MessageBoxIcon.Information); + } + + private void raportBtn_Click(object sender, EventArgs e) + { + RaportForm raportForm = new RaportForm(); + raportForm.Show(); + } + + private void dataBtn_Click(object sender, EventArgs e) + { + DataForm dataForm = new DataForm(); + dataForm.Show(); + } + + private void guideBtn_Click(object sender, EventArgs e) + { + GuideForm guideForm = new GuideForm(); + guideForm.Show(); + } + + private void dbConnectBtn_Click(object sender, EventArgs e) + { + try + { + this.connection = new NpgsqlConnection(this.connectionString); + this.connection.Open(); + MessageBox.Show("Database was successfuly connected!"); + } catch (Exception ex) + { + MessageBox.Show($"Error! Db connection was fatal! Log: {ex.Message}"); + } + } + } +} diff --git a/db_lab/Form1.resx b/db_lab/Form1.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/db_lab/Form1.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/db_lab/GuideForm.Designer.cs b/db_lab/GuideForm.Designer.cs new file mode 100644 index 0000000..c1ca711 --- /dev/null +++ b/db_lab/GuideForm.Designer.cs @@ -0,0 +1,39 @@ +namespace db_lab +{ + partial class GuideForm + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.components = new System.ComponentModel.Container(); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(800, 450); + this.Text = "GuideForm"; + } + + #endregion + } +} \ No newline at end of file diff --git a/db_lab/GuideForm.cs b/db_lab/GuideForm.cs new file mode 100644 index 0000000..6a5598a --- /dev/null +++ b/db_lab/GuideForm.cs @@ -0,0 +1,20 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; + +namespace db_lab +{ + public partial class GuideForm : Form + { + public GuideForm() + { + InitializeComponent(); + } + } +} diff --git a/db_lab/Program.cs b/db_lab/Program.cs new file mode 100644 index 0000000..a6955cf --- /dev/null +++ b/db_lab/Program.cs @@ -0,0 +1,22 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Threading.Tasks; +using System.Windows.Forms; + +namespace db_lab +{ + internal static class Program + { + /// + /// Главная точка входа для приложения. + /// + [STAThread] + static void Main() + { + Application.EnableVisualStyles(); + Application.SetCompatibleTextRenderingDefault(false); + Application.Run(new Form1()); + } + } +} diff --git a/db_lab/Properties/AssemblyInfo.cs b/db_lab/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..dfd98bc --- /dev/null +++ b/db_lab/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// Общие сведения об этой сборке предоставляются следующим набором +// набора атрибутов. Измените значения этих атрибутов для изменения сведений, +// связанных со сборкой. +[assembly: AssemblyTitle("db_lab")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("db_lab")] +[assembly: AssemblyCopyright("Copyright © 2024")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Установка значения False для параметра ComVisible делает типы в этой сборке невидимыми +// для компонентов COM. Если необходимо обратиться к типу в этой сборке через +// COM, следует установить атрибут ComVisible в TRUE для этого типа. +[assembly: ComVisible(false)] + +// Следующий GUID служит для идентификации библиотеки типов, если этот проект будет видимым для COM +[assembly: Guid("27c228ad-7c9b-42ae-867b-8a592a3f4ee8")] + +// Сведения о версии сборки состоят из указанных ниже четырех значений: +// +// Основной номер версии +// Дополнительный номер версии +// Номер сборки +// Редакция +// +// Можно задать все значения или принять номера сборки и редакции по умолчанию +// используя "*", как показано ниже: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/db_lab/Properties/Resources.Designer.cs b/db_lab/Properties/Resources.Designer.cs new file mode 100644 index 0000000..6dcef8c --- /dev/null +++ b/db_lab/Properties/Resources.Designer.cs @@ -0,0 +1,71 @@ +//------------------------------------------------------------------------------ +// +// Этот код создан программным средством. +// Версия среды выполнения: 4.0.30319.42000 +// +// Изменения в этом файле могут привести к неправильному поведению и будут утрачены, если +// код создан повторно. +// +//------------------------------------------------------------------------------ + +namespace db_lab.Properties +{ + + + /// + /// Класс ресурсов со строгим типом для поиска локализованных строк и пр. + /// + // Этот класс был автоматически создан при помощи StronglyTypedResourceBuilder + // класс с помощью таких средств, как ResGen или Visual Studio. + // Для добавления или удаления члена измените файл .ResX, а затем перезапустите ResGen + // с параметром /str или заново постройте свой VS-проект. + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + internal class Resources + { + + private static global::System.Resources.ResourceManager resourceMan; + + private static global::System.Globalization.CultureInfo resourceCulture; + + [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] + internal Resources() + { + } + + /// + /// Возврат кэшированного экземпляра ResourceManager, используемого этим классом. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Resources.ResourceManager ResourceManager + { + get + { + if ((resourceMan == null)) + { + global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("db_lab.Properties.Resources", typeof(Resources).Assembly); + resourceMan = temp; + } + return resourceMan; + } + } + + /// + /// Переопределяет свойство CurrentUICulture текущего потока для всех + /// подстановки ресурсов с помощью этого класса ресурсов со строгим типом. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Globalization.CultureInfo Culture + { + get + { + return resourceCulture; + } + set + { + resourceCulture = value; + } + } + } +} diff --git a/db_lab/Properties/Resources.resx b/db_lab/Properties/Resources.resx new file mode 100644 index 0000000..af7dbeb --- /dev/null +++ b/db_lab/Properties/Resources.resx @@ -0,0 +1,117 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/db_lab/Properties/Settings.Designer.cs b/db_lab/Properties/Settings.Designer.cs new file mode 100644 index 0000000..90e8a3f --- /dev/null +++ b/db_lab/Properties/Settings.Designer.cs @@ -0,0 +1,30 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:4.0.30319.42000 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace db_lab.Properties +{ + + + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")] + internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase + { + + private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); + + public static Settings Default + { + get + { + return defaultInstance; + } + } + } +} diff --git a/db_lab/Properties/Settings.settings b/db_lab/Properties/Settings.settings new file mode 100644 index 0000000..3964565 --- /dev/null +++ b/db_lab/Properties/Settings.settings @@ -0,0 +1,7 @@ + + + + + + + diff --git a/db_lab/RaportForm.Designer.cs b/db_lab/RaportForm.Designer.cs new file mode 100644 index 0000000..fc30b11 --- /dev/null +++ b/db_lab/RaportForm.Designer.cs @@ -0,0 +1,39 @@ +namespace db_lab +{ + partial class RaportForm + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.components = new System.ComponentModel.Container(); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(800, 450); + this.Text = "RaportForm"; + } + + #endregion + } +} \ No newline at end of file diff --git a/db_lab/RaportForm.cs b/db_lab/RaportForm.cs new file mode 100644 index 0000000..bf138a2 --- /dev/null +++ b/db_lab/RaportForm.cs @@ -0,0 +1,20 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; + +namespace db_lab +{ + public partial class RaportForm : Form + { + public RaportForm() + { + InitializeComponent(); + } + } +} diff --git a/db_lab/bin/Debug/Microsoft.Bcl.AsyncInterfaces.dll b/db_lab/bin/Debug/Microsoft.Bcl.AsyncInterfaces.dll new file mode 100644 index 0000000000000000000000000000000000000000..6031ba1e94835abd1d276b9700394dbafeb2b46c GIT binary patch literal 26904 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

Z~tDC|6_& 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 + + + Microsoft.Bcl.AsyncInterfaces + + + +

Provides the core logic for implementing a manual-reset or . + + + + + The callback to invoke when the operation completes if was called before the operation completed, + or if the operation completed before a callback was supplied, + or null if a callback hasn't yet been provided and the operation hasn't yet completed. + + + + State to pass to . + + + to flow to the callback, or null if no flowing is required. + + + + A "captured" or with which to invoke the callback, + or null if no special context is required. + + + + Whether the current operation has completed. + + + The result with which the operation succeeded, or the default value if it hasn't yet completed or failed. + + + The exception with which the operation failed, or null if it hasn't yet completed or completed successfully. + + + The current version of this value, used to help prevent misuse. + + + Gets or sets whether to force continuations to run asynchronously. + Continuations may run asynchronously if this is false, but they'll never run synchronously if this is true. + + + Resets to prepare for the next operation. + + + Completes with a successful result. + The result. + + + Complets with an error. + + + + Gets the operation version. + + + Gets the status of the operation. + Opaque value that was provided to the 's constructor. + + + Gets the result of the operation. + Opaque value that was provided to the 's constructor. + + + Schedules the continuation action for this operation. + The continuation to invoke when the operation has completed. + The state object to pass to when it's invoked. + Opaque value that was provided to the 's constructor. + The flags describing the behavior of the continuation. + + + Ensures that the specified token matches the current version. + The token supplied by . + + + Signals that the operation has completed. Invoked after the result or error has been set. + + + + Invokes the continuation with the appropriate captured context / scheduler. + This assumes that if is not null we're already + running within that . + + + + Provides a set of static methods for configuring -related behaviors on asynchronous enumerables and disposables. + + + Configures how awaits on the tasks returned from an async disposable will be performed. + The source async disposable. + Whether to capture and marshal back to the current context. + The configured async disposable. + + + Configures how awaits on the tasks returned from an async iteration will be performed. + The type of the objects being iterated. + The source enumerable being iterated. + Whether to capture and marshal back to the current context. + The configured enumerable. + + + Sets the to be passed to when iterating. + The type of the objects being iterated. + The source enumerable being iterated. + The to use. + The configured enumerable. + + + Represents a builder for asynchronous iterators. + + + Creates an instance of the struct. + The initialized instance. + + + Invokes on the state machine while guarding the . + The type of the state machine. + The state machine instance, passed by reference. + + + Schedules the state machine to proceed to the next action when the specified awaiter completes. + The type of the awaiter. + The type of the state machine. + The awaiter. + The state machine. + + + Schedules the state machine to proceed to the next action when the specified awaiter completes. + The type of the awaiter. + The type of the state machine. + The awaiter. + The state machine. + + + Marks iteration as being completed, whether successfully or otherwise. + + + Gets an object that may be used to uniquely identify this builder to the debugger. + + + Indicates whether a method is an asynchronous iterator. + + + Initializes a new instance of the class. + The type object for the underlying state machine type that's used to implement a state machine method. + + + Provides a type that can be used to configure how awaits on an are performed. + + + Asynchronously releases the unmanaged resources used by the . + A task that represents the asynchronous dispose operation. + + + Provides an awaitable async enumerable that enables cancelable iteration and configured awaits. + + + Configures how awaits on the tasks returned from an async iteration will be performed. + Whether to capture and marshal back to the current context. + The configured enumerable. + This will replace any previous value set by for this iteration. + + + Sets the to be passed to when iterating. + The to use. + The configured enumerable. + This will replace any previous set by for this iteration. + + + Returns an enumerator that iterates asynchronously through collections that enables cancelable iteration and configured awaits. + An enumerator for the class. + + + Provides an awaitable async enumerator that enables cancelable iteration and configured awaits. + + + Advances the enumerator asynchronously to the next element of the collection. + + A that will complete with a result of true + if the enumerator was successfully advanced to the next element, or false if the enumerator has + passed the end of the collection. + + + + Gets the element in the collection at the current position of the enumerator. + + + + Performs application-defined tasks associated with freeing, releasing, or + resetting unmanaged resources asynchronously. + + + + Allows users of async-enumerable methods to mark the parameter that should receive the cancellation token value from . + + + Initializes a new instance of the class. + + + + Attribute used to indicate a source generator should create a function for marshalling + arguments instead of relying on the runtime to generate an equivalent marshalling function at run-time. + + + This attribute is meaningless if the source generator associated with it is not enabled. + The current built-in source generator only supports C# and only supplies an implementation when + applied to static, partial, non-generic methods. + + + + + Initializes a new instance of the . + + Name of the library containing the import. + + + + Gets the name of the library containing the import. + + + + + Gets or sets the name of the entry point to be called. + + + + + Gets or sets how to marshal string arguments to the method. + + + If this field is set to a value other than , + must not be specified. + + + + + Gets or sets the used to control how string arguments to the method are marshalled. + + + If this field is specified, must not be specified + or must be set to . + + + + + Gets or sets whether the callee sets an error (SetLastError on Windows or errno + on other platforms) before returning from the attributed method. + + + + + Specifies how strings should be marshalled for generated p/invokes + + + + + Indicates the user is suppling a specific marshaller in . + + + + + Use the platform-provided UTF-8 marshaller. + + + + + Use the platform-provided UTF-16 marshaller. + + + + Exposes an enumerator that provides asynchronous iteration over values of a specified type. + The type of values to enumerate. + + + Returns an enumerator that iterates asynchronously through the collection. + A that may be used to cancel the asynchronous iteration. + An enumerator that can be used to iterate asynchronously through the collection. + + + Supports a simple asynchronous iteration over a generic collection. + The type of objects to enumerate. + + + Advances the enumerator asynchronously to the next element of the collection. + + A that will complete with a result of true if the enumerator + was successfully advanced to the next element, or false if the enumerator has passed the end + of the collection. + + + + Gets the element in the collection at the current position of the enumerator. + + + Provides a mechanism for releasing unmanaged resources asynchronously. + + + + Performs application-defined tasks associated with freeing, releasing, or + resetting unmanaged resources asynchronously. + + + + Specifies that null is allowed as an input even if the corresponding type disallows it. + + + Specifies that null is disallowed as an input even if the corresponding type allows it. + + + Specifies that an output may be null even if the corresponding type disallows it. + + + Specifies that an output will not be null even if the corresponding type allows it. Specifies that an input argument was not null when the call returns. + + + Specifies that when a method returns , the parameter may be null even if the corresponding type disallows it. + + + Initializes the attribute with the specified return value condition. + + The return value condition. If the method returns this value, the associated parameter may be null. + + + + Gets the return value condition. + + + Specifies that when a method returns , the parameter will not be null even if the corresponding type allows it. + + + Initializes the attribute with the specified return value condition. + + The return value condition. If the method returns this value, the associated parameter will not be null. + + + + Gets the return value condition. + + + Specifies that the output will be non-null if the named parameter is non-null. + + + Initializes the attribute with the associated parameter name. + + The associated parameter name. The output will be non-null if the argument to the parameter specified is non-null. + + + + Gets the associated parameter name. + + + Applied to a method that will never return under any circumstance. + + + Specifies that the method will not return if the associated Boolean parameter is passed the specified value. + + + Initializes the attribute with the specified parameter value. + + The condition parameter value. Code after the method will be considered unreachable by diagnostics if the argument to + the associated parameter matches this value. + + + + Gets the condition parameter value. + + + Specifies that the method or property will ensure that the listed field and property members have not-null values. + + + Initializes the attribute with a field or property member. + + The field or property member that is promised to be not-null. + + + + Initializes the attribute with the list of field and property members. + + The list of field and property members that are promised to be not-null. + + + + Gets field or property member names. + + + Specifies that the method or property will ensure that the listed field and property members have not-null values when returning with the specified return value condition. + + + Initializes the attribute with the specified return value condition and a field or property member. + + The return value condition. If the method returns this value, the associated parameter will not be null. + + + The field or property member that is promised to be not-null. + + + + Initializes the attribute with the specified return value condition and list of field and property members. + + The return value condition. If the method returns this value, the associated parameter will not be null. + + + The list of field and property members that are promised to be not-null. + + + + Gets the return value condition. + + + Gets field or property member names. + + + diff --git a/db_lab/bin/Debug/Microsoft.Bcl.HashCode.dll b/db_lab/bin/Debug/Microsoft.Bcl.HashCode.dll new file mode 100644 index 0000000000000000000000000000000000000000..3f97f6e0bb2060e7dbc364a63a98e6a1c6ee4fd2 GIT binary patch literal 23424 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
  • 3=Izt3jXP7_MTP^hHDl(|XayHkZU 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 + + + Microsoft.Bcl.HashCode + + + + + Rotates the specified value left by the specified number of bits. + Similar in behavior to the x86 instruction ROL. + + The value to rotate. + The number of bits to rotate by. + Any value outside the range [0..31] is treated as congruent mod 32. + The rotated value. + + + + Rotates the specified value left by the specified number of bits. + Similar in behavior to the x86 instruction ROL. + + The value to rotate. + The number of bits to rotate by. + Any value outside the range [0..63] is treated as congruent mod 64. + The rotated value. + + + HashCode is a mutable struct and should not be compared with other HashCodes. + + + HashCode is a mutable struct and should not be compared with other HashCodes. Use ToHashCode to retrieve the computed hash code. + + + diff --git a/db_lab/bin/Debug/Microsoft.Extensions.DependencyInjection.Abstractions.dll b/db_lab/bin/Debug/Microsoft.Extensions.DependencyInjection.Abstractions.dll new file mode 100644 index 0000000000000000000000000000000000000000..3298f8dce62f174a4bae966aad92960dd1d66ca5 GIT binary patch literal 64264 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 K^mf}N@xK5#cfe2p literal 0 HcmV?d00001 diff --git a/db_lab/bin/Debug/Microsoft.Extensions.DependencyInjection.Abstractions.xml b/db_lab/bin/Debug/Microsoft.Extensions.DependencyInjection.Abstractions.xml new file mode 100644 index 0000000..ca535c8 --- /dev/null +++ b/db_lab/bin/Debug/Microsoft.Extensions.DependencyInjection.Abstractions.xml @@ -0,0 +1,2515 @@ + + + + Microsoft.Extensions.DependencyInjection.Abstractions + + + + + Helper code for the various activator services. + + + + + Instantiate a type with constructor arguments provided directly and/or from an . + + The service provider used to resolve dependencies + The type to activate + Constructor arguments not provided by the . + An activated object of type instanceType + + + + Create a delegate that will instantiate a type with constructor arguments provided directly + and/or from an . + + The type to activate + + The types of objects, in order, that will be passed to the returned function as its second parameter + + + A factory that will instantiate instanceType using an + and an argument array containing objects matching the types defined in argumentTypes + + + + + Create a delegate that will instantiate a type with constructor arguments provided directly + and/or from an . + + The type to activate + + The types of objects, in order, that will be passed to the returned function as its second parameter + + + A factory that will instantiate type T using an + and an argument array containing objects matching the types defined in argumentTypes + + + + + Instantiate a type with constructor arguments provided directly and/or from an . + + The type to activate + The service provider used to resolve dependencies + Constructor arguments not provided by the . + An activated object of type T + + + + Retrieve an instance of the given type from the service provider. If one is not found then instantiate it directly. + + The type of the service + The service provider used to resolve dependencies + The resolved service or created instance + + + + Retrieve an instance of the given type from the service provider. If one is not found then instantiate it directly. + + The service provider + The type of the service + The resolved service or created instance + + + + Marks the constructor to be used when activating type using . + + + + + An implementation that implements . + + + + + Initializes a new instance of the struct. + Wraps an instance of . + + The instance to wrap. + + + + + + + + + + + + + Extension methods for adding and removing services to an . + + + + + Adds the specified to the . + + The . + The to add. + A reference to the current instance of . + + + + Adds a sequence of to the . + + The . + The s to add. + A reference to the current instance of . + + + + Adds the specified to the if the + service type hasn't already been registered. + + The . + The to add. + + + + Adds the specified to the if the + service type hasn't already been registered. + + The . + The s to add. + + + + Adds the specified as a service + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + + + + Adds the specified as a service + with the implementation + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The implementation type of the service. + + + + Adds the specified as a service + using the factory specified in + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The factory that creates the service. + + + + Adds the specified as a service + to the if the service type hasn't already been registered. + + The type of the service to add. + The . + + + + Adds the specified as a service + implementation type specified in + to the if the service type hasn't already been registered. + + The type of the service to add. + The type of the implementation to use. + The . + + + + Adds the specified as a service + using the factory specified in + to the if the service type hasn't already been registered. + + The type of the service to add. + The . + The factory that creates the service. + + + + Adds the specified as a service + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + + + + Adds the specified as a service + with the implementation + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The implementation type of the service. + + + + Adds the specified as a service + using the factory specified in + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The factory that creates the service. + + + + Adds the specified as a service + to the if the service type hasn't already been registered. + + The type of the service to add. + The . + + + + Adds the specified as a service + implementation type specified in + to the if the service type hasn't already been registered. + + The type of the service to add. + The type of the implementation to use. + The . + + + + Adds the specified as a service + using the factory specified in + to the if the service type hasn't already been registered. + + The type of the service to add. + The . + The factory that creates the service. + + + + Adds the specified as a service + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + + + + Adds the specified as a service + with the implementation + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The implementation type of the service. + + + + Adds the specified as a service + using the factory specified in + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The factory that creates the service. + + + + Adds the specified as a service + to the if the service type hasn't already been registered. + + The type of the service to add. + The . + + + + Adds the specified as a service + implementation type specified in + to the if the service type hasn't already been registered. + + The type of the service to add. + The type of the implementation to use. + The . + + + + Adds the specified as a service + with an instance specified in + to the if the service type hasn't already been registered. + + The type of the service to add. + The . + The instance of the service to add. + + + + Adds the specified as a service + using the factory specified in + to the if the service type hasn't already been registered. + + The type of the service to add. + The . + The factory that creates the service. + + + + Adds a if an existing descriptor with the same + and an implementation that does not already exist + in . + + The . + The . + + Use when registering a service implementation of a + service type that + supports multiple registrations of the same service type. Using + is not idempotent and can add + duplicate + instances if called twice. Using + will prevent registration + of multiple implementation types. + + + + + Adds the specified s if an existing descriptor with the same + and an implementation that does not already exist + in . + + The . + The s. + + Use when registering a service + implementation of a service type that + supports multiple registrations of the same service type. Using + is not idempotent and can add + duplicate + instances if called twice. Using + will prevent registration + of multiple implementation types. + + + + + Removes the first service in with the same service type + as and adds to the collection. + + The . + The to replace with. + The for chaining. + + + + Removes all services of type in . + + The . + The for chaining. + + + + Removes all services of type in . + + The . + The service type to remove. + The for chaining. + + + + Adds the specified as a service + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The service key. + + + + Adds the specified as a service + with the implementation + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The service key. + The implementation type of the service. + + + + Adds the specified as a service + using the factory specified in + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The service key. + The factory that creates the service. + + + + Adds the specified as a service + to the if the service type hasn't already been registered. + + The type of the service to add. + The . + The service key. + + + + Adds the specified as a service + implementation type specified in + to the if the service type hasn't already been registered. + + The type of the service to add. + The type of the implementation to use. + The . + The service key. + + + + Adds the specified as a service + using the factory specified in + to the if the service type hasn't already been registered. + + The type of the service to add. + The . + The service key. + The factory that creates the service. + + + + Adds the specified as a service + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The service key. + + + + Adds the specified as a service + with the implementation + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The service key. + The implementation type of the service. + + + + Adds the specified as a service + using the factory specified in + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The service key. + The factory that creates the service. + + + + Adds the specified as a service + to the if the service type hasn't already been registered. + + The type of the service to add. + The . + The service key. + + + + Adds the specified as a service + implementation type specified in + to the if the service type hasn't already been registered. + + The type of the service to add. + The type of the implementation to use. + The . + The service key. + + + + Adds the specified as a service + using the factory specified in + to the if the service type hasn't already been registered. + + The type of the service to add. + The . + The factory that creates the service. + The service key. + + + + Adds the specified as a service + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The service key. + + + + Adds the specified as a service + with the implementation + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The service key. + The implementation type of the service. + + + + Adds the specified as a service + using the factory specified in + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The service key. + The factory that creates the service. + + + + Adds the specified as a service + to the if the service type hasn't already been registered. + + The type of the service to add. + The . + The service key. + + + + Adds the specified as a service + implementation type specified in + to the if the service type hasn't already been registered. + + The type of the service to add. + The type of the implementation to use. + The . + The service key. + + + + Adds the specified as a service + with an instance specified in + to the if the service type hasn't already been registered. + + The type of the service to add. + The . + The service key. + The instance of the service to add. + + + + Adds the specified as a service + using the factory specified in + to the if the service type hasn't already been registered. + + The type of the service to add. + The . + The service key. + The factory that creates the service. + + + + Removes all services of type in . + + The . + The service key. + The for chaining. + + + + Removes all services of type in . + + The . + The service type to remove. + The service key. + The for chaining. + + + + Indicates that the parameter should be bound using the keyed service registered with the specified key. + + + + + Creates a new instance. + + The key of the keyed service to bind to. + + + + The key of the keyed service to bind to. + + + + + IKeyedServiceProvider is a service provider that can be used to retrieve services using a key in addition + to a type. + + + + + Gets the service object of the specified type. + + An object that specifies the type of service object to get. + An object that specifies the key of service object to get. + A service object of type serviceType. -or- null if there is no service object of type serviceType. + + + + Gets service of type from the implementing + this interface. + + An object that specifies the type of service object to get. + The of the service. + A service object of type . + Throws an exception if the cannot create the object. + + + + Statics for use with . + + + + + Represents a key that matches any key. + + + + + Specifies the contract for a collection of service descriptors. + + + + + Provides an extension point for creating a container specific builder and an . + + + + + Creates a container builder from an . + + The collection of services + A container builder that can be used to create an . + + + + Creates an from the container builder. + + The container builder + An + + + + Optional service used to determine if the specified type with the specified service key is available + from the . + + + + + Determines if the specified service type with the specified service key is available from the + . + + An object that specifies the type of service object to test. + The of the service. + true if the specified service is a available, false if it is not. + + + + Optional service used to determine if the specified type is available from the . + + + + + Determines if the specified service type is available from the . + + An object that specifies the type of service object to test. + true if the specified service is a available, false if it is not. + + + + The method ends the scope lifetime. Once Dispose + is called, any scoped services that have been resolved from + will be + disposed. + + + + + The used to resolve dependencies from the scope. + + + + + A factory for creating instances of , which is used to create + services within a scope. + + + + + Create an which + contains an used to resolve dependencies from a + newly created scope. + + + An controlling the + lifetime of the scope. Once this is disposed, any scoped services that have been resolved + from the + will also be disposed. + + + + + Optional contract used by + to resolve services if supported by . + + + + + Gets service of type from the implementing + this interface. + + An object that specifies the type of service object to get. + A service object of type . + Throws an exception if the cannot create the object. + + + + The result of . + + The to get service arguments from. + Additional constructor arguments. + The instantiated type. + + + + The result of . A delegate to specify a factory method to call to instantiate an instance of type `T` + + The type of the instance being returned + The to get service arguments from. + Additional constructor arguments. + An instance of T + + + + Default implementation of . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Makes this collection read-only. + + + After the collection is marked as read-only, any further attempt to modify it throws an . + + + + + Extension methods for adding services to an . + + + Extension methods for adding services to an . + + + + + Adds a transient service of the type specified in with an + implementation of the type specified in to the + specified . + + The to add the service to. + The type of the service to register. + The implementation type of the service. + A reference to this instance after the operation has completed. + + + + + Adds a transient service of the type specified in with a + factory specified in to the + specified . + + The to add the service to. + The type of the service to register. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a transient service of the type specified in with an + implementation type specified in to the + specified . + + The type of the service to add. + The type of the implementation to use. + The to add the service to. + A reference to this instance after the operation has completed. + + + + + Adds a transient service of the type specified in to the + specified . + + The to add the service to. + The type of the service to register and the implementation to use. + A reference to this instance after the operation has completed. + + + + + Adds a transient service of the type specified in to the + specified . + + The type of the service to add. + The to add the service to. + A reference to this instance after the operation has completed. + + + + + Adds a transient service of the type specified in with a + factory specified in to the + specified . + + The type of the service to add. + The to add the service to. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a transient service of the type specified in with an + implementation type specified in using the + factory specified in to the + specified . + + The type of the service to add. + The type of the implementation to use. + The to add the service to. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a scoped service of the type specified in with an + implementation of the type specified in to the + specified . + + The to add the service to. + The type of the service to register. + The implementation type of the service. + A reference to this instance after the operation has completed. + + + + + Adds a scoped service of the type specified in with a + factory specified in to the + specified . + + The to add the service to. + The type of the service to register. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a scoped service of the type specified in with an + implementation type specified in to the + specified . + + The type of the service to add. + The type of the implementation to use. + The to add the service to. + A reference to this instance after the operation has completed. + + + + + Adds a scoped service of the type specified in to the + specified . + + The to add the service to. + The type of the service to register and the implementation to use. + A reference to this instance after the operation has completed. + + + + + Adds a scoped service of the type specified in to the + specified . + + The type of the service to add. + The to add the service to. + A reference to this instance after the operation has completed. + + + + + Adds a scoped service of the type specified in with a + factory specified in to the + specified . + + The type of the service to add. + The to add the service to. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a scoped service of the type specified in with an + implementation type specified in using the + factory specified in to the + specified . + + The type of the service to add. + The type of the implementation to use. + The to add the service to. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in with an + implementation of the type specified in to the + specified . + + The to add the service to. + The type of the service to register. + The implementation type of the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in with a + factory specified in to the + specified . + + The to add the service to. + The type of the service to register. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in with an + implementation type specified in to the + specified . + + The type of the service to add. + The type of the implementation to use. + The to add the service to. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in to the + specified . + + The to add the service to. + The type of the service to register and the implementation to use. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in to the + specified . + + The type of the service to add. + The to add the service to. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in with a + factory specified in to the + specified . + + The type of the service to add. + The to add the service to. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in with an + implementation type specified in using the + factory specified in to the + specified . + + The type of the service to add. + The type of the implementation to use. + The to add the service to. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in with an + instance specified in to the + specified . + + The to add the service to. + The type of the service to register. + The instance of the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in with an + instance specified in to the + specified . + + The to add the service to. + The instance of the service. + A reference to this instance after the operation has completed. + + + + + Adds a transient service of the type specified in with an + implementation of the type specified in to the + specified . + + The to add the service to. + The type of the service to register. + The of the service. + The implementation type of the service. + A reference to this instance after the operation has completed. + + + + + Adds a transient service of the type specified in with a + factory specified in to the + specified . + + The to add the service to. + The type of the service to register. + The of the service. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a transient service of the type specified in with an + implementation type specified in to the + specified . + + The type of the service to add. + The type of the implementation to use. + The to add the service to. + The of the service. + A reference to this instance after the operation has completed. + + + + + Adds a transient service of the type specified in to the + specified . + + The to add the service to. + The type of the service to register and the implementation to use. + The of the service. + A reference to this instance after the operation has completed. + + + + + Adds a transient service of the type specified in to the + specified . + + The type of the service to add. + The to add the service to. + The of the service. + A reference to this instance after the operation has completed. + + + + + Adds a transient service of the type specified in with a + factory specified in to the + specified . + + The type of the service to add. + The to add the service to. + The of the service. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a transient service of the type specified in with an + implementation type specified in using the + factory specified in to the + specified . + + The type of the service to add. + The type of the implementation to use. + The to add the service to. + The of the service. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a scoped service of the type specified in with an + implementation of the type specified in to the + specified . + + The to add the service to. + The type of the service to register. + The of the service. + The implementation type of the service. + A reference to this instance after the operation has completed. + + + + + Adds a scoped service of the type specified in with a + factory specified in to the + specified . + + The to add the service to. + The type of the service to register. + The of the service. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a scoped service of the type specified in with an + implementation type specified in to the + specified . + + The type of the service to add. + The type of the implementation to use. + The to add the service to. + The of the service. + A reference to this instance after the operation has completed. + + + + + Adds a scoped service of the type specified in to the + specified . + + The to add the service to. + The type of the service to register and the implementation to use. + The of the service. + A reference to this instance after the operation has completed. + + + + + Adds a scoped service of the type specified in to the + specified . + + The type of the service to add. + The to add the service to. + The of the service. + A reference to this instance after the operation has completed. + + + + + Adds a scoped service of the type specified in with a + factory specified in to the + specified . + + The type of the service to add. + The to add the service to. + The of the service. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a scoped service of the type specified in with an + implementation type specified in using the + factory specified in to the + specified . + + The type of the service to add. + The type of the implementation to use. + The to add the service to. + The of the service. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in with an + implementation of the type specified in to the + specified . + + The to add the service to. + The type of the service to register. + The of the service. + The implementation type of the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in with a + factory specified in to the + specified . + + The to add the service to. + The type of the service to register. + The of the service. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in with an + implementation type specified in to the + specified . + + The type of the service to add. + The type of the implementation to use. + The to add the service to. + The of the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in to the + specified . + + The to add the service to. + The type of the service to register and the implementation to use. + The of the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in to the + specified . + + The type of the service to add. + The to add the service to. + The of the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in with a + factory specified in to the + specified . + + The type of the service to add. + The to add the service to. + The of the service. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in with an + implementation type specified in using the + factory specified in to the + specified . + + The type of the service to add. + The type of the implementation to use. + The to add the service to. + The of the service. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in with an + instance specified in to the + specified . + + The to add the service to. + The type of the service to register. + The of the service. + The instance of the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in with an + instance specified in to the + specified . + + The to add the service to. + The of the service. + The instance of the service. + A reference to this instance after the operation has completed. + + + + + Describes a service with its service type, implementation, and lifetime. + + + + + Initializes a new instance of with the specified . + + The of the service. + The implementing the service. + The of the service. + + + + Initializes a new instance of with the specified . + + The of the service. + The of the service. + The implementing the service. + The of the service. + + + + Initializes a new instance of with the specified + as a . + + The of the service. + The instance implementing the service. + + + + Initializes a new instance of with the specified + as a . + + The of the service. + The of the service. + The instance implementing the service. + + + + Initializes a new instance of with the specified . + + The of the service. + A factory used for creating service instances. + The of the service. + + + + Initializes a new instance of with the specified . + + The of the service. + The of the service. + A factory used for creating service instances. + The of the service. + + + + Gets the of the service. + + + + + Get the key of the service, if applicable. + + + + + Gets the of the service. + + + + + Gets the that implements the service. + + + + + Gets the that implements the service. + + + + + Gets the instance that implements the service. + + + + + Gets the instance that implements the service. + + + + + Gets the factory used for creating service instances. + + + + + Gets the factory used for creating Keyed service instances. + + + + + Indicates whether the service is a keyed service. + + + + + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The type of the implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The type of the implementation. + The of the service. + A new instance of . + + + + Creates an instance of with the specified + and + and the lifetime. + + The type of the service. + The type of the implementation. + A new instance of . + + + + Creates an instance of with the specified + and + and the lifetime. + + The type of the service. + The of the service. + The type of the implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + , + and the lifetime. + + The type of the service. + The type of the implementation. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + , + and the lifetime. + + The type of the service. + The type of the implementation. + The of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The type of the implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The type of the implementation. + The of the service. + A new instance of . + + + + Creates an instance of with the specified + and + and the lifetime. + + The type of the service. + The type of the implementation. + A new instance of . + + + + Creates an instance of with the specified + and + and the lifetime. + + The type of the service. + The of the service. + The type of the implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + , + and the lifetime. + + The type of the service. + The type of the implementation. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + , + and the lifetime. + + The type of the service. + The type of the implementation. + The of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The type of the implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The type of the implementation. + The of the service. + A new instance of . + + + + Creates an instance of with the specified + and + and the lifetime. + + The type of the service. + The type of the implementation. + A new instance of . + + + + Creates an instance of with the specified + and + and the lifetime. + + The type of the service. + The of the service. + The type of the implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + , + and the lifetime. + + The type of the service. + The type of the implementation. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + , + and the lifetime. + + The type of the service. + The type of the implementation. + The of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The instance of the implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The of the service. + The instance of the implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The instance of the implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The of the service. + The instance of the implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and . + + The type of the service. + The type of the implementation. + The lifetime of the service. + A new instance of . + + + + Creates an instance of with the specified + , , + and . + + The type of the service. + The of the service. + The type of the implementation. + The lifetime of the service. + A new instance of . + + + + Creates an instance of with the specified + , , + and . + + The type of the service. + A factory to create new instances of the service implementation. + The lifetime of the service. + A new instance of . + + + + Creates an instance of with the specified + , , + and . + + The type of the service. + The of the service. + A factory to create new instances of the service implementation. + The lifetime of the service. + A new instance of . + + + + ServiceKeyAttribute can be specified on a parameter to inject the key that was used for + registration/resolution. + + + + + Specifies the lifetime of a service in an . + + + + + Specifies that a single instance of the service will be created. + + + + + Specifies that a new instance of the service will be created for each scope. + + + In ASP.NET Core applications a scope is created around each server request. + + + + + Specifies that a new instance of the service will be created every time it is requested. + + + + + Extension methods for getting services from an . + + + + + Get service of type from the . + + The type of service object to get. + The to retrieve the service object from. + An object that specifies the key of service object to get. + A service object of type or null if there is no such service. + + + + Get service of type from the . + + The to retrieve the service object from. + An object that specifies the type of service object to get. + An object that specifies the key of service object to get. + A service object of type . + There is no service of type . + + + + Get service of type from the . + + The type of service object to get. + The to retrieve the service object from. + An object that specifies the key of service object to get. + A service object of type . + There is no service of type . + + + + Get an enumeration of services of type from the . + + The type of service object to get. + The to retrieve the services from. + An object that specifies the key of service object to get. + An enumeration of services of type . + + + + Get an enumeration of services of type from the . + + The to retrieve the services from. + An object that specifies the type of service object to get. + An object that specifies the key of service object to get. + An enumeration of services of type . + + + + Extension methods for getting services from an . + + + + + Get service of type from the . + + The type of service object to get. + The to retrieve the service object from. + A service object of type or null if there is no such service. + + + + Get service of type from the . + + The to retrieve the service object from. + An object that specifies the type of service object to get. + A service object of type . + There is no service of type . + + + + Get service of type from the . + + The type of service object to get. + The to retrieve the service object from. + A service object of type . + There is no service of type . + + + + Get an enumeration of services of type from the . + + The type of service object to get. + The to retrieve the services from. + An enumeration of services of type . + + + + Get an enumeration of services of type from the . + + The to retrieve the services from. + An object that specifies the type of service object to get. + An enumeration of services of type . + + + + Creates a new that can be used to resolve scoped services. + + The to create the scope from. + A that can be used to resolve scoped services. + + + + Creates a new that can be used to resolve scoped services. + + The to create the scope from. + An that can be used to resolve scoped services. + + + + Creates a new that can be used to resolve scoped services. + + The to create the scope from. + An that can be used to resolve scoped services. + + + Throws an if is null. + The reference type argument to validate as non-null. + The name of the parameter with which corresponds. + + + + Throws either an or an + if the specified string is or whitespace respectively. + + String to be checked for or whitespace. + The name of the parameter being checked. + The original value of . + + + + Attribute used to indicate a source generator should create a function for marshalling + arguments instead of relying on the runtime to generate an equivalent marshalling function at run-time. + + + This attribute is meaningless if the source generator associated with it is not enabled. + The current built-in source generator only supports C# and only supplies an implementation when + applied to static, partial, non-generic methods. + + + + + Initializes a new instance of the . + + Name of the library containing the import. + + + + Gets the name of the library containing the import. + + + + + Gets or sets the name of the entry point to be called. + + + + + Gets or sets how to marshal string arguments to the method. + + + If this field is set to a value other than , + must not be specified. + + + + + Gets or sets the used to control how string arguments to the method are marshalled. + + + If this field is specified, must not be specified + or must be set to . + + + + + Gets or sets whether the callee sets an error (SetLastError on Windows or errno + on other platforms) before returning from the attributed method. + + + + + Specifies how strings should be marshalled for generated p/invokes + + + + + Indicates the user is suppling a specific marshaller in . + + + + + Use the platform-provided UTF-8 marshaller. + + + + + Use the platform-provided UTF-16 marshaller. + + + + + Indicates that certain members on a specified are accessed dynamically, + for example through . + + + This allows tools to understand which members are being accessed during the execution + of a program. + + This attribute is valid on members whose type is or . + + When this attribute is applied to a location of type , the assumption is + that the string represents a fully qualified type name. + + When this attribute is applied to a class, interface, or struct, the members specified + can be accessed dynamically on instances returned from calling + on instances of that class, interface, or struct. + + If the attribute is applied to a method it's treated as a special case and it implies + the attribute should be applied to the "this" parameter of the method. As such the attribute + should only be used on instance methods of types assignable to System.Type (or string, but no methods + will use it there). + + + + + Initializes a new instance of the class + with the specified member types. + + The types of members dynamically accessed. + + + + Gets the which specifies the type + of members dynamically accessed. + + + + + Specifies the types of members that are dynamically accessed. + + This enumeration has a attribute that allows a + bitwise combination of its member values. + + + + + Specifies no members. + + + + + Specifies the default, parameterless public constructor. + + + + + Specifies all public constructors. + + + + + Specifies all non-public constructors. + + + + + Specifies all public methods. + + + + + Specifies all non-public methods. + + + + + Specifies all public fields. + + + + + Specifies all non-public fields. + + + + + Specifies all public nested types. + + + + + Specifies all non-public nested types. + + + + + Specifies all public properties. + + + + + Specifies all non-public properties. + + + + + Specifies all public events. + + + + + Specifies all non-public events. + + + + + Specifies all interfaces implemented by the type. + + + + + Specifies all members. + + + + + Suppresses reporting of a specific rule violation, allowing multiple suppressions on a + single code artifact. + + + is different than + in that it doesn't have a + . So it is always preserved in the compiled assembly. + + + + + Initializes a new instance of the + class, specifying the category of the tool and the identifier for an analysis rule. + + The category for the attribute. + The identifier of the analysis rule the attribute applies to. + + + + Gets the category identifying the classification of the attribute. + + + The property describes the tool or tool analysis category + for which a message suppression attribute applies. + + + + + Gets the identifier of the analysis tool rule to be suppressed. + + + Concatenated together, the and + properties form a unique check identifier. + + + + + Gets or sets the scope of the code that is relevant for the attribute. + + + The Scope property is an optional argument that specifies the metadata scope for which + the attribute is relevant. + + + + + Gets or sets a fully qualified path that represents the target of the attribute. + + + The property is an optional argument identifying the analysis target + of the attribute. An example value is "System.IO.Stream.ctor():System.Void". + Because it is fully qualified, it can be long, particularly for targets such as parameters. + The analysis tool user interface should be capable of automatically formatting the parameter. + + + + + Gets or sets an optional argument expanding on exclusion criteria. + + + The property is an optional argument that specifies additional + exclusion where the literal metadata target is not sufficiently precise. For example, + the cannot be applied within a method, + and it may be desirable to suppress a violation against a statement in the method that will + give a rule violation, but not against all statements in the method. + + + + + Gets or sets the justification for suppressing the code analysis message. + + + + + Indicates that the specified method requires the ability to generate new code at runtime, + for example through . + + + This allows tools to understand which methods are unsafe to call when compiling ahead of time. + + + + + Initializes a new instance of the class + with the specified message. + + + A message that contains information about the usage of dynamic code. + + + + + Gets a message that contains information about the usage of dynamic code. + + + + + Gets or sets an optional URL that contains more information about the method, + why it requires dynamic code, and what options a consumer has to deal with it. + + + + Specifies that null is allowed as an input even if the corresponding type disallows it. + + + Specifies that null is disallowed as an input even if the corresponding type allows it. + + + Specifies that an output may be null even if the corresponding type disallows it. + + + Specifies that an output will not be null even if the corresponding type allows it. Specifies that an input argument was not null when the call returns. + + + Specifies that when a method returns , the parameter may be null even if the corresponding type disallows it. + + + Initializes the attribute with the specified return value condition. + + The return value condition. If the method returns this value, the associated parameter may be null. + + + + Gets the return value condition. + + + Specifies that when a method returns , the parameter will not be null even if the corresponding type allows it. + + + Initializes the attribute with the specified return value condition. + + The return value condition. If the method returns this value, the associated parameter will not be null. + + + + Gets the return value condition. + + + Specifies that the output will be non-null if the named parameter is non-null. + + + Initializes the attribute with the associated parameter name. + + The associated parameter name. The output will be non-null if the argument to the parameter specified is non-null. + + + + Gets the associated parameter name. + + + Applied to a method that will never return under any circumstance. + + + Specifies that the method will not return if the associated Boolean parameter is passed the specified value. + + + Initializes the attribute with the specified parameter value. + + The condition parameter value. Code after the method will be considered unreachable by diagnostics if the argument to + the associated parameter matches this value. + + + + Gets the condition parameter value. + + + Specifies that the method or property will ensure that the listed field and property members have not-null values. + + + Initializes the attribute with a field or property member. + + The field or property member that is promised to be not-null. + + + + Initializes the attribute with the list of field and property members. + + The list of field and property members that are promised to be not-null. + + + + Gets field or property member names. + + + Specifies that the method or property will ensure that the listed field and property members have not-null values when returning with the specified return value condition. + + + Initializes the attribute with the specified return value condition and a field or property member. + + The return value condition. If the method returns this value, the associated parameter will not be null. + + + The field or property member that is promised to be not-null. + + + + Initializes the attribute with the specified return value condition and list of field and property members. + + The return value condition. If the method returns this value, the associated parameter will not be null. + + + The list of field and property members that are promised to be not-null. + + + + Gets the return value condition. + + + Gets field or property member names. + + + Multiple constructors accepting all given argument types have been found in type '{0}'. There should only be one applicable constructor. + + + Unable to resolve service for type '{0}' while attempting to activate '{1}'. + + + A suitable constructor for type '{0}' could not be located. Ensure the type is concrete and services are registered for all parameters of a public constructor. + + + No service for type '{0}' has been registered. + + + The service collection cannot be modified because it is read-only. + + + Implementation type cannot be '{0}' because it is indistinguishable from other services registered for '{1}'. + + + Multiple constructors were marked with {0}. + + + Constructor marked with {0} does not accept all given argument types. + + + Instances of abstract classes cannot be created. + + + Multiple constructors for type '{0}' were found with length {1}. + + + Unable to resolve service for type '{0}' while attempting to activate '{1}'. + + + A suitable constructor for type '{0}' could not be located. Ensure the type is concrete and all parameters of a public constructor are either registered as services or passed as arguments. Also ensure no extraneous arguments are provided. + + + Multiple constructors accepting all given argument types have been found in type '{0}'. There should only be one applicable constructor. + + + This service provider doesn't support keyed services. + + + This service descriptor is keyed. Your service provider may not support keyed services. + + + This service descriptor is not keyed. + + + diff --git a/db_lab/bin/Debug/Microsoft.Extensions.Logging.Abstractions.dll b/db_lab/bin/Debug/Microsoft.Extensions.Logging.Abstractions.dll new file mode 100644 index 0000000000000000000000000000000000000000..b8dd65244f5910c6fd190183ce14f5a6e84ba7a4 GIT binary patch literal 67856 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

    lPa4iT@HKjn0)G1W5PAP{$?zyyMqkTt^4wQp9 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 literal 0 HcmV?d00001 diff --git a/db_lab/bin/Debug/Microsoft.Extensions.Logging.Abstractions.xml b/db_lab/bin/Debug/Microsoft.Extensions.Logging.Abstractions.xml new file mode 100644 index 0000000..105e4d8 --- /dev/null +++ b/db_lab/bin/Debug/Microsoft.Extensions.Logging.Abstractions.xml @@ -0,0 +1,1350 @@ + + + + Microsoft.Extensions.Logging.Abstractions + + + +

    + Identifies a logging event. The primary identifier is the "Id" property, with the "Name" property providing a short description of this type of event. + + + + + Implicitly creates an EventId from the given . + + The to convert to an EventId. + + + + Checks if two specified instances have the same value. They are equal if they have the same Id. + + The first . + The second . + if the objects are equal. + + + + Checks if two specified instances have different values. + + The first . + The second . + if the objects are not equal. + + + + Initializes an instance of the struct. + + The numeric identifier for this event. + The name of this event. + + + + Gets the numeric identifier for this event. + + + + + Gets the name of this event. + + + + + + + + Indicates whether the current object is equal to another object of the same type. Two events are equal if they have the same id. + + An object to compare with this object. + if the current object is equal to the other parameter; otherwise, . + + + + + + + + + + LogValues to enable formatting options supported by . + This also enables using {NamedformatItem} in the format string. + + + + + Represents a storage of common scope data. + + + + + Executes callback for each currently active scope objects in order of creation. + All callbacks are guaranteed to be called inline from this method. + + The callback to be executed for every scope object + The state object to be passed into the callback + The type of state to accept. + + + + Adds scope object to the list + + The scope object + The token that removes scope on dispose. + + + + Represents a type used to perform logging. + + Aggregates most logging patterns to a single method. + + + + Writes a log entry. + + Entry will be written on this level. + Id of the event. + The entry to be written. Can be also an object. + The exception related to this entry. + Function to create a message of the and . + The type of the object to be written. + + + + Checks if the given is enabled. + + Level to be checked. + true if enabled. + + + + Begins a logical operation scope. + + The identifier for the scope. + The type of the state to begin scope for. + An that ends the logical operation scope on dispose. + + + + Represents a type used to configure the logging system and create instances of from + the registered s. + + + + + Creates a new instance. + + The category name for messages produced by the logger. + The . + + + + Adds an to the logging system. + + The . + + + + Represents a type that can create instances of . + + + + + Creates a new instance. + + The category name for messages produced by the logger. + The instance of that was created. + + + + A generic interface for logging where the category name is derived from the specified + type name. + Generally used to enable activation of a named from dependency injection. + + The type whose name is used for the logger category name. + + + + An interface for configuring logging providers. + + + + + Gets the where Logging services are configured. + + + + + Represents a that is able to consume external scope information. + + + + + Sets external scope information source for logger provider. + + The provider of scope data. + + + + Options for and its overloads + + + + + Gets or sets the flag to skip IsEnabled check for the logging method. + + + + + Holds the information for a single log entry. + + + + + Initializes an instance of the LogEntry struct. + + The log level. + The category name for the log. + The log event Id. + The state for which log is being written. + The log exception. + The formatter. + + + + Gets the LogLevel + + + + + Gets the log category + + + + + Gets the log EventId + + + + + Gets the TState + + + + + Gets the log exception + + + + + Gets the formatter + + + + + Minimalistic logger that does nothing. + + + + + Returns the shared instance of . + + + + + Initializes a new instance of the class. + + + + + + + + + + + + + + An used to create instance of + that logs nothing. + + + + + Creates a new instance. + + + + + Returns the shared instance of . + + + + + + This returns a instance which logs nothing. + + + + + + This method ignores the parameter and does nothing. + + + + + + + + Provider for the . + + + + + Returns an instance of . + + + + + + + + + + + Minimalistic logger that does nothing. + + + + + Returns an instance of . + + An instance of . + + + + + + + + This method ignores the parameters and does nothing. + + + + + + + + ILogger extension methods for common scenarios. + + + + + Formats and writes a debug log message. + + The to write to. + The event id associated with the log. + The exception to log. + Format string of the log message in message template format. Example: "User {User} logged in from {Address}" + An object array that contains zero or more objects to format. + logger.LogDebug(0, exception, "Error while processing request from {Address}", address) + + + + Formats and writes a debug log message. + + The to write to. + The event id associated with the log. + Format string of the log message in message template format. Example: "User {User} logged in from {Address}" + An object array that contains zero or more objects to format. + logger.LogDebug(0, "Processing request from {Address}", address) + + + + Formats and writes a debug log message. + + The to write to. + The exception to log. + Format string of the log message in message template format. Example: "User {User} logged in from {Address}" + An object array that contains zero or more objects to format. + logger.LogDebug(exception, "Error while processing request from {Address}", address) + + + + Formats and writes a debug log message. + + The to write to. + Format string of the log message in message template format. Example: "User {User} logged in from {Address}" + An object array that contains zero or more objects to format. + logger.LogDebug("Processing request from {Address}", address) + + + + Formats and writes a trace log message. + + The to write to. + The event id associated with the log. + The exception to log. + Format string of the log message in message template format. Example: "User {User} logged in from {Address}" + An object array that contains zero or more objects to format. + logger.LogTrace(0, exception, "Error while processing request from {Address}", address) + + + + Formats and writes a trace log message. + + The to write to. + The event id associated with the log. + Format string of the log message in message template format. Example: "User {User} logged in from {Address}" + An object array that contains zero or more objects to format. + logger.LogTrace(0, "Processing request from {Address}", address) + + + + Formats and writes a trace log message. + + The to write to. + The exception to log. + Format string of the log message in message template format. Example: "User {User} logged in from {Address}" + An object array that contains zero or more objects to format. + logger.LogTrace(exception, "Error while processing request from {Address}", address) + + + + Formats and writes a trace log message. + + The to write to. + Format string of the log message in message template format. Example: "User {User} logged in from {Address}" + An object array that contains zero or more objects to format. + logger.LogTrace("Processing request from {Address}", address) + + + + Formats and writes an informational log message. + + The to write to. + The event id associated with the log. + The exception to log. + Format string of the log message in message template format. Example: "User {User} logged in from {Address}" + An object array that contains zero or more objects to format. + logger.LogInformation(0, exception, "Error while processing request from {Address}", address) + + + + Formats and writes an informational log message. + + The to write to. + The event id associated with the log. + Format string of the log message in message template format. Example: "User {User} logged in from {Address}" + An object array that contains zero or more objects to format. + logger.LogInformation(0, "Processing request from {Address}", address) + + + + Formats and writes an informational log message. + + The to write to. + The exception to log. + Format string of the log message in message template format. Example: "User {User} logged in from {Address}" + An object array that contains zero or more objects to format. + logger.LogInformation(exception, "Error while processing request from {Address}", address) + + + + Formats and writes an informational log message. + + The to write to. + Format string of the log message in message template format. Example: "User {User} logged in from {Address}" + An object array that contains zero or more objects to format. + logger.LogInformation("Processing request from {Address}", address) + + + + Formats and writes a warning log message. + + The to write to. + The event id associated with the log. + The exception to log. + Format string of the log message in message template format. Example: "User {User} logged in from {Address}" + An object array that contains zero or more objects to format. + logger.LogWarning(0, exception, "Error while processing request from {Address}", address) + + + + Formats and writes a warning log message. + + The to write to. + The event id associated with the log. + Format string of the log message in message template format. Example: "User {User} logged in from {Address}" + An object array that contains zero or more objects to format. + logger.LogWarning(0, "Processing request from {Address}", address) + + + + Formats and writes a warning log message. + + The to write to. + The exception to log. + Format string of the log message in message template format. Example: "User {User} logged in from {Address}" + An object array that contains zero or more objects to format. + logger.LogWarning(exception, "Error while processing request from {Address}", address) + + + + Formats and writes a warning log message. + + The to write to. + Format string of the log message in message template format. Example: "User {User} logged in from {Address}" + An object array that contains zero or more objects to format. + logger.LogWarning("Processing request from {Address}", address) + + + + Formats and writes an error log message. + + The to write to. + The event id associated with the log. + The exception to log. + Format string of the log message in message template format. Example: "User {User} logged in from {Address}" + An object array that contains zero or more objects to format. + logger.LogError(0, exception, "Error while processing request from {Address}", address) + + + + Formats and writes an error log message. + + The to write to. + The event id associated with the log. + Format string of the log message in message template format. Example: "User {User} logged in from {Address}" + An object array that contains zero or more objects to format. + logger.LogError(0, "Processing request from {Address}", address) + + + + Formats and writes an error log message. + + The to write to. + The exception to log. + Format string of the log message in message template format. Example: "User {User} logged in from {Address}" + An object array that contains zero or more objects to format. + logger.LogError(exception, "Error while processing request from {Address}", address) + + + + Formats and writes an error log message. + + The to write to. + Format string of the log message in message template format. Example: "User {User} logged in from {Address}" + An object array that contains zero or more objects to format. + logger.LogError("Processing request from {Address}", address) + + + + Formats and writes a critical log message. + + The to write to. + The event id associated with the log. + The exception to log. + Format string of the log message in message template format. Example: "User {User} logged in from {Address}" + An object array that contains zero or more objects to format. + logger.LogCritical(0, exception, "Error while processing request from {Address}", address) + + + + Formats and writes a critical log message. + + The to write to. + The event id associated with the log. + Format string of the log message in message template format. Example: "User {User} logged in from {Address}" + An object array that contains zero or more objects to format. + logger.LogCritical(0, "Processing request from {Address}", address) + + + + Formats and writes a critical log message. + + The to write to. + The exception to log. + Format string of the log message in message template format. Example: "User {User} logged in from {Address}" + An object array that contains zero or more objects to format. + logger.LogCritical(exception, "Error while processing request from {Address}", address) + + + + Formats and writes a critical log message. + + The to write to. + Format string of the log message in message template format. Example: "User {User} logged in from {Address}" + An object array that contains zero or more objects to format. + logger.LogCritical("Processing request from {Address}", address) + + + + Formats and writes a log message at the specified log level. + + The to write to. + Entry will be written on this level. + Format string of the log message. + An object array that contains zero or more objects to format. + + + + Formats and writes a log message at the specified log level. + + The to write to. + Entry will be written on this level. + The event id associated with the log. + Format string of the log message. + An object array that contains zero or more objects to format. + + + + Formats and writes a log message at the specified log level. + + The to write to. + Entry will be written on this level. + The exception to log. + Format string of the log message. + An object array that contains zero or more objects to format. + + + + Formats and writes a log message at the specified log level. + + The to write to. + Entry will be written on this level. + The event id associated with the log. + The exception to log. + Format string of the log message. + An object array that contains zero or more objects to format. + + + + Formats the message and creates a scope. + + The to create the scope in. + Format string of the log message in message template format. Example: "User {User} logged in from {Address}" + An object array that contains zero or more objects to format. + A disposable scope object. Can be null. + + using(logger.BeginScope("Processing request from {Address}", address)) + { + } + + + + + Default implementation of + + + + + Creates a new . + + + + + + + + + + + ILoggerFactory extension methods for common scenarios. + + + + + Creates a new instance using the full name of the given type. + + The factory. + The type. + The that was created. + + + + Creates a new instance using the full name of the given . + + The factory. + The type. + The that was created. + + + + Creates delegates which can be later cached to log messages in a performant way. + + + + + Creates a delegate which can be invoked to create a log scope. + + The named format string + A delegate which when invoked creates a log scope. + + + + Creates a delegate which can be invoked to create a log scope. + + The type of the first parameter passed to the named format string. + The named format string + A delegate which when invoked creates a log scope. + + + + Creates a delegate which can be invoked to create a log scope. + + The type of the first parameter passed to the named format string. + The type of the second parameter passed to the named format string. + The named format string + A delegate which when invoked creates a log scope. + + + + Creates a delegate which can be invoked to create a log scope. + + The type of the first parameter passed to the named format string. + The type of the second parameter passed to the named format string. + The type of the third parameter passed to the named format string. + The named format string + A delegate which when invoked creates a log scope. + + + + Creates a delegate which can be invoked to create a log scope. + + The type of the first parameter passed to the named format string. + The type of the second parameter passed to the named format string. + The type of the third parameter passed to the named format string. + The type of the fourth parameter passed to the named format string. + The named format string + A delegate which when invoked creates a log scope. + + + + Creates a delegate which can be invoked to create a log scope. + + The type of the first parameter passed to the named format string. + The type of the second parameter passed to the named format string. + The type of the third parameter passed to the named format string. + The type of the fourth parameter passed to the named format string. + The type of the fifth parameter passed to the named format string. + The named format string + A delegate which when invoked creates a log scope. + + + + Creates a delegate which can be invoked to create a log scope. + + The type of the first parameter passed to the named format string. + The type of the second parameter passed to the named format string. + The type of the third parameter passed to the named format string. + The type of the fourth parameter passed to the named format string. + The type of the fifth parameter passed to the named format string. + The type of the sixth parameter passed to the named format string. + The named format string + A delegate which when invoked creates a log scope. + + + + Creates a delegate which can be invoked for logging a message. + + The + The event id + The named format string + A delegate which when invoked creates a log message. + + + + Creates a delegate which can be invoked for logging a message. + + The + The event id + The named format string + The + A delegate which when invoked creates a log message. + + + + Creates a delegate which can be invoked for logging a message. + + The type of the first parameter passed to the named format string. + The + The event id + The named format string + A delegate which when invoked creates a log message. + + + + Creates a delegate which can be invoked for logging a message. + + The type of the first parameter passed to the named format string. + The + The event id + The named format string + The + A delegate which when invoked creates a log message. + + + + Creates a delegate which can be invoked for logging a message. + + The type of the first parameter passed to the named format string. + The type of the second parameter passed to the named format string. + The + The event id + The named format string + A delegate which when invoked creates a log message. + + + + Creates a delegate which can be invoked for logging a message. + + The type of the first parameter passed to the named format string. + The type of the second parameter passed to the named format string. + The + The event id + The named format string + The + A delegate which when invoked creates a log message. + + + + Creates a delegate which can be invoked for logging a message. + + The type of the first parameter passed to the named format string. + The type of the second parameter passed to the named format string. + The type of the third parameter passed to the named format string. + The + The event id + The named format string + A delegate which when invoked creates a log message. + + + + Creates a delegate which can be invoked for logging a message. + + The type of the first parameter passed to the named format string. + The type of the second parameter passed to the named format string. + The type of the third parameter passed to the named format string. + The + The event id + The named format string + The + A delegate which when invoked creates a log message. + + + + Creates a delegate which can be invoked for logging a message. + + The type of the first parameter passed to the named format string. + The type of the second parameter passed to the named format string. + The type of the third parameter passed to the named format string. + The type of the fourth parameter passed to the named format string. + The + The event id + The named format string + A delegate which when invoked creates a log message. + + + + Creates a delegate which can be invoked for logging a message. + + The type of the first parameter passed to the named format string. + The type of the second parameter passed to the named format string. + The type of the third parameter passed to the named format string. + The type of the fourth parameter passed to the named format string. + The + The event id + The named format string + The + A delegate which when invoked creates a log message. + + + + Creates a delegate which can be invoked for logging a message. + + The type of the first parameter passed to the named format string. + The type of the second parameter passed to the named format string. + The type of the third parameter passed to the named format string. + The type of the fourth parameter passed to the named format string. + The type of the fifth parameter passed to the named format string. + The + The event id + The named format string + A delegate which when invoked creates a log message. + + + + Creates a delegate which can be invoked for logging a message. + + The type of the first parameter passed to the named format string. + The type of the second parameter passed to the named format string. + The type of the third parameter passed to the named format string. + The type of the fourth parameter passed to the named format string. + The type of the fifth parameter passed to the named format string. + The + The event id + The named format string + The + A delegate which when invoked creates a log message. + + + + Creates a delegate which can be invoked for logging a message. + + The type of the first parameter passed to the named format string. + The type of the second parameter passed to the named format string. + The type of the third parameter passed to the named format string. + The type of the fourth parameter passed to the named format string. + The type of the fifth parameter passed to the named format string. + The type of the sixth parameter passed to the named format string. + The + The event id + The named format string + A delegate which when invoked creates a log message. + + + + Creates a delegate which can be invoked for logging a message. + + The type of the first parameter passed to the named format string. + The type of the second parameter passed to the named format string. + The type of the third parameter passed to the named format string. + The type of the fourth parameter passed to the named format string. + The type of the fifth parameter passed to the named format string. + The type of the sixth parameter passed to the named format string. + The + The event id + The named format string + The + A delegate which when invoked creates a log message. + + + + Provides information to guide the production of a strongly-typed logging method. + + + The method this attribute is applied to: + - Must be a partial method. + - Must return void. + - Must not be generic. + - Must have an as one of its parameters. + - Must have a as one of its parameters. + - None of the parameters can be generic. + + + + + + + + Initializes a new instance of the class + which is used to guide the production of a strongly-typed logging method. + + + + + Initializes a new instance of the class + which is used to guide the production of a strongly-typed logging method. + + The log event Id. + The log level. + Format string of the log message. + + + + Initializes a new instance of the class + which is used to guide the production of a strongly-typed logging method. + + The log level. + Format string of the log message. + + + + Initializes a new instance of the class + which is used to guide the production of a strongly-typed logging method. + + The log level. + + + + Initializes a new instance of the class + which is used to guide the production of a strongly-typed logging method. + + Format string of the log message. + + + + Gets the logging event id for the logging method. + + + + + Gets or sets the logging event name for the logging method. + + + This will equal the method name if not specified. + + + + + Gets the logging level for the logging method. + + + + + Gets the message text for the logging method. + + + + + Gets the flag to skip IsEnabled check for the logging method. + + + + + Delegates to a new instance using the full name of the given type, created by the + provided . + + The type. + + + + Creates a new . + + The factory. + + + + + + + + + + + + + Defines logging severity levels. + + + + + Logs that contain the most detailed messages. These messages may contain sensitive application data. + These messages are disabled by default and should never be enabled in a production environment. + + + + + Logs that are used for interactive investigation during development. These logs should primarily contain + information useful for debugging and have no long-term value. + + + + + Logs that track the general flow of the application. These logs should have long-term value. + + + + + Logs that highlight an abnormal or unexpected event in the application flow, but do not otherwise cause the + application execution to stop. + + + + + Logs that highlight when the current flow of execution is stopped due to a failure. These should indicate a + failure in the current activity, not an application-wide failure. + + + + + Logs that describe an unrecoverable application or system crash, or a catastrophic failure that requires + immediate attention. + + + + + Not used for writing log messages. Specifies that a logging category should not write any messages. + + + + + Formatter to convert the named format items like {NamedformatItem} to format. + + + + + Scope provider that does nothing. + + + + + Returns a cached instance of . + + + + + + + + + + + An empty scope without any logic + + + + + + + + Pretty print a type name. + + The . + true to print a fully qualified name. + true to include generic parameter names. + true to include generic parameters. + Character to use as a delimiter in nested type names + The pretty printed type name. + + + + Get a pinnable reference to the builder. + Does not ensure there is a null char after + This overload is pattern matched in the C# 7.3+ compiler so you can omit + the explicit method call, and write eg "fixed (char* c = builder)" + + + + + Get a pinnable reference to the builder. + + Ensures that the builder has a null char after + + + Returns the underlying storage of the builder. + + + + Returns a span around the contents of the builder. + + Ensures that the builder has a null char after + + + + Resize the internal buffer either by doubling current buffer size or + by adding to + whichever is greater. + + + Number of chars requested beyond current position. + + + + Throws an if is null. + The reference type argument to validate as non-null. + The name of the parameter with which corresponds. + + + + Throws either an or an + if the specified string is or whitespace respectively. + + String to be checked for or whitespace. + The name of the parameter being checked. + The original value of . + + + + Attribute used to indicate a source generator should create a function for marshalling + arguments instead of relying on the runtime to generate an equivalent marshalling function at run-time. + + + This attribute is meaningless if the source generator associated with it is not enabled. + The current built-in source generator only supports C# and only supplies an implementation when + applied to static, partial, non-generic methods. + + + + + Initializes a new instance of the . + + Name of the library containing the import. + + + + Gets the name of the library containing the import. + + + + + Gets or sets the name of the entry point to be called. + + + + + Gets or sets how to marshal string arguments to the method. + + + If this field is set to a value other than , + must not be specified. + + + + + Gets or sets the used to control how string arguments to the method are marshalled. + + + If this field is specified, must not be specified + or must be set to . + + + + + Gets or sets whether the callee sets an error (SetLastError on Windows or errno + on other platforms) before returning from the attributed method. + + + + + Specifies how strings should be marshalled for generated p/invokes + + + + + Indicates the user is suppling a specific marshaller in . + + + + + Use the platform-provided UTF-8 marshaller. + + + + + Use the platform-provided UTF-16 marshaller. + + + + The format string '{0}' does not have the expected number of named parameters. Expected {1} parameter(s) but found {2} parameter(s). + + + Specifies that null is allowed as an input even if the corresponding type disallows it. + + + Specifies that null is disallowed as an input even if the corresponding type allows it. + + + Specifies that an output may be null even if the corresponding type disallows it. + + + Specifies that an output will not be null even if the corresponding type allows it. Specifies that an input argument was not null when the call returns. + + + Specifies that when a method returns , the parameter may be null even if the corresponding type disallows it. + + + Initializes the attribute with the specified return value condition. + + The return value condition. If the method returns this value, the associated parameter may be null. + + + + Gets the return value condition. + + + Specifies that when a method returns , the parameter will not be null even if the corresponding type allows it. + + + Initializes the attribute with the specified return value condition. + + The return value condition. If the method returns this value, the associated parameter will not be null. + + + + Gets the return value condition. + + + Specifies that the output will be non-null if the named parameter is non-null. + + + Initializes the attribute with the associated parameter name. + + The associated parameter name. The output will be non-null if the argument to the parameter specified is non-null. + + + + Gets the associated parameter name. + + + Applied to a method that will never return under any circumstance. + + + Specifies that the method will not return if the associated Boolean parameter is passed the specified value. + + + Initializes the attribute with the specified parameter value. + + The condition parameter value. Code after the method will be considered unreachable by diagnostics if the argument to + the associated parameter matches this value. + + + + Gets the condition parameter value. + + + Specifies that the method or property will ensure that the listed field and property members have not-null values. + + + Initializes the attribute with a field or property member. + + The field or property member that is promised to be not-null. + + + + Initializes the attribute with the list of field and property members. + + The list of field and property members that are promised to be not-null. + + + + Gets field or property member names. + + + Specifies that the method or property will ensure that the listed field and property members have not-null values when returning with the specified return value condition. + + + Initializes the attribute with the specified return value condition and a field or property member. + + The return value condition. If the method returns this value, the associated parameter will not be null. + + + The field or property member that is promised to be not-null. + + + + Initializes the attribute with the specified return value condition and list of field and property members. + + The return value condition. If the method returns this value, the associated parameter will not be null. + + + The list of field and property members that are promised to be not-null. + + + + Gets the return value condition. + + + Gets field or property member names. + + + diff --git a/db_lab/bin/Debug/Npgsql.dll b/db_lab/bin/Debug/Npgsql.dll new file mode 100644 index 0000000000000000000000000000000000000000..8d6c8a7712b55a809ce815ff0f82f450bbd8750c GIT binary patch literal 1384960 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

    6AGyXT8LpuFvalq_OpS%x+qvamcG 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

    W;$tWwYO!34hv1XPThwT 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 t~ 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

    *d}v$aigGUhK7 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 literal 0 HcmV?d00001 diff --git a/db_lab/bin/Debug/Npgsql.xml b/db_lab/bin/Debug/Npgsql.xml new file mode 100644 index 0000000..ad3fad0 --- /dev/null +++ b/db_lab/bin/Debug/Npgsql.xml @@ -0,0 +1,11559 @@ + + + + Npgsql + + + +

    + Indicates that the specified method requires the ability to generate new code at runtime, + for example through . + + + This allows tools to understand which methods are unsafe to call when compiling ahead of time. + + + + + Initializes a new instance of the class + with the specified message. + + + A message that contains information about the usage of dynamic code. + + + + + Gets a message that contains information about the usage of dynamic code. + + + + + Gets or sets an optional URL that contains more information about the method, + why it requires dynamic code, and what options a consumer has to deal with it. + + + + + Initializes a new instance of the class. + + + + Indicates that an API is experimental and it may change in the future. + + + Initializes a new instance of the class, specifying the ID that the compiler will use when reporting a use of the API the attribute applies to. + The ID that the compiler will use when reporting a use of the API the attribute applies to. + + + Gets the ID that the compiler will use when reporting a use of the API the attribute applies to. + The unique diagnostic ID. + + + Gets or sets the URL for corresponding documentation. + The API accepts a format string instead of an actual URL, creating a generic URL that includes the diagnostic ID. + The format string that represents a URL to corresponding documentation. + + + + Exception thrown when the program executes an instruction that was thought to be unreachable. + + + + + Initializes a new instance of the class with the default error message. + + + + + Initializes a new instance of the + class with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the + class with a specified error message and a reference to the inner exception that is the cause of + this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception. + + + + The name of the compiler feature. + + + + + If true, the compiler can choose to allow access to the location where this attribute is applied if it does not understand . + + + + + The used for the ref structs C# feature. + + + + + The used for the required members C# feature. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified message. + + An optional message associated with this attribute instance. + + + + Returns the optional message associated with this attribute instance. + + + + + Returns the optional URL associated with this attribute instance. + + + + + Gets the singleton instance. + + + + + Determines whether two object references refer to the same object instance. + + The first object to compare. + The second object to compare. + + if both and refer to the same object instance + or if both are ; otherwise, . + + + This API is a wrapper around . + It is not necessarily equivalent to calling . + + + + + Returns a hash code for the specified object. The returned hash code is based on the object + identity, not on the contents of the object. + + The object for which to retrieve the hash code. + A hash code for the identity of . + + This API is a wrapper around . + It is not necessarily equivalent to calling . + + + + + Returns a reference to the 0th element of the ReadOnlySpan. If the ReadOnlySpan is empty, returns a reference to fake non-null pointer. Such a reference + can be used for pinning but must never be dereferenced. This is useful for interop with methods that do not accept null pointers for zero-sized buffers. + + + + + Returns a reference to the 0th element of the ReadOnlySpan. If the ReadOnlySpan is empty, returns a reference to fake non-null pointer. Such a reference + can be used for pinning but must never be dereferenced. This is useful for interop with methods that do not accept null pointers for zero-sized buffers. + + + + + Decodes the specified to s using the specified + and outputs the result to . + + The which represents how the data in is encoded. + The to decode to characters. + The destination buffer to which the decoded characters will be written. + The number of chars written to . + Thrown if is not large enough to contain the encoded form of . + Thrown if contains data that cannot be decoded and is configured + to throw an exception when such data is seen. + + + + A set of extension methods to to allow runtime compatibility. + + + + + Appends the provided to the . + + The to append to. + The to append. + + + + Gets a that will complete when this completes, when the specified timeout expires, or when the specified has cancellation requested. + + The representing the asynchronous wait. + The timeout after which the should be faulted with a if it hasn't otherwise completed. + The to monitor for a cancellation request. + The representing the asynchronous wait. + This method reproduces new to the .NET 6.0 API .WaitAsync. + + + + Note that this message doesn't actually contain the data, but only the length. Data is processed + directly from the connector's buffer. + + + + + DataRow is special in that it does not parse the actual contents of the backend message, + because in sequential mode the message will be traversed and processed sequentially by + . + + + + + Error and notice message field codes + + + + + A RowDescription message sent from the backend. + + + See https://www.postgresql.org/docs/current/static/protocol-message-formats.html + + + + + Given a string name, returns the field's ordinal index in the row. + + + + + Given a string name, returns the field's ordinal index in the row. + + + + + A descriptive record on a single field received from PostgreSQL. + See RowDescription in https://www.postgresql.org/docs/current/static/protocol-message-formats.html + + + + + The field name. + + + + + The object ID of the field's data type. + + + + + The data type size (see pg_type.typlen). Note that negative values denote variable-width types. + + + + + The type modifier (see pg_attribute.atttypmod). The meaning of the modifier is type-specific. + + + + + If the field can be identified as a column of a specific table, the object ID of the table; otherwise zero. + + + + + If the field can be identified as a column of a specific table, the attribute number of the column; otherwise zero. + + + + + The format code being used for the field. + Currently will be text or binary. + In a RowDescription returned from the statement variant of Describe, the format code is not yet known and will always be zero. + + + + + Returns a string that represents the current object. + + + + + Base class for all classes which represent a message sent by the PostgreSQL backend. + + + + + Specifies the type of SQL statement, e.g. SELECT + + + + Streaming + + + Entire value should be buffered + + + Fixed size value should be buffered + + + Custom requirements + + + + CompositeFieldInfo constructor. + + Name of the field. + Type info for reading/writing. + The nominal field type, this may differ from the typeInfo.PgTypeId when the field is a domain type. + + + + Create temporary storage for all values that come before the constructor parameters can be saturated. + + + + + A reference to the type that houses the static method points to. + The continuation + + + A reference to the type that houses the static method points to. + The continuation + + + Note that for BIT(1), this resolver will return a bool by default, to align with SqlClient + (see discussion https://github.com/npgsql/npgsql/pull/362#issuecomment-59622101). + + + A converter to map strongly typed apis onto boxed converter results to produce a strongly typed converter over T. + + + Special value converter to be able to use struct converters as System.Nullable converters, it delegates all behavior to the effective converter. + + + Big endian array of numeric digits + + + + + + + If the destination ends up being too small the builder allocates instead + + + + + + + + + Whether the input consists of any non zero bits + + + Adapted from BigInteger, to allow us to operate directly on stack allocated bits + + + + Hacky temporary measure used by EFCore.PG to extract user-configured enum mappings. Accessed via reflection only. + + + + + A factory which get generate instances of , which describe a database + and the types it contains. When first connecting to a database, Npgsql will attempt to load information + about it via this factory. + + + + + Given a connection, loads all necessary information about the connected database, e.g. its types. + A factory should only handle the exact database type it was meant for, and return null otherwise. + + + An object describing the database to which is connected, or null if the + database isn't of the correct type and isn't handled by this factory. + + + + + An Npgsql resolver for type info. Used by Npgsql to read and write values to PostgreSQL. + + + + + Resolve a type info for a given type and data type name, at least one value will be non-null. + + The clr type being requested. + The postgres type being requested. + Used for configuration state and Npgsql type info or PostgreSQL type catalog lookups. + A result, or null if there was no match. + + + + Represents a connection to a PostgreSQL backend. Unlike NpgsqlConnection objects, which are + exposed to users, connectors are internal to Npgsql and are recycled by the connection pool. + + + + + The physical connection socket to the backend. + + + + + The physical connection stream to the backend, without anything on top. + + + + + The physical connection stream to the backend, layered with an SSL/TLS stream if in secure mode. + + + + + The parsed connection string. + + + + + Same as , except that it does not throw an exception if an invalid char is + encountered (exception fallback), but rather replaces it with a question mark character (replacement + fallback). + + + + + Buffer used for reading data. + + + + + If we read a data row that's bigger than , we allocate an oversize buffer. + The original (smaller) buffer is stored here, and restored when the connection is reset. + + + + + Buffer used for writing data. + + + + + The secret key of the backend for this connector, used for query cancellation. + + + + + The process ID of the backend for this connector. + + + + + The user name that has been inferred when the connector was opened + + + + + A unique ID identifying this connector, used for logging. Currently mapped to BackendProcessId + + + + + Information about PostgreSQL and PostgreSQL-like databases (e.g. type definitions, capabilities...). + + + + + The current transaction status for this connector. + + + + + A transaction object for this connector. Since only one transaction can be in progress at any given time, + this instance is recycled. To check whether a transaction is currently in progress on this connector, + see . + + + + + The NpgsqlConnection that (currently) owns this connector. Null if the connector isn't + owned (i.e. idle in the pool) + + + + + The number of messages that were prepended to the current message chain, but not yet sent. + Note that this only tracks messages which produce a ReadyForQuery message + + + + + A ManualResetEventSlim used to make sure a cancellation request doesn't run + while we're reading responses for the prepended query + as we can't gracefully handle their cancellation. + + + + + If the connector is currently in COPY mode, holds a reference to the importer/exporter object. + Otherwise null. + + + + + Holds all run-time parameters received from the backend (via ParameterStatus messages) + + + + + Holds all run-time parameters in raw, binary format for efficient handling without allocations. + + + + + If this connector was broken, this contains the exception that caused the break. + + + + + + Used by the pool to indicate that I/O is currently in progress on this connector, so that another write + isn't started concurrently. Note that since we have only one write loop, this is only ever usedto + protect against an over-capacity writes into a connector that's currently *asynchronously* writing. + + + It is guaranteed that the currently-executing + Specifically, reading may occur - and the connector may even be returned to the pool - before this is + released. + + + + + + + + + + + + A lock that's taken while a cancellation is being delivered; new queries are blocked until the + cancellation is delivered. This reduces the chance that a cancellation meant for a previous + command will accidentally cancel a later one, see #615. + + + + + A lock that's taken to make sure no other concurrent operation is running. + Break takes it to set the state of the connector. + Anyone else should immediately check the state and exit + if the connector is closed. + + + + + A lock that's used to wait for the Cleanup to complete while breaking the connection. + + + + + The command currently being executed by the connector, null otherwise. + Used only for concurrent use error reporting purposes. + + + + + The connector source (e.g. pool) from where this connector came, and to which it will be returned. + Note that in multi-host scenarios, this references the host-specific rather than the + . + + + + + Contains the UTC timestamp when this connector was opened, used to implement + . + + + + + The minimum timeout that can be set on internal commands such as COMMIT, ROLLBACK. + + Precision is seconds + + + + Gets the current state of the connector + + + + + Returns whether the connector is open, regardless of any task it is currently performing + + + + + Opens the physical connection to the server. + + Usually called by the RequestConnector + Method of the connection pool manager. + + + + Prepends a message to be sent at the beginning of the next message chain. + + + + + Reads backend messages and discards them, stopping only after a message of the given type has + been seen. Only a sync I/O version of this method exists - in async flows we inline the loop + rather than calling an additional async method, in order to avoid the overhead. + + + + + Handles a new transaction indicator received on a ReadyForQuery message + + + + + Returns whether SSL is being used for the connection + + + + + Returns whether SCRAM-SHA256 is being user for the connection + + + + + Returns whether SCRAM-SHA256-PLUS is being user for the connection + + + + + Creates another connector and sends a cancel request through it for this connector. This method never throws, but returns + whether the cancellation attempt failed. + + + + if the cancellation request was successfully delivered, or if it was skipped because a previous + request was already sent. if the cancellation request could not be delivered because of an exception + (the method logs internally). + + + This does not indicate whether the cancellation attempt was successful on the PostgreSQL side - only if the request was + delivered. + + + + + + Starts a new cancellable operation within an ongoing user action. This should only be used if a single user + action spans several different actions which each has its own cancellation tokens. For example, a command + execution is a single user action, but spans ExecuteReaderQuery, NextResult, Read and so forth. + + + Only one level of nested operations is supported. It is an error to call this method if it has previously + been called, and the returned was not disposed. + + + The cancellation token provided by the user. Callbacks will be registered on this token for executing the + cancellation, and the token will be included in any thrown . + + + If , PostgreSQL cancellation will be attempted when the user requests cancellation or + a timeout occurs, followed by a client-side socket cancellation once + has elapsed. If , + PostgreSQL cancellation will be skipped and client-socket cancellation will occur immediately. + + + + + Closes ongoing operations, i.e. an open reader exists or a COPY operation still in progress, as + part of a connection close. + + + + + Called when an unexpected message has been received during an action. Breaks the + connector and returns the appropriate message. + + + + + Called when a connector becomes completely unusable, e.g. when an unexpected I/O exception is raised or when + we lose protocol sync. + Note that fatal errors during the Open phase do *not* pass through here. + + The exception that caused the break. + The exception given in for chaining calls. + + + + Closes the socket and cleans up client-side resources associated with this connector. + + + This method doesn't actually perform any meaningful I/O, and therefore is sync-only. + + + + + Called when a pooled connection is closed, and its connector is returned to the pool. + Resets the connector back to its initial state, releasing server-side sources + (e.g. prepared statements), resetting parameters to their defaults, and resetting client-side + state + + + + + The connector may have allocated an oversize read buffer, to hold big rows in non-sequential reading. + This switches us back to the original one and returns the buffer to . + + + + + Starts a user action. This makes sure that another action isn't already in progress, handles synchronization with keepalive, + and sets up cancellation. + + The new state to be set when entering this user action. + + The that is starting execution - if an is + thrown, it will reference this. + + + The cancellation token provided by the user. Callbacks will be registered on this token for executing the cancellation, + and the token will be included in any thrown . + + + If , PostgreSQL cancellation will be attempted when the user requests cancellation or a timeout + occurs, followed by a client-side socket cancellation once has + elapsed. If , PostgreSQL cancellation will be skipped and client-socket cancellation will occur + immediately. + + + + + An IDisposable wrapper around . + + + + + The connection's timezone as reported by PostgreSQL, in the IANA/Olson database format. + + + + + Creates and returns a object associated with the . + + The text of the query. + A object. + + + + Creates and returns a object associated with the . + + A object. + + + + This Stream is placed between NegotiateStream and the socket's NetworkStream (or SSLStream). It intercepts + traffic and performs the following operations: + * Outgoing messages are framed in PostgreSQL's PasswordMessage, and incoming are stripped of it. + * NegotiateStream frames payloads with a 5-byte header, which PostgreSQL doesn't understand. This header is + stripped from outgoing messages and added to incoming ones. + + + See https://referencesource.microsoft.com/#System/net/System/Net/_StreamFramer.cs,16417e735f0e9530,references + + + + + Expresses the exact state of a connector. + + + + + The connector has either not yet been opened or has been closed. + + + + + The connector is currently connecting to a PostgreSQL server. + + + + + The connector is connected and may be used to send a new query. + + + + + The connector is waiting for a response to a query which has been sent to the server. + + + + + The connector is currently fetching and processing query results. + + + + + The connector is currently waiting for asynchronous notifications to arrive. + + + + + The connection was broken because an unexpected error occurred which left it in an unknown state. + This state isn't implemented yet. + + + + + The connector is engaged in a COPY operation. + + + + + The connector is engaged in streaming replication. + + + + + Currently not in a transaction block + + + + + Currently in a transaction block + + + + + Currently in a failed transaction block (queries will be rejected until block is ended) + + + + + A new transaction has been requested but not yet transmitted to the backend. It will be transmitted + prepended to the next query. + This is a client-side state option only, and is never transmitted from the backend. + + + + + Specifies how to load/parse DataRow messages as they're received from the backend. + + + + + Load DataRows in non-sequential mode + + + + + Load DataRows in sequential mode + + + + + Skip DataRow messages altogether + + + + + Base class for implementations which provide information about PostgreSQL and PostgreSQL-like databases + (e.g. type definitions, capabilities...). + + + + + The hostname of IP address of the database. + + + + + The TCP port of the database. + + + + + The database name. + + + + + The version of the PostgreSQL database we're connected to, as reported in the "server_version" parameter. + Exposed via . + + + + + The PostgreSQL version string as returned by the server_version option. Populated during loading. + + + + + Whether the backend supports range types. + + + + + Whether the backend supports multirange types. + + + + + Whether the backend supports enum types. + + + + + Whether the backend supports the CLOSE ALL statement. + + + + + Whether the backend supports advisory locks. + + + + + Whether the backend supports the DISCARD SEQUENCES statement. + + + + + Whether the backend supports the UNLISTEN statement. + + + + + Whether the backend supports the DISCARD TEMP statement. + + + + + Whether the backend supports the DISCARD statement. + + + + + Reports whether the backend uses the newer integer timestamp representation. + + + + + Whether the database supports transactions. + + + + + Indexes backend types by their type OID. + + + + + Indexes backend types by their PostgreSQL internal name, including namespace (e.g. pg_catalog.int4). + Only used for enums and composites. + + + + + Indexes backend types by their PostgreSQL name, not including namespace. + If more than one type exists with the same name (i.e. in different namespaces) this + table will contain an entry with a null value. + Only used for enums and composites. + + + + + Initializes the instance of . + + + + + Initializes the instance of . + + + + + Provides all PostgreSQL types detected in this database. + + + + + + Parses a PostgreSQL server version (e.g. 10.1, 9.6.3) and returns a CLR Version. + + + + + Registers a new database info factory, which is used to load information about databases. + + + + + A buffer used by Npgsql to read data from the socket efficiently. + Provides methods which decode different values types and tracks the current position. + + + + + Timeout for sync and async reads + + + + + The total byte length of the buffer. + + + + + Same as , except that it does not throw an exception if an invalid char is + encountered (exception fallback), but rather replaces it with a question mark character (replacement + fallback). + + + + + The minimum buffer size possible. + + + + + Ensures that bytes are available in the buffer, and if + not, reads from the socket until enough is available. + + + + + Does not perform any I/O - assuming that the bytes to be skipped are in the memory buffer. + + + + + Skip a given number of bytes. + + + + + Seeks the first null terminator (\0) and returns the string up to it. The buffer must already + contain the entire string and its terminator. + + + + + Seeks the first null terminator (\0) and returns the string up to it. The buffer must already + contain the entire string and its terminator. If any character could not be decoded, a question + mark character is returned instead of throwing an exception. + + + + + Seeks the first null terminator (\0) and returns the string up to it. Reads additional data from the network if a null + terminator isn't found in the buffered data. + + + + Does not throw ODE. + + + + A buffer used by Npgsql to write data to the socket efficiently. + Provides methods which encode different values types and tracks the current position. + + + + + Timeout for sync and async writes + + + + + The total byte length of the buffer. + + + + + The minimum buffer size possible. + + + + + Returns all contents currently written to the buffer (but not flushed). + Useful for pre-generating messages. + + + + + Whether this converter can handle the given format and with which buffer requirements. + + The data format. + Returns the buffer requirements. + Returns true if the given data format is supported. + The buffer requirements should not cover database NULL reads or writes, these are handled by the caller. + + + Never DbNull (struct types) + + + DbNull when *user code* + + + DbNull when value is null + + + DbNull when value is null or DBNull + + + + Gets the appropriate converter solely based on PgTypeId. + + + The converter resolution. + + Implementations should not return new instances of the possible converters that can be returned, instead its expected these are cached once used. + Array or other collection converters depend on this to cache their own converter - which wraps the element converter - with the cache key being the element converter reference. + + + + + Gets the appropriate converter to read with based on the given field info. + + + The converter resolution. + + Implementations should not return new instances of the possible converters that can be returned, instead its expected these are cached once used. + Array or other collection converters depend on this to cache their own converter - which wraps the element converter - with the cache key being the element converter reference. + + + + + Gets the appropriate converter to write with based on the given value. + + + + The converter resolution. + + Implementations should not return new instances of the possible converters that can be returned, instead its expected these are + cached once used. Array or other collection converters depend on this to cache their own converter - which wraps the element + converter - with the cache key being the element converter reference. + + + + ReadBytes without memory management, the next read invalidates the underlying buffer(s), only use this for intermediate transformations. + + + ReadBytesAsync without memory management, the next read invalidates the underlying buffer(s), only use this for intermediate transformations. + + + + + + + The stream length, if any + + + + Used by GetSchema to be able to attempt to resolve all type catalog types without exceptions. + + + + Whether options should return a portable identifier (data type name) to prevent any generated id (oid) confusion across backends, this comes with a perf penalty. + + + A reference to the type that houses the static method points to. + The continuation + + + Throws if the instance is a PgResolverTypeInfo. + + + When result is null, the value was interpreted to be a SQL NULL. + + + When result is null or DBNull, the value was interpreted to be a SQL NULL. + + + Whether Converter.TypeToConvert matches PgTypeInfo.Type, if it doesn't object apis should be used. + + + + Gets a that can be used to write to the underlying buffer. + + Blocking flushes during writes that were expected to be non-blocking and vice versa cause an exception to be thrown unless allowMixedIO is set to true, false by default. + The stream. + + + + Represents the fully-qualified name of a PostgreSQL type. + + + + + The maximum length of names in an unmodified PostgreSQL installation. + + + We need to respect this to get to valid names when deriving them (for multirange/arrays etc). + This does not include the namespace. + + + + + Well-known PostgreSQL data type names. + + + + Base field type shared between tables and composites. + + + + A discriminated union of and . + + + + + + + + + + When this flag is true, and both type and pgTypeId are non null, a default info for the pgTypeId can be returned if an exact match + can't be found. + + + + + + + + + + + + Signals whether a resolver based TypeInfo can keep its PgTypeId undecided or whether it should follow mapping.DataTypeName. + + + + Match when the clr type and datatype name both match. + It's also the only requirement that participates in clr type fallback matching. + + + Match when the datatype name or CLR type matches while the other also matches or is absent. + + + Match when the datatype name matches and the clr type also matches or is absent. + + + A factory for well-known PgConverters. + + + Returns the first default converter or the first converter that matches both type and dataTypeName. + If just a type was passed and no default was found we return the first converter with a type match. + + + Returns whether type matches any of the types we register pg arrays as. + + + + Launches MIT Kerberos klist and parses out the default principal from it. + Caches the result. + + + + This API supports the logging infrastructure and is not intended to be used directly from your code. It is subject to change in the future. + + + This API supports the logging infrastructure and is not intended to be used directly from your code. It is subject to change in the future. + + + This API supports the logging infrastructure and is not intended to be used directly from your code. It is subject to change in the future. + + + This API supports the logging infrastructure and is not intended to be used directly from your code. It is subject to change in the future. + + + This API supports the logging infrastructure and is not intended to be used directly from your code. It is subject to change in the future. + + + This API supports the logging infrastructure and is not intended to be used directly from your code. It is subject to change in the future. + + + This API supports the logging infrastructure and is not intended to be used directly from your code. It is subject to change in the future. + + + This API supports the logging infrastructure and is not intended to be used directly from your code. It is subject to change in the future. + + + This API supports the logging infrastructure and is not intended to be used directly from your code. It is subject to change in the future. + + + This API supports the logging infrastructure and is not intended to be used directly from your code. It is subject to change in the future. + + + This API supports the logging infrastructure and is not intended to be used directly from your code. It is subject to change in the future. + + + This API supports the logging infrastructure and is not intended to be used directly from your code. It is subject to change in the future. + + + This API supports the logging infrastructure and is not intended to be used directly from your code. It is subject to change in the future. + + + This API supports the logging infrastructure and is not intended to be used directly from your code. It is subject to change in the future. + + + This API supports the logging infrastructure and is not intended to be used directly from your code. It is subject to change in the future. + + + This API supports the logging infrastructure and is not intended to be used directly from your code. It is subject to change in the future. + + + This API supports the logging infrastructure and is not intended to be used directly from your code. It is subject to change in the future. + + + This API supports the logging infrastructure and is not intended to be used directly from your code. It is subject to change in the future. + + + This API supports the logging infrastructure and is not intended to be used directly from your code. It is subject to change in the future. + + + This API supports the logging infrastructure and is not intended to be used directly from your code. It is subject to change in the future. + + + This API supports the logging infrastructure and is not intended to be used directly from your code. It is subject to change in the future. + + + This API supports the logging infrastructure and is not intended to be used directly from your code. It is subject to change in the future. + + + This API supports the logging infrastructure and is not intended to be used directly from your code. It is subject to change in the future. + + + This API supports the logging infrastructure and is not intended to be used directly from your code. It is subject to change in the future. + + + This API supports the logging infrastructure and is not intended to be used directly from your code. It is subject to change in the future. + + + This API supports the logging infrastructure and is not intended to be used directly from your code. It is subject to change in the future. + + + This API supports the logging infrastructure and is not intended to be used directly from your code. It is subject to change in the future. + + + This API supports the logging infrastructure and is not intended to be used directly from your code. It is subject to change in the future. + + + This API supports the logging infrastructure and is not intended to be used directly from your code. It is subject to change in the future. + + + This API supports the logging infrastructure and is not intended to be used directly from your code. It is subject to change in the future. + + + This API supports the logging infrastructure and is not intended to be used directly from your code. It is subject to change in the future. + + + This API supports the logging infrastructure and is not intended to be used directly from your code. It is subject to change in the future. + + + This API supports the logging infrastructure and is not intended to be used directly from your code. It is subject to change in the future. + + + This API supports the logging infrastructure and is not intended to be used directly from your code. It is subject to change in the future. + + + This API supports the logging infrastructure and is not intended to be used directly from your code. It is subject to change in the future. + + + This API supports the logging infrastructure and is not intended to be used directly from your code. It is subject to change in the future. + + + This API supports the logging infrastructure and is not intended to be used directly from your code. It is subject to change in the future. + + + This API supports the logging infrastructure and is not intended to be used directly from your code. It is subject to change in the future. + + + This API supports the logging infrastructure and is not intended to be used directly from your code. It is subject to change in the future. + + + This API supports the logging infrastructure and is not intended to be used directly from your code. It is subject to change in the future. + + + This API supports the logging infrastructure and is not intended to be used directly from your code. It is subject to change in the future. + + + This API supports the logging infrastructure and is not intended to be used directly from your code. It is subject to change in the future. + + + This API supports the logging infrastructure and is not intended to be used directly from your code. It is subject to change in the future. + + + This API supports the logging infrastructure and is not intended to be used directly from your code. It is subject to change in the future. + + + This API supports the logging infrastructure and is not intended to be used directly from your code. It is subject to change in the future. + + + This API supports the logging infrastructure and is not intended to be used directly from your code. It is subject to change in the future. + + + This API supports the logging infrastructure and is not intended to be used directly from your code. It is subject to change in the future. + + + This API supports the logging infrastructure and is not intended to be used directly from your code. It is subject to change in the future. + + + This API supports the logging infrastructure and is not intended to be used directly from your code. It is subject to change in the future. + + + This API supports the logging infrastructure and is not intended to be used directly from your code. It is subject to change in the future. + + + This API supports the logging infrastructure and is not intended to be used directly from your code. It is subject to change in the future. + + + This API supports the logging infrastructure and is not intended to be used directly from your code. It is subject to change in the future. + + + This API supports the logging infrastructure and is not intended to be used directly from your code. It is subject to change in the future. + + + This API supports the logging infrastructure and is not intended to be used directly from your code. It is subject to change in the future. + + + This API supports the logging infrastructure and is not intended to be used directly from your code. It is subject to change in the future. + + + This API supports the logging infrastructure and is not intended to be used directly from your code. It is subject to change in the future. + + + This API supports the logging infrastructure and is not intended to be used directly from your code. It is subject to change in the future. + + + This API supports the logging infrastructure and is not intended to be used directly from your code. It is subject to change in the future. + + + This API supports the logging infrastructure and is not intended to be used directly from your code. It is subject to change in the future. + + + This API supports the logging infrastructure and is not intended to be used directly from your code. It is subject to change in the future. + + + This API supports the logging infrastructure and is not intended to be used directly from your code. It is subject to change in the future. + + + This API supports the logging infrastructure and is not intended to be used directly from your code. It is subject to change in the future. + + + This API supports the logging infrastructure and is not intended to be used directly from your code. It is subject to change in the future. + + + This API supports the logging infrastructure and is not intended to be used directly from your code. It is subject to change in the future. + + + This API supports the logging infrastructure and is not intended to be used directly from your code. It is subject to change in the future. + + + This API supports the logging infrastructure and is not intended to be used directly from your code. It is subject to change in the future. + + + This API supports the logging infrastructure and is not intended to be used directly from your code. It is subject to change in the future. + + + This API supports the logging infrastructure and is not intended to be used directly from your code. It is subject to change in the future. + + + This API supports the logging infrastructure and is not intended to be used directly from your code. It is subject to change in the future. + + + This API supports the logging infrastructure and is not intended to be used directly from your code. It is subject to change in the future. + + + This API supports the logging infrastructure and is not intended to be used directly from your code. It is subject to change in the future. + + + This API supports the logging infrastructure and is not intended to be used directly from your code. It is subject to change in the future. + + + This API supports the logging infrastructure and is not intended to be used directly from your code. It is subject to change in the future. + + + This API supports the logging infrastructure and is not intended to be used directly from your code. It is subject to change in the future. + + + + When multiplexing is enabled, determines the maximum number of outgoing bytes to buffer before + flushing to the network. + + + + + A component which translates a CLR name (e.g. SomeClass) into a database name (e.g. some_class) + according to some scheme. + Used for mapping enum and composite types. + + + + + Given a CLR type name (e.g class, struct, enum), translates its name to a database type name. + + + + + Given a CLR member name (property or field), translates its name to a database type name. + + + + + A name translator which preserves CLR names (e.g. SomeClass) when mapping names to the database. + + + + + Given a CLR type name (e.g class, struct, enum), translates its name to a database type name. + + + + + Given a CLR member name (property or field), translates its name to a database type name. + + + + + A name translator which converts standard CLR names (e.g. SomeClass) to snake-case database + names (some_class) + + + + + Creates a new . + + + An object that supplies culture-specific casing rules. + This will be used when converting names to lower case. + If then will be used. + + + + + Creates a new . + + + Uses the legacy naming convention if , otherwise it uses the new naming convention. + + + An object that supplies culture-specific casing rules. + This will be used when converting names to lower case. + If then will be used. + + + + + Given a CLR type name (e.g class, struct, enum), translates its name to a database type name. + + + + + Given a CLR member name (property or field), translates its name to a database type name. + + + + + Converts a string to its snake_case equivalent. + + The value to convert. + + An object that supplies culture-specific casing rules. + This will be used when converting names to lower case. + If then will be used. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Controls whether to place error barriers between all batch commands within this batch. Default to . + + + + By default, any exception in a command causes later commands in the batch to be skipped, and earlier commands to be rolled back. + Enabling error barriers ensures that errors do not affect other commands in the batch. + + + Note that if the batch is executed within an explicit transaction, the first error places the transaction in a failed state, + causing all later commands to fail in any case. As a result, this option is useful mainly when there is no explicit transaction. + + + At the PostgreSQL wire protocol level, this corresponds to inserting a Sync message between each command, rather than grouping + all the batch's commands behind a single terminating Sync. + + + To control error barriers on a command-by-command basis, see . + + + + + + Marks all of the batch's result columns as either known or unknown. + Unknown results column are requested them from PostgreSQL in text format, and Npgsql makes no + attempt to parse them. They will be accessible as strings only. + + + + + Initializes a new . + + A that represents the connection to a PostgreSQL server. + The in which the executes. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Creates a new instance of a object. + + An object. + + + + Returns whether the method is implemented. + + + + + Appends an error barrier after this batch command. Defaults to the value of on the + batch. + + + + By default, any exception in a command causes later commands in the batch to be skipped, and earlier commands to be rolled back. + Appending an error barrier ensures that errors from this command (or previous ones) won't cause later commands to be skipped, + and that errors from later commands won't cause this command (or previous ones) to be rolled back). + + + Note that if the batch is executed within an explicit transaction, the first error places the transaction in a failed state, + causing all later commands to fail in any case. As a result, this option is useful mainly when there is no explicit transaction. + + + At the PostgreSQL wire protocol level, this corresponds to inserting a Sync message after this command, rather than grouping + all the batch's commands behind a single terminating Sync. + + + Controlling error barriers on a command-by-command basis is an advanced feature, consider enabling error barriers for the entire + batch via . + + + + + + The number of rows affected or retrieved. + + + See the command tag in the CommandComplete message for the meaning of this value for each , + https://www.postgresql.org/docs/current/static/protocol-message-formats.html + + + + + + + + Specifies the type of query, e.g. SELECT. + + + + + For an INSERT, the object ID of the inserted row if is 1 and + the target table has OIDs; otherwise 0. + + + + + The SQL as it will be sent to PostgreSQL, after any rewriting performed by Npgsql (e.g. named to positional parameter + placeholders). + + + + + The list of parameters, ordered positionally, as it will be sent to PostgreSQL. + + + If the user provided positional parameters, this references the (in batching mode) or the list + backing (in non-batching) mode. If the user provided named parameters, this is a + separate list containing the re-ordered parameters. + + + + + The RowDescription message for this query. If null, the query does not return rows (e.g. INSERT) + + + + + If this statement has been automatically prepared, references the . + Null otherwise. + + + + + Holds the server-side (prepared) ASCII statement name. Empty string for non-prepared statements. + + + + + Whether this statement has already been prepared (including automatic preparation). + + + + + Returns a prepared statement for this statement (including automatic preparation). + + + + + Initializes a new . + + + + + Initializes a new . + + The text of the . + + + + Returns the . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Provides an API for a binary COPY TO operation, a high-performance data export mechanism from + a PostgreSQL table. Initiated by + + + + + The number of columns, as returned from the backend in the CopyInResponse. + + + + + Current timeout + + + + + Starts reading a single row, must be invoked before reading any columns. + + + The number of columns in the row. -1 if there are no further rows. + Note: This will currently be the same value for all rows, but this may change in the future. + + + + + Starts reading a single row, must be invoked before reading any columns. + + + The number of columns in the row. -1 if there are no further rows. + Note: This will currently be the same value for all rows, but this may change in the future. + + + + + Reads the current column, returns its value and moves ahead to the next column. + If the column is null an exception is thrown. + + + The type of the column to be read. This must correspond to the actual type or data + corruption will occur. If in doubt, use to manually + specify the type. + + The value of the column + + + + Reads the current column, returns its value and moves ahead to the next column. + If the column is null an exception is thrown. + + + The type of the column to be read. This must correspond to the actual type or data + corruption will occur. If in doubt, use to manually + specify the type. + + The value of the column + + + + Reads the current column, returns its value according to and + moves ahead to the next column. + If the column is null an exception is thrown. + + + In some cases isn't enough to infer the data type coming in from the + database. This parameter can be used to unambiguously specify the type. An example is the JSONB + type, for which will be a simple string but for which + must be specified as . + + The .NET type of the column to be read. + The value of the column + + + + Reads the current column, returns its value according to and + moves ahead to the next column. + If the column is null an exception is thrown. + + + In some cases isn't enough to infer the data type coming in from the + database. This parameter can be used to unambiguously specify the type. An example is the JSONB + type, for which will be a simple string but for which + must be specified as . + + + An optional token to cancel the asynchronous operation. The default value is . + + The .NET type of the column to be read. + The value of the column + + + + Returns whether the current column is null. + + + + + Skips the current column without interpreting its value. + + + + + Skips the current column without interpreting its value. + + + + + Cancels an ongoing export. + + + + + Async cancels an ongoing export. + + + + + Completes that binary export and sets the connection back to idle state + + + + + Async completes that binary export and sets the connection back to idle state + + + + + + Provides an API for a binary COPY FROM operation, a high-performance data import mechanism to + a PostgreSQL table. Initiated by + + + See https://www.postgresql.org/docs/current/static/sql-copy.html. + + + + + The number of columns in the current (not-yet-written) row. + + + + + The number of columns, as returned from the backend in the CopyInResponse. + + + + + Current timeout + + + + + Starts writing a single row, must be invoked before writing any columns. + + + + + Starts writing a single row, must be invoked before writing any columns. + + + + + Writes a single column in the current row. + + The value to be written + + The type of the column to be written. This must correspond to the actual type or data + corruption will occur. If in doubt, use to manually + specify the type. + + + + + Writes a single column in the current row. + + The value to be written + + An optional token to cancel the asynchronous operation. The default value is . + + + The type of the column to be written. This must correspond to the actual type or data + corruption will occur. If in doubt, use to manually + specify the type. + + + + + Writes a single column in the current row as type . + + The value to be written + + In some cases isn't enough to infer the data type to be written to + the database. This parameter can be used to unambiguously specify the type. An example is + the JSONB type, for which will be a simple string but for which + must be specified as . + + The .NET type of the column to be written. + + + + Writes a single column in the current row as type . + + The value to be written + + In some cases isn't enough to infer the data type to be written to + the database. This parameter can be used to unambiguously specify the type. An example is + the JSONB type, for which will be a simple string but for which + must be specified as . + + + An optional token to cancel the asynchronous operation. The default value is . + + The .NET type of the column to be written. + + + + Writes a single column in the current row as type . + + The value to be written + + In some cases isn't enough to infer the data type to be written to + the database. This parameter and be used to unambiguously specify the type. + + The .NET type of the column to be written. + + + + Writes a single column in the current row as type . + + The value to be written + + In some cases isn't enough to infer the data type to be written to + the database. This parameter and be used to unambiguously specify the type. + + + An optional token to cancel the asynchronous operation. The default value is . + + The .NET type of the column to be written. + + + + Writes a single null column value. + + + + + Writes a single null column value. + + + + + Writes an entire row of columns. + Equivalent to calling , followed by multiple + on each value. + + An array of column values to be written as a single row + + + + Writes an entire row of columns. + Equivalent to calling , followed by multiple + on each value. + + + An optional token to cancel the asynchronous operation. The default value is . + + An array of column values to be written as a single row + + + + Completes the import operation. The writer is unusable after this operation. + + + + + Completes the import operation. The writer is unusable after this operation. + + + + + + Terminates the ongoing binary import and puts the connection back into the idle state, where regular commands can be executed. + + + Note that if hasn't been invoked before calling this, the import will be cancelled and all changes will + be reverted. + + + + + + + Async terminates the ongoing binary import and puts the connection back into the idle state, where regular commands can be executed. + + + Note that if hasn't been invoked before calling this, the import will be cancelled and all changes will + be reverted. + + + + + + + Terminates the ongoing binary import and puts the connection back into the idle state, where regular commands can be executed. + + + Note that if hasn't been invoked before calling this, the import will be cancelled and all changes will + be reverted. + + + + + + + Async terminates the ongoing binary import and puts the connection back into the idle state, where regular commands can be executed. + + + Note that if hasn't been invoked before calling this, the import will be cancelled and all changes will + be reverted. + + + + + + Represents a SQL statement or function (stored procedure) to execute + against a PostgreSQL database. This class cannot be inherited. + + + + + If this command is (explicitly) prepared, references the connector on which the preparation happened. + Used to detect when the connector was changed (i.e. connection open/close), meaning that the command + is no longer prepared. + + + + + Whether this is wrapped by an . + + + + + Returns details about each statement that this command has executed. + Is only populated when an Execute* method is called. + + + + + Whether this command is cached by and returned by . + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the text of the query. + + The text of the query. + + + + Initializes a new instance of the class with the text of the query and a + . + + The text of the query. + A that represents the connection to a PostgreSQL server. + + + + Initializes a new instance of the class with the text of the query, a + , and the . + + The text of the query. + A that represents the connection to a PostgreSQL server. + The in which the executes. + + + + Used when this instance is wrapped inside an . + + + + + Used when this instance is wrapped inside an . + + + + + Gets or sets the SQL statement or function (stored procedure) to execute at the data source. + + The SQL statement or function (stored procedure) to execute. The default is an empty string. + + + + Gets or sets the wait time (in seconds) before terminating the attempt to execute a command and generating an error. + + The time (in seconds) to wait for the command to execute. The default value is 30 seconds. + + + + Gets or sets a value indicating how the property is to be interpreted. + + + One of the values. The default is . + + + + + DB connection. + + + + + Gets or sets the used by this instance of the . + + The connection to a data source. The default value is . + + + + Design time visible. + + + + + Gets or sets how command results are applied to the DataRow when used by the + DbDataAdapter.Update(DataSet) method. + + One of the values. + + + + Returns whether this query will execute as a prepared (compiled) query. + + + + + Marks all of the query's result columns as either known or unknown. + Unknown result columns are requested from PostgreSQL in text format, and Npgsql makes no + attempt to parse them. They will be accessible as strings only. + + + + + Marks the query's result columns as known or unknown, on a column-by-column basis. + Unknown result columns are requested from PostgreSQL in text format, and Npgsql makes no + attempt to parse them. They will be accessible as strings only. + + + If the query includes several queries (e.g. SELECT 1; SELECT 2), this will only apply to the first + one. The rest of the queries will be fetched and parsed as usual. + + The array size must correspond exactly to the number of result columns the query returns, or an + error will be raised. + + + + + The current state of the command + + + + + Creates a new instance of an object. + + A object. + + + + Creates a new instance of a object. + + An object. + + + + DB parameter collection. + + + + + Gets the . + + The parameters of the SQL statement or function (stored procedure). The default is an empty collection. + + + + Creates a server-side prepared statement on the PostgreSQL server. + This will make repeated future executions of this command much faster. + + + + + Creates a server-side prepared statement on the PostgreSQL server. + This will make repeated future executions of this command much faster. + + + An optional token to cancel the asynchronous operation. The default value is . + + + + + Unprepares a command, closing server-side statements associated with it. + Note that this only affects commands explicitly prepared with , not + automatically prepared statements. + + + + + Unprepares a command, closing server-side statements associated with it. + Note that this only affects commands explicitly prepared with , not + automatically prepared statements. + + + An optional token to cancel the asynchronous operation. The default value is . + + + + + Executes a SQL statement against the connection and returns the number of rows affected. + + The number of rows affected if known; -1 otherwise. + + + + Asynchronous version of + + + An optional token to cancel the asynchronous operation. The default value is . + + A task representing the asynchronous operation, with the number of rows affected if known; -1 otherwise. + + + + Executes the query, and returns the first column of the first row + in the result set returned by the query. Extra columns or rows are ignored. + + The first column of the first row in the result set, + or a null reference if the result set is empty. + + + + Asynchronous version of + + + An optional token to cancel the asynchronous operation. The default value is . + + A task representing the asynchronous operation, with the first column of the + first row in the result set, or a null reference if the result set is empty. + + + + Executes the command text against the connection. + + A task representing the operation. + + + + Executes the command text against the connection. + + An instance of . + + An optional token to cancel the asynchronous operation. The default value is . + + A task representing the asynchronous operation. + + + + Executes the against the + and returns a . + + One of the enumeration values that specifies the command behavior. + A task representing the operation. + + + + An asynchronous version of , which executes + the against the + and returns a . + + + An optional token to cancel the asynchronous operation. The default value is . + + A task representing the asynchronous operation. + + + + An asynchronous version of , + which executes the against the + and returns a . + + One of the enumeration values that specifies the command behavior. + + An optional token to cancel the asynchronous operation. The default value is . + + A task representing the asynchronous operation. + + + + DB transaction. + + + + + This property is ignored by Npgsql. PostgreSQL only supports a single transaction at a given time on + a given connection, and all commands implicitly run inside the current transaction started via + + + + + + Attempts to cancel the execution of an . + + As per the specs, no exception will be thrown by this method in case of failure. + + + + + + + Fixes up the text/binary flag on result columns. + Since Prepare() describes a statement rather than a portal, the resulting RowDescription + will have text format on all result columns. Fix that up. + + + Note that UnknownResultTypeList only applies to the first query, while AllResultTypesAreUnknown applies + to all of them. + + + + + Create a new command based on this one. + + A new NpgsqlCommand object. + + + + Create a new command based on this one. + + A new NpgsqlCommand object. + + + + This event is unsupported by Npgsql. Use instead. + + + + + This class creates database commands for automatic insert, update and delete operations. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The adapter. + + + + Gets or sets the beginning character or characters to use when specifying database objects (for example, tables or columns) whose names contain characters such as spaces or reserved tokens. + + + The beginning character or characters to use. The default is an empty string. + + + + + + + + Gets or sets the ending character or characters to use when specifying database objects (for example, tables or columns) whose names contain characters such as spaces or reserved tokens. + + + The ending character or characters to use. The default is an empty string. + + + + + + + + + This method is responsible to derive the command parameter list with values obtained from function definition. + It clears the Parameters collection of command. Also, if there is any parameter type which is not supported by Npgsql, an InvalidOperationException will be thrown. + Parameters name will be parameter1, parameter2, ... for CommandType.StoredProcedure and named after the placeholder for CommandType.Text + + NpgsqlCommand whose function parameters will be obtained. + + + + Gets the automatically generated object required + to perform insertions at the data source. + + + The automatically generated object required to perform insertions. + + + + + Gets the automatically generated object required to perform insertions + at the data source, optionally using columns for parameter names. + + + If , generate parameter names matching column names, if possible. + If , generate @p1, @p2, and so on. + + + The automatically generated object required to perform insertions. + + + + + Gets the automatically generated System.Data.Common.DbCommand object required + to perform updates at the data source. + + + The automatically generated System.Data.Common.DbCommand object required to perform updates. + + + + + Gets the automatically generated object required to perform updates + at the data source, optionally using columns for parameter names. + + + If , generate parameter names matching column names, if possible. + If , generate @p1, @p2, and so on. + + + The automatically generated object required to perform updates. + + + + + Gets the automatically generated System.Data.Common.DbCommand object required + to perform deletions at the data source. + + + The automatically generated System.Data.Common.DbCommand object required to perform deletions. + + + + + Gets the automatically generated object required to perform deletions + at the data source, optionally using columns for parameter names. + + + If , generate parameter names matching column names, if possible. + If , generate @p1, @p2, and so on. + + + The automatically generated object required to perform deletions. + + + + + Applies the parameter information. + + The parameter. + The row. + Type of the statement. + If set to [where clause]. + + + + Returns the name of the specified parameter in the format of @p#. + + The number to be included as part of the parameter's name.. + + The name of the parameter with the specified number appended as part of the parameter name. + + + + + Returns the full parameter name, given the partial parameter name. + + The partial name of the parameter. + + The full parameter name corresponding to the partial parameter name requested. + + + + + Returns the placeholder for the parameter in the associated SQL statement. + + The number to be included as part of the parameter's name. + + The name of the parameter with the specified number appended. + + + + + Registers the to handle the event for a . + + The to be used for the update. + + + + Adds an event handler for the event. + + The sender + A instance containing information about the event. + + + + Given an unquoted identifier in the correct catalog case, returns the correct quoted form of that identifier, including properly escaping any embedded quotes in the identifier. + + The original unquoted identifier. + + The quoted version of the identifier. Embedded quotes within the identifier are properly escaped. + + + + + Unquoted identifier parameter cannot be null + + + + Given a quoted identifier, returns the correct unquoted form of that identifier, including properly un-escaping any embedded quotes in the identifier. + + The identifier that will have its embedded quotes removed. + + The unquoted identifier, with embedded quotes properly un-escaped. + + + + + Quoted identifier parameter cannot be null + + + + This class represents a connection to a PostgreSQL server. + + + + + The connection string, without the password after open (unless Persist Security Info=true) + + + + + The original connection string provided by the user, including the password. + + + + + The physical connection to the database. This is when the connection is closed, + and also when it is open in multiplexing mode and unbound (e.g. not in a transaction). + + + + + The parsed connection string. Set only after the connection is opened. + + + + + Flag used to make sure we never double-close a connection, returning it twice to the pool. + + + + + The global type mapper, which contains defaults used by all new connections. + Modify mappings on this mapper to affect your entire application. + + + + + Connection-level type mapping is no longer supported. See the 7.0 release notes for configuring type mapping on NpgsqlDataSource. + + + + + The default TCP/IP port for PostgreSQL. + + + + + Maximum value for connection timeout. + + + + + Tracks when this connection was bound to a physical connector (e.g. at open-time, when a transaction + was started...). + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of with the given connection string. + + The connection used to open the PostgreSQL database. + + + + Opens a database connection with the property settings specified by the . + + + + + This is the asynchronous version of . + + + Do not invoke other methods and properties of the object until the returned Task is complete. + + + An optional token to cancel the asynchronous operation. The default value is . + + A task representing the asynchronous operation. + + + + Gets or sets the string used to connect to a PostgreSQL database. See the manual for details. + + The connection string that includes the server name, + the database name, and other parameters needed to establish + the initial connection. The default value is an empty string. + + + + + Gets or sets the delegate used to generate a password for new database connections. + + +

    + This delegate is executed when a new database connection is opened that requires a password. +

    +

    + The and connection + string properties have precedence over this delegate: it will not be executed if a password is specified, or if the specified or + default Passfile contains a valid entry. +

    +

    + Due to connection pooling this delegate is only executed when a new physical connection is opened, not when reusing a connection + that was previously opened from the pool. +

    +
    +
    + + + Backend server host name. + + + + + Backend server port. + + + + + Gets the time (in seconds) to wait while trying to establish a connection + before terminating the attempt and generating an error. + + The time (in seconds) to wait for a connection to open. The default value is 15 seconds. + + + + Gets the time (in seconds) to wait while trying to execute a command + before terminating the attempt and generating an error. + + The time (in seconds) to wait for a command to complete. The default value is 30 seconds. + + + + Gets the name of the current database or the database to be used after a connection is opened. + + The name of the current database or the name of the database to be + used after a connection is opened. The default value is the empty string. + + + + Gets the string identifying the database server (host and port) + + + The name of the database server (host and port). If the connection uses a Unix-domain socket, + the path to that socket is returned. The default value is the empty string. + + + + + User name. + + + + + Gets the current state of the connection. + + A bitwise combination of the values. The default is Closed. + + + + Gets whether the current state of the connection is Open or Closed + + ConnectionState.Open, ConnectionState.Closed or ConnectionState.Connecting + + + + A cached command handed out by , which is returned when disposed. Useful for reducing allocations. + + + + + Creates and returns a + object associated with the . + + A object. + + + + Creates and returns a object associated with the . + + A object. + + + + A cached batch handed out by , which is returned when disposed. Useful for reducing allocations. + + + + + Creates and returns a object associated with the . + + A object. + + + + Begins a database transaction with the specified isolation level. + + The isolation level under which the transaction should run. + A object representing the new transaction. + Nested transactions are not supported. + + + + Begins a database transaction. + + A object representing the new transaction. + + Nested transactions are not supported. + Transactions created by this method will have the isolation level. + + + + + Begins a database transaction with the specified isolation level. + + The isolation level under which the transaction should run. + A object representing the new transaction. + Nested transactions are not supported. + + + + Enlist transaction. + + + + + Releases the connection. If the connection is pooled, it will be returned to the pool and made available for re-use. + If it is non-pooled, the physical connection will be closed. + + + + + Releases the connection. If the connection is pooled, it will be returned to the pool and made available for re-use. + If it is non-pooled, the physical connection will be closed. + + + + + Releases all resources used by the . + + when called from ; + when being called from the finalizer. + + + + Releases all resources used by the . + + + + + Fires when PostgreSQL notices are received from PostgreSQL. + + + PostgreSQL notices are non-critical messages generated by PostgreSQL, either as a result of a user query + (e.g. as a warning or informational notice), or due to outside activity (e.g. if the database administrator + initiates a "fast" database shutdown). + + Note that notices are very different from notifications (see the event). + + + + + Fires when PostgreSQL notifications are received from PostgreSQL. + + + PostgreSQL notifications are sent when your connection has registered for notifications on a specific channel via the + LISTEN command. NOTIFY can be used to generate such notifications, allowing for an inter-connection communication channel. + + Note that notifications are very different from notices (see the event). + + + + + Returns whether SSL is being used for the connection. + + + + + Returns whether SCRAM-SHA256 is being user for the connection + + + + + Returns whether SCRAM-SHA256-PLUS is being user for the connection + + + + + Selects the local Secure Sockets Layer (SSL) certificate used for authentication. + + + See + + + + + When using SSL/TLS, this is a callback that allows customizing how the PostgreSQL-provided certificate is verified. This is an + advanced API, consider using or instead. + + + + Cannot be used in conjunction with , and + . + + + See . + + + + + + The version of the PostgreSQL server we're connected to. + +

    + This can only be called when the connection is open. +

    +

    + In case of a development or pre-release version this field will contain + the version of the next version to be released from this branch. +

    +
    +
    +
    + + + The PostgreSQL server version as returned by the server_version option. + + This can only be called when the connection is open. + + + + + + Process id of backend server. + This can only be called when there is an active connection. + + + + + Reports whether the backend uses the newer integer timestamp representation. + Note that the old floating point representation is not supported. + Meant for use by type plugins (e.g. NodaTime) + + + + + The connection's timezone as reported by PostgreSQL, in the IANA/Olson database format. + + + + + Holds all PostgreSQL parameters received for this connection. Is updated if the values change + (e.g. as a result of a SET command). + + + + + Begins a binary COPY FROM STDIN operation, a high-performance data import mechanism to a PostgreSQL table. + + A COPY FROM STDIN SQL command + A which can be used to write rows and columns + + See https://www.postgresql.org/docs/current/static/sql-copy.html. + + + + + Begins a binary COPY FROM STDIN operation, a high-performance data import mechanism to a PostgreSQL table. + + A COPY FROM STDIN SQL command + An optional token to cancel the asynchronous operation. The default value is None. + A which can be used to write rows and columns + + See https://www.postgresql.org/docs/current/static/sql-copy.html. + + + + + Begins a binary COPY TO STDOUT operation, a high-performance data export mechanism from a PostgreSQL table. + + A COPY TO STDOUT SQL command + A which can be used to read rows and columns + + See https://www.postgresql.org/docs/current/static/sql-copy.html. + + + + + Begins a binary COPY TO STDOUT operation, a high-performance data export mechanism from a PostgreSQL table. + + A COPY TO STDOUT SQL command + An optional token to cancel the asynchronous operation. The default value is None. + A which can be used to read rows and columns + + See https://www.postgresql.org/docs/current/static/sql-copy.html. + + + + + Begins a textual COPY FROM STDIN operation, a data import mechanism to a PostgreSQL table. + It is the user's responsibility to send the textual input according to the format specified + in . + + A COPY FROM STDIN SQL command + + A TextWriter that can be used to send textual data. + + See https://www.postgresql.org/docs/current/static/sql-copy.html. + + + + + Begins a textual COPY FROM STDIN operation, a data import mechanism to a PostgreSQL table. + It is the user's responsibility to send the textual input according to the format specified + in . + + A COPY FROM STDIN SQL command + An optional token to cancel the asynchronous operation. The default value is None. + + A TextWriter that can be used to send textual data. + + See https://www.postgresql.org/docs/current/static/sql-copy.html. + + + + + Begins a textual COPY TO STDOUT operation, a data export mechanism from a PostgreSQL table. + It is the user's responsibility to parse the textual input according to the format specified + in . + + A COPY TO STDOUT SQL command + + A TextReader that can be used to read textual data. + + See https://www.postgresql.org/docs/current/static/sql-copy.html. + + + + + Begins a textual COPY TO STDOUT operation, a data export mechanism from a PostgreSQL table. + It is the user's responsibility to parse the textual input according to the format specified + in . + + A COPY TO STDOUT SQL command + An optional token to cancel the asynchronous operation. The default value is None. + + A TextReader that can be used to read textual data. + + See https://www.postgresql.org/docs/current/static/sql-copy.html. + + + + + Begins a raw binary COPY operation (TO STDOUT or FROM STDIN), a high-performance data export/import mechanism to a PostgreSQL table. + Note that unlike the other COPY API methods, doesn't implement any encoding/decoding + and is unsuitable for structured import/export operation. It is useful mainly for exporting a table as an opaque + blob, for the purpose of importing it back later. + + A COPY TO STDOUT or COPY FROM STDIN SQL command + A that can be used to read or write raw binary data. + + See https://www.postgresql.org/docs/current/static/sql-copy.html. + + + + + Begins a raw binary COPY operation (TO STDOUT or FROM STDIN), a high-performance data export/import mechanism to a PostgreSQL table. + Note that unlike the other COPY API methods, doesn't implement any encoding/decoding + and is unsuitable for structured import/export operation. It is useful mainly for exporting a table as an opaque + blob, for the purpose of importing it back later. + + A COPY TO STDOUT or COPY FROM STDIN SQL command + An optional token to cancel the asynchronous operation. The default value is None. + A that can be used to read or write raw binary data. + + See https://www.postgresql.org/docs/current/static/sql-copy.html. + + + + + Waits until an asynchronous PostgreSQL messages (e.g. a notification) arrives, and + exits immediately. The asynchronous message is delivered via the normal events + (, ). + + + The time-out value, in milliseconds, passed to . + The default value is 0, which indicates an infinite time-out period. + Specifying -1 also indicates an infinite time-out period. + + true if an asynchronous message was received, false if timed out. + + + + Waits until an asynchronous PostgreSQL messages (e.g. a notification) arrives, and + exits immediately. The asynchronous message is delivered via the normal events + (, ). + + + The time-out value is passed to . + + true if an asynchronous message was received, false if timed out. + + + + Waits until an asynchronous PostgreSQL messages (e.g. a notification) arrives, and + exits immediately. The asynchronous message is delivered via the normal events + (, ). + + + + + Waits asynchronously until an asynchronous PostgreSQL messages (e.g. a notification) + arrives, and exits immediately. The asynchronous message is delivered via the normal events + (, ). + + + The time-out value, in milliseconds. + The default value is 0, which indicates an infinite time-out period. + Specifying -1 also indicates an infinite time-out period. + + + An optional token to cancel the asynchronous operation. The default value is . + + true if an asynchronous message was received, false if timed out. + + + + Waits asynchronously until an asynchronous PostgreSQL messages (e.g. a notification) + arrives, and exits immediately. The asynchronous message is delivered via the normal events + (, ). + + + The time-out value as + + + An optional token to cancel the asynchronous operation. The default value is . + + true if an asynchronous message was received, false if timed out. + + + + Waits asynchronously until an asynchronous PostgreSQL messages (e.g. a notification) + arrives, and exits immediately. The asynchronous message is delivered via the normal events + (, ). + + + An optional token to cancel the asynchronous operation. The default value is . + + + + + Checks whether the connection is currently bound to a connector, and if so, returns it via + . + + + + + Binds this connection to a physical connector. This happens when opening a non-multiplexing connection, + or when starting a transaction on a multiplexed connection. + + + + + Ends binding scope to the physical connection and returns it to the pool. Only useful with multiplexing on. + + + After this method is called, under no circumstances the physical connection (connector) should ever be used if multiplexing is on. + See #3249. + + + + + Returns the supported collections + + + + + Returns the schema collection specified by the collection name. + + The collection name. + The collection specified. + + + + Returns the schema collection specified by the collection name filtered by the restrictions. + + The collection name. + + The restriction values to filter the results. A description of the restrictions is contained + in the Restrictions collection. + + The collection specified. + + + + Asynchronously returns the supported collections. + + + An optional token to cancel the asynchronous operation. The default value is . + + The collection specified. + + + + Asynchronously returns the schema collection specified by the collection name. + + The collection name. + + An optional token to cancel the asynchronous operation. The default value is . + + The collection specified. + + + + Asynchronously returns the schema collection specified by the collection name filtered by the restrictions. + + The collection name. + + The restriction values to filter the results. A description of the restrictions is contained + in the Restrictions collection. + + + An optional token to cancel the asynchronous operation. The default value is . + + The collection specified. + + + + Creates a closed connection with the connection string and authentication details of this message. + + + + + Clones this connection, replacing its connection string with the given one. + This allows creating a new connection with the same security information + (password, SSL callbacks) while changing other connection parameters (e.g. + database or pooling) + + + + + This method changes the current database by disconnecting from the actual + database and connecting to the specified. + + The name of the database to use in place of the current database. + + + + DB provider factory. + + + + + Clears the connection pool. All idle physical connections in the pool of the given connection are + immediately closed, and any busy connections which were opened before was called + will be closed when returned to the pool. + + + + + Clear all connection pools. All idle physical connections in all pools are immediately closed, and any busy + connections which were opened before was called will be closed when returned + to their pool. + + + + + Unprepares all prepared statements on this connection. + + + + + Flushes the type cache for this connection's connection string and reloads the types for this connection only. + Type changes will appear for other connections only after they are re-opened from the pool. + + + + + Flushes the type cache for this connection's connection string and reloads the types for this connection only. + Type changes will appear for other connections only after they are re-opened from the pool. + + + + + This event is unsupported by Npgsql. Use instead. + + + + + The connection is currently not bound to a connector. + + + + + The connection is bound to its connector for the scope of the entire connection + (i.e. non-multiplexed connection). + + + + + The connection is bound to its connector for the scope of a transaction. + + + + + The connection is bound to its connector for the scope of a COPY operation. + + + + + The connection is bound to its connector for the scope of a single reader. + + + + + The connection is bound to its connector for an unspecified, temporary scope; the code that initiated + the binding is also responsible to unbind it. + + + + + Represents a method that handles the event. + + The source of the event. + A that contains the notice information (e.g. message, severity...). + + + + Represents a method that handles the event. + + The source of the event. + A that contains the notification payload. + + + + Represents a method that allows the application to provide a certificate collection to be used for SSL client authentication + + + A to be filled with one or more client + certificates. + + + + + Represents a method that allows the application to provide a password at connection time in code rather than configuration + + Hostname + Port + Database Name + User + A valid password for connecting to the database + + + + Provides a simple way to create and manage the contents of connection strings used by + the class. + + + + + Cached DataSource value to reduce allocations on NpgsqlConnection.DataSource.get + + + + + Initializes a new instance of the NpgsqlConnectionStringBuilder class. + + + + + Initializes a new instance of the NpgsqlConnectionStringBuilder class, optionally using ODBC rules for quoting values. + + true to use {} to delimit fields; false to use quotation marks. + + + + Initializes a new instance of the NpgsqlConnectionStringBuilder class and sets its . + + + + + GeneratedAction and GeneratedActions exist to be able to produce a streamlined binary footprint for NativeAOT. + An idiomatic approach where each action has its own method would double the binary size of NpgsqlConnectionStringBuilder. + + + + + Gets or sets the value associated with the specified key. + + The key of the item to get or set. + The value associated with the specified key. + + + + Adds an item to the . + + The key-value pair to be added. + + + + Removes the entry with the specified key from the DbConnectionStringBuilder instance. + + The key of the key/value pair to be removed from the connection string in this DbConnectionStringBuilder. + true if the key existed within the connection string and was removed; false if the key did not exist. + + + + Removes the entry from the DbConnectionStringBuilder instance. + + The key/value pair to be removed from the connection string in this DbConnectionStringBuilder. + true if the key existed within the connection string and was removed; false if the key did not exist. + + + + Clears the contents of the instance. + + + + + Determines whether the contains a specific key. + + The key to locate in the . + true if the contains an entry with the specified key; otherwise false. + + + + Determines whether the contains a specific key-value pair. + + The item to locate in the . + true if the contains the entry; otherwise false. + + + + Retrieves a value corresponding to the supplied key from this . + + The key of the item to retrieve. + The value corresponding to the key. + true if keyword was found within the connection string, false otherwise. + + + + The hostname or IP address of the PostgreSQL server to connect to. + + + + + The TCP/IP port of the PostgreSQL server. + + + + + The PostgreSQL database to connect to. + + + + + The username to connect with. + + + + + The password to connect with. + + + + + Path to a PostgreSQL password file (PGPASSFILE), from which the password would be taken. + + + + + The optional application name parameter to be sent to the backend during connection initiation. + + + + + Whether to enlist in an ambient TransactionScope. + + + + + Gets or sets the schema search path. + + + + + Gets or sets the client_encoding parameter. + + + + + Gets or sets the .NET encoding that will be used to encode/decode PostgreSQL string data. + + + + + Gets or sets the PostgreSQL session timezone, in Olson/IANA database format. + + + + + Controls whether SSL is required, disabled or preferred, depending on server support. + + + + + Location of a client certificate to be sent to the server. + + + + + Location of a client key for a client certificate to be sent to the server. + + + + + Password for a key for a client certificate. + + + + + Location of a CA certificate used to validate the server certificate. + + + + + Whether to check the certificate revocation list during authentication. + False by default. + + + + + The Kerberos service name to be used for authentication. + + + + + The Kerberos realm to be used for authentication. + + + + + Gets or sets a Boolean value that indicates if security-sensitive information, such as the password, is not returned as part of the connection if the connection is open or has ever been in an open state. + + + + + When enabled, parameter values are logged when commands are executed. Defaults to false. + + + + + When enabled, PostgreSQL error details are included on and + . These can contain sensitive data. + + + + + Controls whether channel binding is required, disabled or preferred, depending on server support. + + + + + Whether connection pooling should be used. + + + + + The minimum connection pool size. + + + + + The maximum connection pool size. + + + + + The time to wait before closing idle connections in the pool if the count + of all connections exceeds MinPoolSize. + + The time (in seconds) to wait. The default value is 300. + + + + How many seconds the pool waits before attempting to prune idle connections that are beyond + idle lifetime (. + + The interval (in seconds). The default value is 10. + + + + The total maximum lifetime of connections (in seconds). Connections which have exceeded this value will be + destroyed instead of returned from the pool. This is useful in clustered configurations to force load + balancing between a running server and a server just brought online. + + The time (in seconds) to wait, or 0 to to make connections last indefinitely (the default). + + + + The time to wait (in seconds) while trying to establish a connection before terminating the attempt and generating an error. + Defaults to 15 seconds. + + + + + The time to wait (in seconds) while trying to execute a command before terminating the attempt and generating an error. + Defaults to 30 seconds. + + + + + The time to wait (in milliseconds) while trying to read a response for a cancellation request for a timed out or cancelled query, before terminating the attempt and generating an error. + Zero for infinity, -1 to skip the wait. + Defaults to 2000 milliseconds. + + + + + Determines the preferred PostgreSQL target server type. + + + + + Enables balancing between multiple hosts by round-robin. + + + + + Controls for how long the host's cached state will be considered as valid. + + + + + The number of seconds of connection inactivity before Npgsql sends a keepalive query. + Set to 0 (the default) to disable. + + + + + Whether to use TCP keepalive with system defaults if overrides isn't specified. + + + + + The number of seconds of connection inactivity before a TCP keepalive query is sent. + Use of this option is discouraged, use instead if possible. + Set to 0 (the default) to disable. + + + + + The interval, in seconds, between when successive keep-alive packets are sent if no acknowledgement is received. + Defaults to the value of . must be non-zero as well. + + + + + Determines the size of the internal buffer Npgsql uses when reading. Increasing may improve performance if transferring large values from the database. + + + + + Determines the size of the internal buffer Npgsql uses when writing. Increasing may improve performance if transferring large values to the database. + + + + + Determines the size of socket read buffer. + + + + + Determines the size of socket send buffer. + + + + + The maximum number SQL statements that can be automatically prepared at any given point. + Beyond this number the least-recently-used statement will be recycled. + Zero (the default) disables automatic preparation. + + + + + The minimum number of usages an SQL statement is used before it's automatically prepared. + Defaults to 5. + + + + + If set to true, a pool connection's state won't be reset when it is closed (improves performance). + Do not specify this unless you know what you're doing. + + + + + Load table composite type definitions, and not just free-standing composite types. + + + + + Set the replication mode of the connection + + + This property and its corresponding enum are intentionally kept internal as they + should not be set by users or even be visible in their connection strings. + Replication connections are a special kind of connection that is encapsulated in + + and . + + + + + Set PostgreSQL configuration parameter default values for the connection. + + + + + Configure the way arrays of value types are returned when requested as object instances. + + + + + Enables multiplexing, which allows more efficient use of connections. + + + + + When multiplexing is enabled, determines the maximum number of outgoing bytes to buffer before + flushing to the network. + + + + + A compatibility mode for special PostgreSQL server types. + + + + + Whether to trust the server certificate without validating it. + + + + + The time to wait (in seconds) while trying to execute a an internal command before terminating the attempt and generating an error. + + + + + Determines whether the specified object is equal to the current object. + + + + + Hash function. + + + + + + Gets an containing the keys of the . + + + + + Gets an containing the values in the . + + + + + Copies the elements of the to an Array, starting at a particular Array index. + + + The one-dimensional Array that is the destination of the elements copied from . + The Array must have zero-based indexing. + + + The zero-based index in array at which copying begins. + + + + + Returns an enumerator that iterates through the . + + + + + + + + + Marks on which participate in the connection + string. Optionally holds a set of synonyms for the property. + + + + + Holds a list of synonyms for the property. + + + + + Creates a . + + + + + Creates a . + + + + + An option specified in the connection string that activates special compatibility features. + + + + + No special server compatibility mode is active + + + + + The server is an Amazon Redshift instance. + + + + + The server is doesn't support full type loading from the PostgreSQL catalogs, support the basic set + of types via information hardcoded inside Npgsql. + + + + + Specifies how to manage SSL. + + + + + SSL is disabled. If the server requires SSL, the connection will fail. + + + + + Prefer non-SSL connections if the server allows them, but allow SSL connections. + + + + + Prefer SSL connections if the server allows them, but allow connections without SSL. + + + + + Fail the connection if the server doesn't support SSL. + + + + + Fail the connection if the server doesn't support SSL. Also verifies server certificate. + + + + + Fail the connection if the server doesn't support SSL. Also verifies server certificate with host's name. + + + + + Specifies how to manage channel binding. + + + + + Channel binding is disabled. If the server requires channel binding, the connection will fail. + + + + + Prefer channel binding if the server allows it, but connect without it if not. + + + + + Fail the connection if the server doesn't support channel binding. + + + + + Specifies how the mapping of arrays of + value types + behaves with respect to nullability when they are requested via an API returning an . + + + + + Arrays of value types are always returned as non-nullable arrays (e.g. int[]). + If the PostgreSQL array contains a NULL value, an exception is thrown. This is the default mode. + + + + + Arrays of value types are always returned as nullable arrays (e.g. int?[]). + + + + + The type of array that gets returned is determined at runtime. + Arrays of value types are returned as non-nullable arrays (e.g. int[]) + if the actual instance that gets returned doesn't contain null values + and as nullable arrays (e.g. int?[]) if it does. + + When using this setting, make sure that your code is prepared to the fact + that the actual type of array instances returned from APIs like + may change on a row by row base. + + + + Specifies whether the connection shall be initialized as a physical or + logical replication connection + + + This enum and its corresponding property are intentionally kept internal as they + should not be set by users or even be visible in their connection strings. + Replication connections are a special kind of connection that is encapsulated in + + and . + + + + + Replication disabled. This is the default + + + + + Physical replication enabled + + + + + Logical replication enabled + + + + + Represents the method that handles the events. + + The source of the event. + An that contains the event data. + + + + Represents the method that handles the events. + + The source of the event. + An that contains the event data. + + + + This class represents an adapter from many commands: select, update, insert and delete to fill a . + + + + + Row updated event. + + + + + Row updating event. + + + + + Default constructor. + + + + + Constructor. + + + + + + Constructor. + + + + + + + Constructor. + + + + + + + Create row updated event. + + + + + Create row updating event. + + + + + Raise the RowUpdated event. + + + + + + Raise the RowUpdating event. + + + + + + Delete command. + + + + + Select command. + + + + + Update command. + + + + + Insert command. + + + + + Reads a forward-only stream of rows from a data source. + + + + + The behavior of the command with which this reader was executed. + + + + + In multiplexing, this is as the sending is managed in the write multiplexing loop, + and does not need to be awaited by the reader. + + + + + Holds the list of statements being executed by this reader. + + + + + The index of the current query resultset we're processing (within a multiquery) + + + + + Records, for each column, its starting offset and length in the current row. + Used only in non-sequential mode. + + + + + The index of the column that we're on, i.e. that has already been parsed, is + is memory and can be retrieved. Initialized to -1, which means we're on the column + count (which comes before the first column). + + + + + The position in the buffer at which the current data row message ends. + Used only when the row is consumed non-sequentially. + + + + + Determines, if we can consume the row non-sequentially. + Mostly useful for a sequential mode, when the row is already in the buffer. + Should always be true for the non-sequential mode. + + + + + The RowDescription message for the current resultset being processed + + + + + Stores the last converter info resolved by column, to speed up repeated reading. + + + + + Whether the current result set has rows + + + + + Is raised whenever Close() is called. + + + + + Advances the reader to the next record in a result set. + + true if there are more rows; otherwise false. + + The default position of a data reader is before the first record. Therefore, you must call Read to begin accessing data. + + + + + This is the asynchronous version of + + + An optional token to cancel the asynchronous operation. The default value is . + + A task representing the asynchronous operation. + + + + Advances the reader to the next result when reading the results of a batch of statements. + + + + + + This is the asynchronous version of NextResult. + + + An optional token to cancel the asynchronous operation. The default value is . + + A task representing the asynchronous operation. + + + + Internal implementation of NextResult + + + + + Note that in SchemaOnly mode there are no resultsets, and we read nothing from the backend (all + RowDescriptions have already been processed and are available) + + + + + Gets a value indicating the depth of nesting for the current row. Always returns zero. + + + + + Gets a value indicating whether the data reader is closed. + + + + + Gets the number of rows changed, inserted, or deleted by execution of the SQL statement. + + + The number of rows changed, inserted, or deleted. -1 for SELECT statements; 0 if no rows were affected or the statement failed. + + + + + Gets the number of rows changed, inserted, or deleted by execution of the SQL statement. + + + The number of rows changed, inserted, or deleted. 0 for SELECT statements, if no rows were affected or the statement failed. + + + + + Returns details about each statement that this reader will or has executed. + + + Note that some fields (i.e. rows and oid) are only populated as the reader + traverses the result. + + For commands with multiple queries, this exposes the number of rows affected on + a statement-by-statement basis, unlike + which exposes an aggregation across all statements. + + + + + Gets a value that indicates whether this DbDataReader contains one or more rows. + + + + + Indicates whether the reader is currently positioned on a row, i.e. whether reading a + column is possible. + This property is different from in that will + return true even if attempting to read a column will fail, e.g. before + has been called + + + + + Gets the name of the column, given the zero-based column ordinal. + + The zero-based column ordinal. + The name of the specified column. + + + + Gets the number of columns in the current row. + + + + + Consumes all result sets for this reader, leaving the connector ready for sending and processing further + queries + + + + + Releases the resources used by the . + + + + + Releases the resources used by the . + + + + + Closes the reader, allowing a new command to be executed. + + + + + Closes the reader, allowing a new command to be executed. + + + + + Gets the value of the specified column as a Boolean. + + The zero-based column ordinal. + The value of the specified column. + + + + Gets the value of the specified column as a byte. + + The zero-based column ordinal. + The value of the specified column. + + + + Gets the value of the specified column as a single character. + + The zero-based column ordinal. + The value of the specified column. + + + + Gets the value of the specified column as a 16-bit signed integer. + + The zero-based column ordinal. + The value of the specified column. + + + + Gets the value of the specified column as a 32-bit signed integer. + + The zero-based column ordinal. + The value of the specified column. + + + + Gets the value of the specified column as a 64-bit signed integer. + + The zero-based column ordinal. + The value of the specified column. + + + + Gets the value of the specified column as a object. + + The zero-based column ordinal. + The value of the specified column. + + + + Gets the value of the specified column as an instance of . + + The zero-based column ordinal. + The value of the specified column. + + + + Gets the value of the specified column as a object. + + The zero-based column ordinal. + The value of the specified column. + + + + Gets the value of the specified column as a double-precision floating point number. + + The zero-based column ordinal. + The value of the specified column. + + + + Gets the value of the specified column as a single-precision floating point number. + + The zero-based column ordinal. + The value of the specified column. + + + + Gets the value of the specified column as a globally-unique identifier (GUID). + + The zero-based column ordinal. + The value of the specified column. + + + + Populates an array of objects with the column values of the current row. + + An array of Object into which to copy the attribute columns. + The number of instances of in the array. + + + + Gets the value of the specified column as an instance of . + + The zero-based column ordinal. + The value of the specified column. + + + + Gets the value of the specified column as a TimeSpan, + + + PostgreSQL's interval type has has a resolution of 1 microsecond and ranges from + -178000000 to 178000000 years, while .NET's TimeSpan has a resolution of 100 nanoseconds + and ranges from roughly -29247 to 29247 years. + See https://www.postgresql.org/docs/current/static/datatype-datetime.html + + The zero-based column ordinal. + The value of the specified column. + + + + + + + Returns a nested data reader for the requested column. + The column type must be a record or a to Npgsql known composite type, or an array thereof. + Currently only supported in non-sequential mode. + + The zero-based column ordinal. + A data reader. + + + + Reads a stream of bytes from the specified column, starting at location indicated by dataOffset, into the buffer, starting at the location indicated by bufferOffset. + + The zero-based column ordinal. + The index within the row from which to begin the read operation. + The buffer into which to copy the data. + The index with the buffer to which the data will be copied. + The maximum number of characters to read. + The actual number of bytes read. + + + + Retrieves data as a . + + The zero-based column ordinal. + The returned object. + + + + Retrieves data as a . + + The zero-based column ordinal. + + An optional token to cancel the asynchronous operation. The default value is . + + The returned object. + + + + Reads a stream of characters from the specified column, starting at location indicated by dataOffset, into the buffer, starting at the location indicated by bufferOffset. + + The zero-based column ordinal. + The index within the row from which to begin the read operation. + The buffer into which to copy the data. + The index with the buffer to which the data will be copied. + The maximum number of characters to read. + The actual number of characters read. + + + + Retrieves data as a . + + The zero-based column ordinal. + The returned object. + + + + Retrieves data as a . + + The zero-based column ordinal. + + An optional token to cancel the asynchronous operation. The default value is . + + The returned object. + + + + Asynchronously gets the value of the specified column as a type. + + The type of the value to be returned. + The type of the value to be returned. + + An optional token to cancel the asynchronous operation. The default value is . + + + + + + Synchronously gets the value of the specified column as a type. + + Synchronously gets the value of the specified column as a type. + The column to be retrieved. + The column to be retrieved. + + + + Gets the value of the specified column as an instance of . + + The zero-based column ordinal. + The value of the specified column. + + + + Gets the value of the specified column as an instance of . + + The name of the column. + The value of the specified column. + + + + Gets a value that indicates whether the column contains nonexistent or missing values. + + The zero-based column ordinal. + true if the specified column is equivalent to ; otherwise false. + + + + An asynchronous version of , which gets a value that indicates whether the column contains non-existent or missing values. + The parameter is currently ignored. + + The zero-based column to be retrieved. + + An optional token to cancel the asynchronous operation. The default value is . + + true if the specified column value is equivalent to otherwise false. + + + + Gets the column ordinal given the name of the column. + + The name of the column. + The zero-based column ordinal. + + + + Gets a representation of the PostgreSQL data type for the specified field. + The returned representation can be used to access various information about the field. + + The zero-based column index. + + + + Gets the data type information for the specified field. + This is the PostgreSQL type name (e.g. double precision), not the .NET type + (see for that). + + The zero-based column index. + + + + Gets the OID for the PostgreSQL type for the specified field, as it appears in the pg_type table. + + + This is a PostgreSQL-internal value that should not be relied upon and should only be used for + debugging purposes. + + The zero-based column index. + + + + Gets the data type of the specified column. + + The zero-based column ordinal. + The data type of the specified column. + + + + Returns an that can be used to iterate through the rows in the data reader. + + An that can be used to iterate through the rows in the data reader. + + + + Returns schema information for the columns in the current resultset. + + + + + + Asynchronously returns schema information for the columns in the current resultset. + + + + + + Returns a System.Data.DataTable that describes the column metadata of the DataReader. + + + + + Asynchronously returns a System.Data.DataTable that describes the column metadata of the DataReader. + + + + + Seeks to the given column. The 4-byte length is read and returned. + + + + + Checks that we have a RowDescription, but not necessary an actual resultset + (for operations which work in SchemaOnly mode. + + + + + Unbinds reader from the connector. + Should be called before the connector is returned to the pool. + + + + + + + + + + + Contains the connection string returned to the user from + after the connection has been opened. Does not contain the password unless Persist Security Info=true. + + + + + Information about PostgreSQL and PostgreSQL-like databases (e.g. type definitions, capabilities...). + + + + + Semaphore to ensure we don't perform type loading and mapping setup concurrently for this data source. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Creates a command ready for use against this . + + An optional SQL for the command. + + + + Creates a batch ready for use against this . + + + + + Creates a new for the given . + + + + + Creates a new for the given . + + + + + Manually sets the password to be used the next time a physical connection is opened. + Consider using instead. + + + + + + + + + + + + + + + + + Provides a simple API for configuring and creating an , from which database connections can be obtained. + + + + + A diagnostics name used by Npgsql when generating tracing, logging and metrics. + + + + + + + + A connection string builder that can be used to configured the connection string on the builder. + + + + + Returns the connection string, as currently configured on the builder. + + + + + Constructs a new , optionally starting out from the given . + + + + + Sets the that will be used for logging. + + The logger factory to be used. + The same builder instance so that multiple calls can be chained. + + + + Enables parameters to be included in logging. This includes potentially sensitive information from data sent to PostgreSQL. + You should only enable this flag in development, or if you have the appropriate security measures in place based on the + sensitivity of this data. + + If , then sensitive data is logged. + The same builder instance so that multiple calls can be chained. + + + + Configures the JSON serializer options used when reading and writing all System.Text.Json data. + + Options to customize JSON serialization and deserialization. + + + + + Sets up dynamic System.Text.Json mappings. This allows mapping arbitrary .NET types to PostgreSQL json and jsonb + types, as well as and its derived types. + + + A list of CLR types to map to PostgreSQL jsonb (no need to specify ). + + + A list of CLR types to map to PostgreSQL json (no need to specify ). + + + Due to the dynamic nature of these mappings, they are not compatible with NativeAOT or trimming. + + + + + Sets up mappings for the PostgreSQL record type as a .NET or . + + The same builder instance so that multiple calls can be chained. + + + + Sets up mappings allowing the use of unmapped enum, range and multirange types. + + The same builder instance so that multiple calls can be chained. + + + + When using SSL/TLS, this is a callback that allows customizing how the PostgreSQL-provided certificate is verified. This is an + advanced API, consider using or instead. + + The callback containing custom callback verification logic. + + + Cannot be used in conjunction with , or + . + + + See . + + + The same builder instance so that multiple calls can be chained. + + + + Specifies an SSL/TLS certificate which Npgsql will send to PostgreSQL for certificate-based authentication. + + The client certificate to be sent to PostgreSQL when opening a connection. + The same builder instance so that multiple calls can be chained. + + + + Specifies a collection of SSL/TLS certificates which Npgsql will send to PostgreSQL for certificate-based authentication. + + The client certificate collection to be sent to PostgreSQL when opening a connection. + The same builder instance so that multiple calls can be chained. + + + + Specifies a callback to modify the collection of SSL/TLS client certificates which Npgsql will send to PostgreSQL for + certificate-based authentication. This is an advanced API, consider using or + instead. + + The callback to modify the client certificate collection. + + + The callback is invoked every time a physical connection is opened, and is therefore suitable for rotating short-lived client + certificates. Simply make sure the certificate collection argument has the up-to-date certificate(s). + + + The callback's collection argument already includes any client certificates specified via the connection string or environment + variables. + + + The same builder instance so that multiple calls can be chained. + + + + Sets the that will be used validate SSL certificate, received from the server. + + The CA certificate. + The same builder instance so that multiple calls can be chained. + + + + Specifies a callback that will be used to validate SSL certificate, received from the server. + + The callback to get CA certificate. + The same builder instance so that multiple calls can be chained. + + This overload, which accepts a callback, is suitable for scenarios where the certificate rotates + and might change during the lifetime of the application. + When that's not the case, use the overload which directly accepts the certificate. + + + + + Configures a periodic password provider, which is automatically called by the data source at some regular interval. This is the + recommended way to fetch a rotating access token. + + A callback which returns the password to be sent to PostgreSQL. + How long to cache the password before re-invoking the callback. + + If a password refresh attempt fails, it will be re-attempted with this interval. + This should typically be much lower than . + + The same builder instance so that multiple calls can be chained. + + + The provided callback is invoked in a timer, and not when opening connections. It therefore doesn't affect opening time. + + + The provided cancellation token is only triggered when the entire data source is disposed. If you'd like to apply a timeout to the + token fetching, do so within the provided callback. + + + + + + Configures a password provider, which is called by the data source when opening connections. + + + A callback that may be invoked during which returns the password to be sent to PostgreSQL. + + + A callback that may be invoked during which returns the password to be sent to PostgreSQL. + + The same builder instance so that multiple calls can be chained. + + + The provided callback is invoked when opening connections. Therefore its important the callback internally depends on cached + data or returns quickly otherwise. Any unnecessary delay will affect connection opening time. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Register a connection initializer, which allows executing arbitrary commands when a physical database connection is first opened. + + + A synchronous connection initialization lambda, which will be called from when a new physical + connection is opened. + + + An asynchronous connection initialization lambda, which will be called from + when a new physical connection is opened. + + + If an initializer is registered, both sync and async versions must be provided. If you do not use sync APIs in your code, simply + throw , which would also catch accidental cases of sync opening. + + + Take care that the setting you apply in the initializer does not get reverted when the connection is returned to the pool, since + Npgsql sends DISCARD ALL by default. The option can be used to + turn this off. + + The same builder instance so that multiple calls can be chained. + + + + Builds and returns an which is ready for use. + + + + + Builds and returns a which is ready for use for load-balancing and failover scenarios. + + + + + The exception that is thrown when server-related issues occur. + + + PostgreSQL errors (e.g. query SQL issues, constraint violations) are raised via + which is a subclass of this class. + Purely Npgsql-related issues which aren't related to the server will be raised + via the standard CLR exceptions (e.g. ArgumentException). + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Initializes a new instance of the class with a specified error message. + + The message that describes the error. + + + + Specifies whether the exception is considered transient, that is, whether retrying the operation could + succeed (e.g. a network error or a timeout). + + + + + If the exception was thrown as a result of executing a , references the within + the batch which triggered the exception. Otherwise . + + + + + Initializes a new instance of the class with serialized data. + + The SerializationInfo that holds the serialized object data about the exception being thrown. + The StreamingContext that contains contextual information about the source or destination. + + + + A factory to create instances of various Npgsql objects. + + + + + Gets an instance of the . + This can be used to retrieve strongly typed data objects. + + + + + Returns a strongly typed instance. + + + + + Returns a strongly typed instance. + + + + + Returns a strongly typed instance. + + + + + Returns a strongly typed instance. + + + + + Returns a strongly typed instance. + + + + + Returns a strongly typed instance. + + + + + Gets the service object of the specified type. + + An object that specifies the type of service object to get. + A service object of type serviceType, or null if there is no service object of type serviceType. + + + + Large object manager. This class can be used to store very large files in a PostgreSQL database. + + + + + The largest chunk size (in bytes) read and write operations will read/write each roundtrip to the network. Default 4 MB. + + + + + Creates an NpgsqlLargeObjectManager for this connection. The connection must be opened to perform remote operations. + + + + + + Execute a function + + + + + Execute a function that returns a byte array + + + + + + Create an empty large object in the database. If an oid is specified but is already in use, an PostgresException will be thrown. + + A preferred oid, or specify 0 if one should be automatically assigned + The oid for the large object created + If an oid is already in use + + + + Create an empty large object in the database. If an oid is specified but is already in use, an PostgresException will be thrown. + + A preferred oid, or specify 0 if one should be automatically assigned + + An optional token to cancel the asynchronous operation. The default value is . + + The oid for the large object created + If an oid is already in use + + + + Opens a large object on the backend, returning a stream controlling this remote object. + A transaction snapshot is taken by the backend when the object is opened with only read permissions. + When reading from this object, the contents reflects the time when the snapshot was taken. + Note that this method, as well as operations on the stream must be wrapped inside a transaction. + + Oid of the object + An NpgsqlLargeObjectStream + + + + Opens a large object on the backend, returning a stream controlling this remote object. + A transaction snapshot is taken by the backend when the object is opened with only read permissions. + When reading from this object, the contents reflects the time when the snapshot was taken. + Note that this method, as well as operations on the stream must be wrapped inside a transaction. + + Oid of the object + + An optional token to cancel the asynchronous operation. The default value is . + + An NpgsqlLargeObjectStream + + + + Opens a large object on the backend, returning a stream controlling this remote object. + Note that this method, as well as operations on the stream must be wrapped inside a transaction. + + Oid of the object + An NpgsqlLargeObjectStream + + + + Opens a large object on the backend, returning a stream controlling this remote object. + Note that this method, as well as operations on the stream must be wrapped inside a transaction. + + Oid of the object + + An optional token to cancel the asynchronous operation. The default value is . + + An NpgsqlLargeObjectStream + + + + Deletes a large object on the backend. + + Oid of the object to delete + + + + Deletes a large object on the backend. + + Oid of the object to delete + + An optional token to cancel the asynchronous operation. The default value is . + + + + + Exports a large object stored in the database to a file on the backend. This requires superuser permissions. + + Oid of the object to export + Path to write the file on the backend + + + + Exports a large object stored in the database to a file on the backend. This requires superuser permissions. + + Oid of the object to export + Path to write the file on the backend + + An optional token to cancel the asynchronous operation. The default value is . + + + + + Imports a large object to be stored as a large object in the database from a file stored on the backend. This requires superuser permissions. + + Path to read the file on the backend + A preferred oid, or specify 0 if one should be automatically assigned + + + + Imports a large object to be stored as a large object in the database from a file stored on the backend. This requires superuser permissions. + + Path to read the file on the backend + A preferred oid, or specify 0 if one should be automatically assigned + + An optional token to cancel the asynchronous operation. The default value is . + + + + + Since PostgreSQL 9.3, large objects larger than 2GB can be handled, up to 4TB. + This property returns true whether the PostgreSQL version is >= 9.3. + + + + + An interface to remotely control the seekable stream for an opened large object on a PostgreSQL server. + Note that the OpenRead/OpenReadWrite method as well as all operations performed on this stream must be wrapped inside a database transaction. + + + + + Since PostgreSQL 9.3, large objects larger than 2GB can be handled, up to 4TB. + This property returns true whether the PostgreSQL version is >= 9.3. + + + + + Reads count bytes from the large object. The only case when fewer bytes are read is when end of stream is reached. + + The buffer where read data should be stored. + The offset in the buffer where the first byte should be read. + The maximum number of bytes that should be read. + How many bytes actually read, or 0 if end of file was already reached. + + + + Reads count bytes from the large object. The only case when fewer bytes are read is when end of stream is reached. + + The buffer where read data should be stored. + The offset in the buffer where the first byte should be read. + The maximum number of bytes that should be read. + + An optional token to cancel the asynchronous operation. The default value is . + + How many bytes actually read, or 0 if end of file was already reached. + + + + Writes count bytes to the large object. + + The buffer to write data from. + The offset in the buffer at which to begin copying bytes. + The number of bytes to write. + + + + Writes count bytes to the large object. + + The buffer to write data from. + The offset in the buffer at which to begin copying bytes. + The number of bytes to write. + + An optional token to cancel the asynchronous operation. The default value is . + + + + + CanTimeout always returns false. + + + + + CanRead always returns true, unless the stream has been closed. + + + + + CanWrite returns true if the stream was opened with write permissions, and the stream has not been closed. + + + + + CanSeek always returns true, unless the stream has been closed. + + + + + Returns the current position in the stream. Getting the current position does not need a round-trip to the server, however setting the current position does. + + + + + Gets the length of the large object. This internally seeks to the end of the stream to retrieve the length, and then back again. + + + + + Gets the length of the large object. This internally seeks to the end of the stream to retrieve the length, and then back again. + + + An optional token to cancel the asynchronous operation. The default value is . + + + + + Seeks in the stream to the specified position. This requires a round-trip to the backend. + + A byte offset relative to the origin parameter. + A value of type SeekOrigin indicating the reference point used to obtain the new position. + + + + + Seeks in the stream to the specified position. This requires a round-trip to the backend. + + A byte offset relative to the origin parameter. + A value of type SeekOrigin indicating the reference point used to obtain the new position. + + An optional token to cancel the asynchronous operation. The default value is . + + + + + Does nothing. + + + + + Truncates or enlarges the large object to the given size. If enlarging, the large object is extended with null bytes. + For PostgreSQL versions earlier than 9.3, the value must fit in an Int32. + + Number of bytes to either truncate or enlarge the large object. + + + + Truncates or enlarges the large object to the given size. If enlarging, the large object is extended with null bytes. + For PostgreSQL versions earlier than 9.3, the value must fit in an Int32. + + Number of bytes to either truncate or enlarge the large object. + + An optional token to cancel the asynchronous operation. The default value is . + + + + + Releases resources at the backend allocated for this stream. + + + + + Releases resources at the backend allocated for this stream, iff disposing is true. + + Whether to release resources allocated at the backend. + + + + Configures Npgsql logging + + + + + Determines whether parameter contents will be logged alongside SQL statements - this may reveal sensitive information. + Defaults to false. + + + + + + Globally initializes Npgsql logging to use the provided . + Must be called before any Npgsql APIs are used. + + + This is a legacy-only, backwards compatibility API. New applications should set the logger factory on + and use the resulting instead. + + + The logging factory to use when logging from Npgsql. + + Determines whether parameter contents will be logged alongside SQL statements - this may reveal sensitive information. + Defaults to . + + + + + An which manages connections for multiple hosts, is aware of their states (primary, secondary, + offline...) and can perform failover and load balancing across them. + + + See . + + + + + Returns a new, unopened connection from this data source. + + Specifies the server type (e.g. primary, standby). + + + + Returns a new, opened connection from this data source. + + Specifies the server type (e.g. primary, standby). + + + + Returns a new, opened connection from this data source. + + Specifies the server type (e.g. primary, standby). + + An optional token to cancel the asynchronous operation. The default value is . + + + + + Returns an that wraps this multi-host one with the given server type. + + Specifies the server type (e.g. primary, standby). + + + + Clears the database state (primary, secondary, offline...) for all data sources managed by this multi-host data source. + Can be useful to make Npgsql retry a PostgreSQL instance which was previously detected to be offline. + + + + + Reads a forward-only stream of rows from a nested data source. + Can be retrieved using or + . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Returns a nested data reader for the requested column. + The column type must be a record or a to Npgsql known composite type, or an array thereof. + + The zero-based column ordinal. + A data reader. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Provides information on a PostgreSQL notification. Notifications are sent when your connection has registered for + notifications on a specific channel via the LISTEN command. NOTIFY can be used to generate such notifications, + allowing for an inter-connection communication channel. + + + + + Process ID of the PostgreSQL backend that sent this notification. + + + + + The channel on which the notification was sent. + + + + + An optional payload string that was sent with this notification. + + + + + Thrown when trying to use a connection that is already busy performing some other operation. + Provides information on the already-executing operation to help with debugging. + + + + + Creates a new instance of . + + + A command which was in progress when the operation which triggered this exception was executed. + + + + + If the connection is busy with another command, this will contain a reference to that command. + Otherwise, if the connection if busy with another type of operation (e.g. COPY), contains + . + + + + + This class represents a parameter to a command that will be sent to server + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the parameter name and a value. + + The name of the parameter to map. + The value of the . + +

    + When you specify an in the value parameter, the is + inferred from the CLR type. +

    +

    + When using this constructor, you must be aware of a possible misuse of the constructor which takes a + parameter. This happens when calling this constructor passing an int 0 and the compiler thinks you are passing a value of + . Use for example to have compiler calling the correct constructor. +

    +
    +
    + + + Initializes a new instance of the class with the parameter name and the data type. + + The name of the parameter to map. + One of the values. + + + + Initializes a new instance of the . + + The name of the parameter to map. + One of the values. + + + + Initializes a new instance of the . + + The name of the parameter to map. + One of the values. + The length of the parameter. + + + + Initializes a new instance of the . + + The name of the parameter to map. + One of the values. + The length of the parameter. + + + + Initializes a new instance of the + + The name of the parameter to map. + One of the values. + The length of the parameter. + The name of the source column. + + + + Initializes a new instance of the . + + The name of the parameter to map. + One of the values. + The length of the parameter. + The name of the source column. + + + + Initializes a new instance of the . + + The name of the parameter to map. + One of the values. + The length of the parameter. + The name of the source column. + One of the values. + + if the value of the field can be , otherwise . + + + The total number of digits to the left and right of the decimal point to which is resolved. + + The total number of decimal places to which is resolved. + One of the values. + An that is the value of the . + + + + Initializes a new instance of the . + + The name of the parameter to map. + One of the values. + The length of the parameter. + The name of the source column. + One of the values. + + if the value of the field can be , otherwise . + + + The total number of digits to the left and right of the decimal point to which is resolved. + + The total number of decimal places to which is resolved. + One of the values. + An that is the value of the . + + + + Gets or sets The name of the . + + The name of the . + The default is an empty string. + + + + + + + Gets or sets the value of the parameter. + + + An that is the value of the parameter. + The default value is . + + + + + Gets or sets the of the parameter. + + One of the values. The default is . + + + + Gets or sets the of the parameter. + + One of the values. The default is . + + + + Used to specify which PostgreSQL type will be sent to the database for this parameter. + + + + + + + + + + + Gets or sets the maximum number of digits used to represent the property. + + + The maximum number of digits used to represent the property. + The default value is 0, which indicates that the data provider sets the precision for . + + + + Gets or sets the number of decimal places to which is resolved. + + The number of decimal places to which is resolved. The default is 0. + + + + + + + + + + + + + + + + The collection to which this parameter belongs, if any. + + + + + The PostgreSQL data type, such as int4 or text, as discovered from pg_type. + This property is automatically set if parameters have been derived via + and can be used to + acquire additional information about the parameters' data type. + + + + Attempt to resolve a type info based on available (postgres) type information on the parameter. + + + Bind the current value to the type info, truncate (if applicable), take its size, and do any final validation before writing. + + + + + + + Creates a new that is a copy of the current instance. + + A new that is a copy of this instance. + + + + Represents a collection of parameters relevant to a as well as their respective mappings to columns in + a . + + + + + Initializes a new instance of the NpgsqlParameterCollection class. + + + + + Gets the with the specified name. + + The name of the to retrieve. + + The with the specified name, or a reference if the parameter is not found. + + + + + Gets the at the specified index. + + The zero-based index of the to retrieve. + The at the specified index. + + + + Adds the specified object to the . + + The to add to the collection. + The index of the new object. + + + + + + + Adds a to the given the specified parameter name and + value. + + The name of the . + The value of the to add to the collection. + The parameter that was added. + + + + Adds a to the given the specified parameter name, + data type and value. + + The name of the . + One of the NpgsqlDbType values. + The value of the to add to the collection. + The parameter that was added. + + + + Adds a to the given the specified parameter name and + value. + + The name of the . + The value of the to add to the collection. + One of the values. + The length of the column. + The parameter that was added. + + + + Adds a to the given the specified parameter name and + value. + + The name of the . + The value of the to add to the collection. + One of the values. + The length of the column. + The name of the source column. + The parameter that was added. + + + + Adds a to the given the specified value. + + The value of the to add to the collection. + The parameter that was added. + + + + Adds a to the given the specified data type and value. + + One of the values. + The value of the to add to the collection. + The parameter that was added. + + + + Adds a to the given the parameter name and the data type. + + The name of the parameter. + One of the values. + The index of the new object. + + + + Adds a to the with the parameter name, the data type, + and the column length. + + The name of the parameter. + One of the values. + The length of the column. + The index of the new object. + + + + Adds a to the with the parameter name, the data type, the + column length, and the source column name. + + The name of the parameter. + One of the values. + The length of the column. + The name of the source column. + The index of the new object. + + + + + + + + + + + + + + + + Removes the specified from the collection using a specific index. + + The zero-based index of the parameter. + + + + + + + Removes the specified from the collection. + + The name of the to remove from the collection. + + + + Removes the specified from the collection. + + The to remove from the collection. + + + + + + + Gets a value indicating whether a with the specified parameter name exists in the collection. + + The name of the object to find. + + A reference to the requested parameter is returned in this out param if it is found in the list. + This value is if the parameter is not found. + + + if the collection contains the parameter and param will contain the parameter; + otherwise, . + + + + + Removes all items from the collection. + + + + + + + + + + + + + + + + + Gets the number of objects in the collection. + + The number of objects in the collection. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Report the offset within the collection of the given parameter. + + Parameter to find. + Index of the parameter, or -1 if the parameter is not present. + + + + Insert the specified parameter into the collection. + + Index of the existing parameter before which to insert the new one. + Parameter to insert. + + + + Report whether the specified parameter is present in the collection. + + Parameter to find. + True if the parameter was found, otherwise false. + + + + Remove the specified parameter from the collection. + + Parameter to remove. + True if the parameter was found and removed, otherwise false. + + + + Convert collection to a System.Array. + + Destination array. + Starting index in destination array. + + + + Convert collection to a System.Array. + + NpgsqlParameter[] + + + + The parameter collection includes no parameters. + + + + + The parameter collection includes only named parameters. + + + + + The parameter collection includes only positional parameters. + + + + + The parameter collection includes both named and positional parameters. + This is only supported when is set to . + + + + + A generic version of which provides more type safety and + avoids boxing of value types. Use instead of . + + The type of the value that will be stored in the parameter. + + + + Gets or sets the strongly-typed value of the parameter. + + + + + Gets or sets the value of the parameter. This delegates to . + + + + + Initializes a new instance of . + + + + + Initializes a new instance of with a parameter name and value. + + + + + Initializes a new instance of with a parameter name and type. + + + + + Initializes a new instance of with a parameter name and type. + + + + + Provides an API for a raw binary COPY operation, a high-performance data import/export mechanism to + a PostgreSQL table. Initiated by + + + See https://www.postgresql.org/docs/current/static/sql-copy.html. + + + + + The copy binary format header signature + + + + + Cancels and terminates an ongoing operation. Any data already written will be discarded. + + + + + Cancels and terminates an ongoing operation. Any data already written will be discarded. + + + + + Writer for a text import, initiated by . + + + See https://www.postgresql.org/docs/current/static/sql-copy.html. + + + + + Cancels and terminates an ongoing import. Any data already written will be discarded. + + + + + Cancels and terminates an ongoing import. Any data already written will be discarded. + + + + + Reader for a text export, initiated by . + + + See https://www.postgresql.org/docs/current/static/sql-copy.html. + + + + + Cancels and terminates an ongoing export. + + + + + Asynchronously cancels and terminates an ongoing export. + + + + + Provides the underlying mechanism for reading schema information. + + + + + Returns the MetaDataCollections that lists all possible collections. + + The MetaDataCollections + + + + Returns the Restrictions that contains the meaning and position of the values in the restrictions array. + + The Restrictions + + + + Populates some generic type information that is common for base types, arrays, enums, etc. Some will + be overridden later. + + + + + Sets some custom, hardcoded info on a DataType row that cannot be loaded/inferred from PostgreSQL + + + + + List of keywords taken from PostgreSQL 9.0 reserved words documentation. + + + + + Provides a simple API for configuring and creating an , from which database connections can be obtained. + + + On this builder, various features are disabled by default; unless you're looking to save on code size (e.g. when publishing with + NativeAOT), use instead. + + + + + A connection string builder that can be used to configured the connection string on the builder. + + + + + Returns the connection string, as currently configured on the builder. + + + + + A diagnostics name used by Npgsql when generating tracing, logging and metrics. + + + + + Constructs a new , optionally starting out from the given + . + + + + + Sets the that will be used for logging. + + The logger factory to be used. + The same builder instance so that multiple calls can be chained. + + + + Enables parameters to be included in logging. This includes potentially sensitive information from data sent to PostgreSQL. + You should only enable this flag in development, or if you have the appropriate security measures in place based on the + sensitivity of this data. + + If , then sensitive data is logged. + The same builder instance so that multiple calls can be chained. + + + + Configures the JSON serializer options used when reading and writing all System.Text.Json data. + + Options to customize JSON serialization and deserialization. + + + + + When using SSL/TLS, this is a callback that allows customizing how the PostgreSQL-provided certificate is verified. This is an + advanced API, consider using or instead. + + The callback containing custom callback verification logic. + + + Cannot be used in conjunction with , or + . + + + See . + + + The same builder instance so that multiple calls can be chained. + + + + Specifies an SSL/TLS certificate which Npgsql will send to PostgreSQL for certificate-based authentication. + + The client certificate to be sent to PostgreSQL when opening a connection. + The same builder instance so that multiple calls can be chained. + + + + Specifies a collection of SSL/TLS certificates which Npgsql will send to PostgreSQL for certificate-based authentication. + + The client certificate collection to be sent to PostgreSQL when opening a connection. + The same builder instance so that multiple calls can be chained. + + + + Specifies a callback to modify the collection of SSL/TLS client certificates which Npgsql will send to PostgreSQL for + certificate-based authentication. This is an advanced API, consider using or + instead. + + The callback to modify the client certificate collection. + + + The callback is invoked every time a physical connection is opened, and is therefore suitable for rotating short-lived client + certificates. Simply make sure the certificate collection argument has the up-to-date certificate(s). + + + The callback's collection argument already includes any client certificates specified via the connection string or environment + variables. + + + The same builder instance so that multiple calls can be chained. + + + + Sets the that will be used validate SSL certificate, received from the server. + + The CA certificate. + The same builder instance so that multiple calls can be chained. + + + + Specifies a callback that will be used to validate SSL certificate, received from the server. + + The callback to get CA certificate. + The same builder instance so that multiple calls can be chained. + + This overload, which accepts a callback, is suitable for scenarios where the certificate rotates + and might change during the lifetime of the application. + When that's not the case, use the overload which directly accepts the certificate. + + The same builder instance so that multiple calls can be chained. + + + + Configures a periodic password provider, which is automatically called by the data source at some regular interval. This is the + recommended way to fetch a rotating access token. + + A callback which returns the password to be sent to PostgreSQL. + How long to cache the password before re-invoking the callback. + + If a password refresh attempt fails, it will be re-attempted with this interval. + This should typically be much lower than . + + The same builder instance so that multiple calls can be chained. + + + The provided callback is invoked in a timer, and not when opening connections. It therefore doesn't affect opening time. + + + The provided cancellation token is only triggered when the entire data source is disposed. If you'd like to apply a timeout to the + token fetching, do so within the provided callback. + + + The same builder instance so that multiple calls can be chained. + + + + Configures a password provider, which is called by the data source when opening connections. + + + A callback that may be invoked during which returns the password to be sent to PostgreSQL. + + + A callback that may be invoked during which returns the password to be sent to PostgreSQL. + + The same builder instance so that multiple calls can be chained. + + + The provided callback is invoked when opening connections. Therefore its important the callback internally depends on cached + data or returns quickly otherwise. Any unnecessary delay will affect connection opening time. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Sets up mappings for the PostgreSQL array types. + + The same builder instance so that multiple calls can be chained. + + + + Sets up mappings for the PostgreSQL range types. + + The same builder instance so that multiple calls can be chained. + + + + Sets up mappings for the PostgreSQL multirange types. + + The same builder instance so that multiple calls can be chained. + + + + Sets up mappings for the PostgreSQL record type as a .NET object[]. + + The same builder instance so that multiple calls can be chained. + + + + Sets up mappings for the PostgreSQL tsquery and tsvector types. + + The same builder instance so that multiple calls can be chained. + + + + Sets up mappings for the PostgreSQL ltree extension types. + + The same builder instance so that multiple calls can be chained. + + + + Sets up mappings for extra conversions from PostgreSQL to .NET types. + + The same builder instance so that multiple calls can be chained. + + + + Enables the possibility to use TLS/SSl encryption for connections to PostgreSQL. This does not guarantee that encryption will + actually be used; see for more details. + + The same builder instance so that multiple calls can be chained. + + + + Enables the possibility to use GSS/SSPI authentication for connections to PostgreSQL. This does not guarantee that it will + actually be used; see for more details. + + The same builder instance so that multiple calls can be chained. + + + + Sets up dynamic System.Text.Json mappings. This allows mapping arbitrary .NET types to PostgreSQL json and jsonb + types, as well as and its derived types. + + + A list of CLR types to map to PostgreSQL jsonb (no need to specify ). + + + A list of CLR types to map to PostgreSQL json (no need to specify ). + + + Due to the dynamic nature of these mappings, they are not compatible with NativeAOT or trimming. + + + + + Sets up mappings for the PostgreSQL record type as a .NET or . + + The same builder instance so that multiple calls can be chained. + + + + Sets up mappings allowing the use of unmapped enum, range and multirange types. + + The same builder instance so that multiple calls can be chained. + + + + Register a connection initializer, which allows executing arbitrary commands when a physical database connection is first opened. + + + A synchronous connection initialization lambda, which will be called from when a new physical + connection is opened. + + + An asynchronous connection initialization lambda, which will be called from + when a new physical connection is opened. + + + If an initializer is registered, both sync and async versions must be provided. If you do not use sync APIs in your code, simply + throw , which would also catch accidental cases of sync opening. + + + Take care that the setting you apply in the initializer does not get reverted when the connection is returned to the pool, since + Npgsql sends DISCARD ALL by default. The option can be used to + turn this off. + + The same builder instance so that multiple calls can be chained. + + + + Builds and returns an which is ready for use. + + + + + Builds and returns a which is ready for use for load-balancing and failover scenarios. + + + + + Options to configure Npgsql's support for OpenTelemetry tracing. + Currently no options are available. + + + + + Represents a transaction to be made in a PostgreSQL database. This class cannot be inherited. + + + + + Specifies the object associated with the transaction. + + The object associated with the transaction. + + + + Specifies the object associated with the transaction. + + The object associated with the transaction. + + + + If true, the transaction has been committed/rolled back, but not disposed. + + + + + Specifies the isolation level for this transaction. + + The isolation level for this transaction. The default is . + + + + Commits the database transaction. + + + + + Commits the database transaction. + + + An optional token to cancel the asynchronous operation. The default value is . + + + + + Rolls back a transaction from a pending state. + + + + + Rolls back a transaction from a pending state. + + + An optional token to cancel the asynchronous operation. The default value is . + + + + + Creates a transaction save point. + + The name of the savepoint. + + This method does not cause a database roundtrip to be made. The savepoint creation statement will instead be sent along with + the next command. + + + + + Creates a transaction save point. + + The name of the savepoint. + + An optional token to cancel the asynchronous operation. The default value is . + + + This method does not cause a database roundtrip to be made, and will therefore always complete synchronously. + The savepoint creation statement will instead be sent along with the next command. + + + + + Rolls back a transaction from a pending savepoint state. + + The name of the savepoint. + + + + Rolls back a transaction from a pending savepoint state. + + The name of the savepoint. + + An optional token to cancel the asynchronous operation. The default value is . + + + + + Releases a transaction from a pending savepoint state. + + The name of the savepoint. + + + + Releases a transaction from a pending savepoint state. + + The name of the savepoint. + + An optional token to cancel the asynchronous operation. The default value is . + + + + + Indicates whether this transaction supports database savepoints. + + + + + Disposes the transaction, rolling it back if it is still pending. + + + + + Disposes the transaction, rolling it back if it is still pending. + + + + + Disposes the transaction, without rolling back. Used only in special circumstances, e.g. when + the connection is broken. + + + + + Unbinds transaction from the connector. + Should be called before the connector is returned to the pool. + + + + + Represents a .pgpass file, which contains passwords for noninteractive connections + + + + + File name being parsed for credentials + + + + + Initializes a new instance of the class + + + + + + Parses file content and gets all credentials from the file + + corresponding to all lines in the .pgpass file + + + + Searches queries loaded from .PGPASS file to find first entry matching the provided parameters. + + Hostname to query. Use null to match any. + Port to query. Use null to match any. + Database to query. Use null to match any. + User name to query. Use null to match any. + Matching if match was found. Otherwise, returns null. + + + + Represents a hostname, port, database, username, and password combination that has been retrieved from a .pgpass file + + + + + Hostname parsed from the .pgpass file + + + + + Port parsed from the .pgpass file + + + + + Database parsed from the .pgpass file + + + + + User name parsed from the .pgpass file + + + + + Password parsed from the .pgpass file + + + + + This class represents an entry from the .pgpass file + + Hostname parsed from the .pgpass file + Port parsed from the .pgpass file + Database parsed from the .pgpass file + User name parsed from the .pgpass file + Password parsed from the .pgpass file + + + + Creates new based on string in the format hostname:port:database:username:password. The : and \ characters should be escaped with a \. + + string for the entry from the pgpass file + New instance of for the string + Entry is not formatted as hostname:port:database:username:password or non-wildcard port is not a number + + + + Checks whether this matches the parameters supplied + + Hostname to check against this entry + Port to check against this entry + Database to check against this entry + Username to check against this entry + True if the entry is a match. False otherwise. + + + + Checks if 2 strings are a match for a considering that either value can be a wildcard (*) + + Value being searched + Value from the PGPASS entry + True if the values are a match. False otherwise. + + + + Tracks all connectors currently managed by this pool, whether idle or busy. + Only updated rarely - when physical connections are opened/closed - but is read in perf-sensitive contexts. + + + + + Reader side for the idle connector channel. Contains nulls in order to release waiting attempts after + a connector has been physically closed/broken. + + + + + Incremented every time this pool is cleared via or + . Allows us to identify connections which were + created before the clear. + + + + + Provides lookup for a pool based on a connection string. + + + Note that pools created directly as are referenced directly by users, and aren't managed here. + + + + + Resets the pool manager to its initial state, for test purposes only. + Assumes that no other threads are accessing the pool. + + + + + The default implementation of , for standard PostgreSQL databases.. + + + + + + + + The default implementation of NpgsqlDatabase, for standard PostgreSQL databases. + + + + + The PostgreSQL types detected in the database. + + + + + + + + The PostgreSQL version string as returned by the version() function. Populated during loading. + + + + + True if the backend is Amazon Redshift; otherwise, false. + + + + + + + + True if the 'pg_enum' table includes the 'enumsortorder' column; otherwise, false. + + + + + True if the 'pg_type' table includes the 'typcategory' column; otherwise, false. + + + pg_type.typcategory is added after 8.4. + see: https://www.postgresql.org/docs/8.4/static/catalog-pg-type.html#CATALOG-TYPCATEGORY-TABLE + + + + + Loads database information from the PostgreSQL database specified by . + + The database connection. + The timeout while loading types from the backend. + True to load types asynchronously. + + A task representing the asynchronous operation. + + + + + Generates a raw SQL query string to select type information. + + + Select all types (base, array which is also base, enum, range, composite). + Note that arrays are distinguished from primitive types through them having typreceive=array_recv. + Order by primitives first, container later. + For arrays and ranges, join in the element OID and type (to filter out arrays of unhandled + types). + + + + + Loads type information from the backend specified by . + + The database connection. + The timeout while loading types from the backend. + True to load types asynchronously. + + A collection of types loaded from the backend. + + + Unknown typtype for type '{internalName}' in pg_type: {typeChar}. + + + + Provides constants for PostgreSQL error codes. + + + See https://www.postgresql.org/docs/current/static/errcodes-appendix.html + + + + + The exception that is thrown when the PostgreSQL backend reports errors (e.g. query + SQL issues, constraint violations). + + + This exception only corresponds to a PostgreSQL-delivered error. + Other errors (e.g. network issues) will be raised via , + and purely Npgsql-related issues which aren't related to the server will be raised + via the standard CLR exceptions (e.g. ). + + See https://www.postgresql.org/docs/current/static/errcodes-appendix.html, + https://www.postgresql.org/docs/current/static/protocol-error-fields.html + + + + + Creates a new instance. + + + + + Creates a new instance. + + + + + Populates a with the data needed to serialize the target object. + + The to populate with data. + The destination (see ) for this serialization. + + + + + + + Specifies whether the exception is considered transient, that is, whether retrying the operation could + succeed (e.g. a network error). Check . + + + + + Severity of the error or notice. + Always present. + + + + + Severity of the error or notice, not localized. + Always present since PostgreSQL 9.6. + + + + + The SQLSTATE code for the error. + + + Always present. + Constants are defined in . + See https://www.postgresql.org/docs/current/static/errcodes-appendix.html + + + + + The primary human-readable error message. This should be accurate but terse. + + + Always present. + + + + + An optional secondary error message carrying more detail about the problem. + May run to multiple lines. + + + + + An optional suggestion what to do about the problem. + This is intended to differ from Detail in that it offers advice (potentially inappropriate) rather than hard facts. + May run to multiple lines. + + + + + The field value is a decimal ASCII integer, indicating an error cursor position as an index into the original query string. + The first character has index 1, and positions are measured in characters not bytes. + 0 means not provided. + + + + + This is defined the same as the field, but it is used when the cursor position refers to an internally generated command rather than the one submitted by the client. + The field will always appear when this field appears. + 0 means not provided. + + + + + The text of a failed internally-generated command. + This could be, for example, a SQL query issued by a PL/pgSQL function. + + + + + An indication of the context in which the error occurred. + Presently this includes a call stack traceback of active PL functions. + The trace is one entry per line, most recent first. + + + + + If the error was associated with a specific database object, the name of the schema containing that object, if any. + + PostgreSQL 9.3 and up. + + + + Table name: if the error was associated with a specific table, the name of the table. + (Refer to the schema name field for the name of the table's schema.) + + PostgreSQL 9.3 and up. + + + + If the error was associated with a specific table column, the name of the column. + (Refer to the schema and table name fields to identify the table.) + + PostgreSQL 9.3 and up. + + + + If the error was associated with a specific data type, the name of the data type. + (Refer to the schema name field for the name of the data type's schema.) + + PostgreSQL 9.3 and up. + + + + If the error was associated with a specific constraint, the name of the constraint. + Refer to fields listed above for the associated table or domain. + (For this purpose, indexes are treated as constraints, even if they weren't created with constraint syntax.) + + PostgreSQL 9.3 and up. + + + + The file name of the source-code location where the error was reported. + + PostgreSQL 9.3 and up. + + + + The line number of the source-code location where the error was reported. + + + + + The name of the source-code routine reporting the error. + + + + + PostgreSQL notices are non-critical messages generated by PostgreSQL, either as a result of a user query + (e.g. as a warning or informational notice), or due to outside activity (e.g. if the database administrator + initiates a "fast" database shutdown). + + + https://www.postgresql.org/docs/current/static/protocol-flow.html#PROTOCOL-ASYNC + + + + + Severity of the error or notice. + Always present. + + + + + Severity of the error or notice, not localized. + Always present since PostgreSQL 9.6. + + + + + The SQLSTATE code for the error. + + + Always present. + See https://www.postgresql.org/docs/current/static/errcodes-appendix.html + + + + + The primary human-readable error message. This should be accurate but terse. + + + Always present. + + + + + An optional secondary error message carrying more detail about the problem. + May run to multiple lines. + + + + + An optional suggestion what to do about the problem. + This is intended to differ from Detail in that it offers advice (potentially inappropriate) rather than hard facts. + May run to multiple lines. + + + + + The field value is a decimal ASCII integer, indicating an error cursor position as an index into the original query string. + The first character has index 1, and positions are measured in characters not bytes. + 0 means not provided. + + + + + This is defined the same as the field, but it is used when the cursor position refers to an internally generated command rather than the one submitted by the client. + The field will always appear when this field appears. + 0 means not provided. + + + + + The text of a failed internally-generated command. + This could be, for example, a SQL query issued by a PL/pgSQL function. + + + + + An indication of the context in which the error occurred. + Presently this includes a call stack traceback of active PL functions. + The trace is one entry per line, most recent first. + + + + + If the error was associated with a specific database object, the name of the schema containing that object, if any. + + PostgreSQL 9.3 and up. + + + + Table name: if the error was associated with a specific table, the name of the table. + (Refer to the schema name field for the name of the table's schema.) + + PostgreSQL 9.3 and up. + + + + If the error was associated with a specific table column, the name of the column. + (Refer to the schema and table name fields to identify the table.) + + PostgreSQL 9.3 and up. + + + + If the error was associated with a specific data type, the name of the data type. + (Refer to the schema name field for the name of the data type's schema.) + + PostgreSQL 9.3 and up. + + + + If the error was associated with a specific constraint, the name of the constraint. + Refer to fields listed above for the associated table or domain. + (For this purpose, indexes are treated as constraints, even if they weren't created with constraint syntax.) + + PostgreSQL 9.3 and up. + + + + The file name of the source-code location where the error was reported. + + PostgreSQL 9.3 and up. + + + + The line number of the source-code location where the error was reported. + + + + + The name of the source-code routine reporting the error. + + + + + Creates a new instance. + + + + + Creates a new instance. + + + + + Provides data for a PostgreSQL notice event. + + + + + The Notice that was sent from the database. + + + + + Represents a PostgreSQL array data type, which can hold several multiple values in a single column. + + + See https://www.postgresql.org/docs/current/static/arrays.html. + + + + + The PostgreSQL data type of the element contained within this array. + + + + + Constructs a representation of a PostgreSQL array data type. + + + + + Constructs a representation of a PostgreSQL array data type. + + + + + + + + Represents a PostgreSQL base data type, which is a simple scalar value. + + + + + Constructs a representation of a PostgreSQL base data type. + + + + + Constructs a representation of a PostgreSQL base data type. + + + + + + + + Represents a PostgreSQL composite data type, which can hold multiple fields of varying types in a single column. + + + See https://www.postgresql.org/docs/current/static/rowtypes.html. + + + + + Holds the name and types for all fields. + + + + + Constructs a representation of a PostgreSQL array data type. + + + + + Constructs a representation of a PostgreSQL domain data type. + + + + + Represents a field in a PostgreSQL composite data type. + + + + + The name of the composite field. + + + + + The type of the composite field. + + + + + + + + Represents a PostgreSQL domain type. + + + See https://www.postgresql.org/docs/current/static/sql-createdomain.html. + + When PostgreSQL returns a RowDescription for a domain type, the type OID is the base type's + (so fetching a domain type over text returns a RowDescription for text). + However, when a composite type is returned, the type OID there is that of the domain, + so we provide "clean" support for domain types. + + + + + The PostgreSQL data type of the base type, i.e. the type this domain is based on. + + + + + True if the domain has a NOT NULL constraint, otherwise false. + + + + + Constructs a representation of a PostgreSQL domain data type. + + + + + Constructs a representation of a PostgreSQL domain data type. + + + + + Represents a PostgreSQL enum data type. + + + See https://www.postgresql.org/docs/current/static/datatype-enum.html. + + + + + The enum's fields. + + + + + Constructs a representation of a PostgreSQL enum data type. + + + + + Constructs a representation of a PostgreSQL enum data type. + + + + + Represents a PostgreSQL multirange data type. + + +

    See https://www.postgresql.org/docs/current/static/rangetypes.html.

    +

    Multirange types were introduced in PostgreSQL 14.

    +
    +
    + + + The PostgreSQL data type of the range of this multirange. + + + + + Constructs a representation of a PostgreSQL multirange data type. + + + + + Constructs a representation of a PostgreSQL multirange data type. + + + + + Represents a PostgreSQL range data type. + + + See https://www.postgresql.org/docs/current/static/rangetypes.html. + + + + + The PostgreSQL data type of the subtype of this range. + + + + + The PostgreSQL data type of the multirange of this range. + + + + + Constructs a representation of a PostgreSQL range data type. + + + + + Constructs a representation of a PostgreSQL range data type. + + + + + Represents a PostgreSQL data type, such as int4 or text, as discovered from pg_type. + This class is abstract, see derived classes for concrete types of PostgreSQL types. + + + Instances of this class are shared between connections to the same databases. + For more info about what this class and its subclasses represent, see + https://www.postgresql.org/docs/current/static/catalog-pg-type.html. + + + + + Constructs a representation of a PostgreSQL data type. + + The data type's namespace (or schema). + The data type's name. + The data type's OID. + + + + Constructs a representation of a PostgreSQL data type. + + The data type's fully qualified name. + The data type's OID. + + + + The data type's OID - a unique id identifying the data type in a given database (in pg_type). + + + + + The data type's namespace (or schema). + + + + + The data type's name. + + + Note that this is the standard, user-displayable type name (e.g. integer[]) rather than the internal + PostgreSQL name as it is in pg_type (_int4). See for the latter. + + + + + The full name of the backend type, including its namespace. + + + + + A display name for this backend type, including the namespace unless it is pg_catalog (the namespace + for all built-in types). + + + + + The data type's internal PostgreSQL name (e.g. _int4 not integer[]). + See for a more user-friendly name. + + + + + If a PostgreSQL array type exists for this type, it will be referenced here. + Otherwise null. + + + + + If a PostgreSQL range type exists for this type, it will be referenced here. + Otherwise null. + + + + + Generates the type name including any facts (size, precision, scale), given the PostgreSQL type modifier. + + + + + Returns a string that represents the current object. + + + + Canonizes (nested) domain types to underlying types, does not handle composites. + + + A base type. + + + An enum carrying its variants. + + + A pseudo type like anyarray. + + + + Represents a PostgreSQL data type that isn't known to Npgsql and cannot be handled. + + + + + Constructs a the unknown backend type. + + + + + Internally represents a statement has been prepared, is in the process of being prepared, or is a + candidate for preparation (i.e. awaiting further usages). + + + + + If true, the user explicitly requested this statement be prepared. It does not get closed as part of + the automatic preparation LRU mechanism. + + + + + If this statement is about to be prepared, but replaces a previous statement which needs to be closed, + this holds the name of the previous statement. Otherwise null. + + + + + Contains the handler types for a prepared statement's parameters, for overloaded cases (same SQL, different param types) + Only populated after the statement has been prepared (i.e. null for candidates). + + + + + The state of a . + + + + + The statement hasn't been prepared yet, nor is it in the process of being prepared. + This is the value for autoprepare candidates which haven't been prepared yet, and is also + a temporary state during preparation. + + + + + The statement is in the process of being prepared. + + + + + The statement has been fully prepared and can be executed. + + + + + The statement is in the process of being unprepared. This is a temporary state that only occurs during + unprepare. Specifically, it means that a Close message for the statement has already been written + to the write buffer. + + + + + The statement has been unprepared and is no longer usable. + + + + + The statement was invalidated because e.g. table schema has changed since preparation. + + + + + Total number of current prepared statements (whether explicit or automatic). + + + + + This API is for internal use and for implementing logical replication plugins. + It is not meant to be consumed in common Npgsql usage scenarios. + + + + + This API is for internal use and for implementing logical replication plugins. + It is not meant to be consumed in common Npgsql usage scenarios. + + + Creates a new replication slot and returns information about the newly-created slot. + + The to use for creating the + replication slot + The name of the slot to create. Must be a valid replication slot name (see + + https://www.postgresql.org/docs/current/warm-standby.html#STREAMING-REPLICATION-SLOTS-MANIPULATION). + + The name of the output plugin used for logical decoding (see + + https://www.postgresql.org/docs/current/logicaldecoding-output-plugin.html). + + if this replication slot shall be temporary one; otherwise + . Temporary slots are not saved to disk and are automatically dropped on error or + when the session has finished. + A to specify what to do with the + snapshot created during logical slot initialization. , which is + also the default, will export the snapshot for use in other sessions. This option can't be used inside a + transaction. will use the snapshot for the current transaction + executing the command. This option must be used in a transaction, and + must be the first command run in that transaction. Finally, will + just use the snapshot for logical decoding as normal but won't do anything else with it. + + If , this logical replication slot supports decoding of two-phase transactions. With this option, + two-phase commands like PREPARE TRANSACTION, COMMIT PREPARED and ROLLBACK PREPARED are decoded and transmitted. + The transaction will be decoded and transmitted at PREPARE TRANSACTION time. The default is . + + + An optional token to cancel the asynchronous operation. The default value is . + + A representing a class that + can be used to initialize instances of subclasses. + + + + Instructs the server to start streaming the WAL for logical replication, starting at WAL location + or at the slot's consistent point if isn't specified. + The server can reply with an error, for example if the requested section of the WAL has already been recycled. + + The to use for starting replication + The replication slot that will be updated as replication progresses so that the server + knows which WAL segments are still needed by the standby. + + The token to monitor for stopping the replication. + The WAL location to begin streaming at. + The collection of options passed to the slot's logical decoding plugin. + + Whether the plugin will be bypassing and reading directly from the buffer. + + A representing an that + can be used to stream WAL entries in form of instances. + + + + Contains information about a newly-created logical replication slot. + + + + + Creates a new logical replication slot + + The logical decoding output plugin to the corresponding replication slot was created for. + A struct with information to create the replication slot. + + + + The identifier of the snapshot exported by the command. + The snapshot is valid until a new command is executed on this connection or the replication connection is closed. + + + + + The name of the output plugin used by the newly-created logical replication slot. + + + + + The WAL location at which the slot became consistent. + This is the earliest location from which streaming can start on this replication slot. + + + + + Represents a logical replication connection to a PostgreSQL server. + + + + + Initializes a new instance of . + + + + + Initializes a new instance of with the given connection string. + + The connection used to open the PostgreSQL database. + + + + Decides what to do with the snapshot created during logical slot initialization. + + + + + Export the snapshot for use in other sessions. This is the default. + This option can't be used inside a transaction. + + + + + Use the snapshot for the current transaction executing the command. + This option must be used in a transaction, and CREATE_REPLICATION_SLOT must be the first command run + in that transaction. + + + + + Just use the snapshot for logical decoding as normal but don't do anything else with it. + + + + + Logical Replication Protocol begin message + + + + + The final LSN of the transaction. + + + + + Commit timestamp of the transaction. + The value is in number of microseconds since PostgreSQL epoch (2000-01-01). + + + + + Logical Replication Protocol begin prepare message + + + + + Logical Replication Protocol commit message + + + + + Flags; currently unused. + + + + + The LSN of the commit. + + + + + The end LSN of the transaction. + + + + + Commit timestamp of the transaction. + + + + + Flags for the commit. + + + + + No flags. + + + + + Logical Replication Protocol commit prepared message + + + + + Flags for the commit prepared; currently unused. + + + + + The LSN of the commit prepared. + + + + + The end LSN of the commit prepared transaction. + + + + + Commit timestamp of the transaction. + + + + + Flags for the commit prepared; currently unused. + + + + + No flags. + + + + + Logical Replication Protocol update message for tables with REPLICA IDENTITY set to DEFAULT. + + + + + Columns representing the new row. + + + + + Abstract base class for Logical Replication Protocol delete message types. + + + + + The relation for this . + + + + + Logical Replication Protocol delete message for tables with REPLICA IDENTITY REPLICA IDENTITY set to FULL. + + + + + Columns representing the deleted row. + + + + + Logical Replication Protocol update message for tables with REPLICA IDENTITY set to FULL. + + + + + Columns representing the old row. + + + + + Columns representing the new row. + + + + + Logical Replication Protocol update message for tables with REPLICA IDENTITY set to USING INDEX. + + + + + Columns representing the key. + + + + + Columns representing the new row. + + + + + Logical Replication Protocol insert message + + + + + The relation for this . + + + + + Columns representing the new row. + + + + + Logical Replication Protocol delete message for tables with REPLICA IDENTITY set to DEFAULT or USING INDEX. + + + + + Columns representing the key. + + + + + Logical Replication Protocol logical decoding message + + + + + Flags; Either 0 for no flags or 1 if the logical decoding message is transactional. + + + + + The LSN of the logical decoding message. + + + + + The prefix of the logical decoding message. + + + + + The content of the logical decoding message. + + + + + Logical Replication Protocol origin message + + + + + The LSN of the commit on the origin server. + + + + + Name of the origin. + + + + + The base class of all Logical Replication Protocol Messages + + + See https://www.postgresql.org/docs/current/protocol-logicalrep-message-formats.html for details about the + protocol. + + + + + + + + Abstract base class for Logical Replication Protocol prepare and begin prepare message + + + + + The user defined GID of the two-phase transaction. + + + + + Logical Replication Protocol prepare message + + + + + Flags for the prepare; currently unused. + + + + + Flags for the prepare; currently unused. + + + + + No flags. + + + + + Abstract base class for the logical replication protocol begin prepare and prepare message + + + + + The LSN of the prepare. + + + + + The end LSN of the prepared transaction. + + + + + Prepare timestamp of the transaction. + + + + + Logical Replication Protocol relation message + + + + + ID of the relation. + + + + + Namespace (empty string for pg_catalog). + + + + + Relation name. + + + + + Replica identity setting for the relation (same as relreplident in pg_class): + columns used to form “replica identity” for rows. + + + + + Relation columns + + + + + Represents a column in a Logical Replication Protocol relation message + + + + + Flags for the column. + + + + + Name of the column. + + + + + ID of the column's data type. + + + + + Type modifier of the column (atttypmod). + + + + + Flags for the column. + + + + + No flags. + + + + + Marks the column as part of the key. + + + + + Replica identity setting for the relation (same as relreplident in pg_class). + + + See + + + + + Default (primary key, if any). + + + + + Nothing. + + + + + All columns. + + + + + Index with indisreplident set (same as nothing if the index used has been dropped) + + + + + Represents a column in a Logical Replication Protocol relation message + + + + + Flags for the column. Currently can be either 0 for no flags or 1 which marks the column as part of the key. + + + + + Name of the column. + + + + + ID of the column's data type. + + + + + Type modifier of the column (atttypmod). + + + + + Logical Replication Protocol rollback prepared message + + + + + Flags for the rollback prepared; currently unused. + + + + + The end LSN of the prepared transaction. + + + + + The end LSN of the rollback prepared transaction. + + + + + Prepare timestamp of the transaction. + + + + + Rollback timestamp of the transaction. + + + + + Flags for the rollback prepared; currently unused. + + + + + No flags. + + + + + Logical Replication Protocol stream abort message + + + + + Xid of the subtransaction (will be same as xid of the transaction for top-level transactions). + + + + + Logical Replication Protocol stream commit message + + + + + Flags; currently unused (must be 0). + + + + + The LSN of the commit. + + + + + The end LSN of the transaction. + + + + + Commit timestamp of the transaction. + + + + + Logical Replication Protocol stream prepare message + + + + + Flags for the prepare; currently unused. + + + + + Flags for the prepare; currently unused. + + + + + No flags. + + + + + Logical Replication Protocol stream start message + + + + + A value of 1 indicates this is the first stream segment for this XID, 0 for any other stream segment. + + + + + Logical Replication Protocol stream stop message + + + + + The common base class for all streaming replication messages that can be part of a streaming transaction (protocol V2) + + + + + Xid of the transaction (only present for streamed transactions). + + + + + The common base class for all replication messages that set the transaction xid of a transaction + + + + + Xid of the transaction. + + + + + Logical Replication Protocol truncate message + + + + + Option flags for TRUNCATE + + + + + The relations being truncated. + + + + + Enum representing the additional options for the TRUNCATE command as flags + + + + + No additional option was specified + + + + + CASCADE was specified + + + + + RESTART IDENTITY was specified + + + + + Logical Replication Protocol type message + + + + + ID of the data type. + + + + + Namespace (empty string for pg_catalog). + + + + + Name of the data type. + + + + + Abstract base class for Logical Replication Protocol delete message types. + + + + + The relation for this . + + + + + Columns representing the new row. + + + + + Options to be passed to the pgoutput plugin + + + + + Creates a new instance of . + + The publication names to include into the stream + The version of the logical streaming replication protocol + Send values in binary representation + Enable streaming of in-progress transactions + Write logical decoding messages into the replication stream + Enable streaming of prepared transactions + + + + Creates a new instance of . + + The publication names to include into the stream + The version of the logical streaming replication protocol + Send values in binary representation + Enable streaming of in-progress transactions + Write logical decoding messages into the replication stream + Enable streaming of prepared transactions + + + + The version of the Logical Streaming Replication Protocol + + + + + The publication names to stream + + + + + Send values in binary representation + + + This works in PostgreSQL versions 14+ + + + + + Enable streaming of in-progress transactions + + + This works as of logical streaming replication protocol version 2 (PostgreSQL 14+) + + + + + Write logical decoding messages into the replication stream + + + This works in PostgreSQL versions 14+ + + + + + Enable streaming of prepared transactions + + + This works in PostgreSQL versions 15+ + + + + + + + + + + + + + + Acts as a proxy for a logical replication slot initialized for for the logical streaming replication protocol + (pgoutput logical decoding plugin). + + + + + Creates a new instance. + + + Create a instance with this + constructor to wrap an existing PostgreSQL replication slot that has + been initialized for the pgoutput logical decoding plugin. + + The name of the existing replication slot + + + + Creates a new instance. + + + Create a instance with this + constructor to wrap an existing PostgreSQL replication slot that has + been initialized for the pgoutput logical decoding plugin. + + The representing the existing replication slot + + + + Creates a new instance. + + + This constructor is intended to be consumed by plugins sitting on top of + + + The from which the new instance should be initialized + + + + Represents a streaming tuple containing . + + + + + The number of columns in the tuple. + + + + + + + + Represents a column value in a logical replication session. + + + + + The length of the value in bytes. + + + + + The kind of data transmitted for a tuple in a Logical Replication Protocol message. + + + + + Gets a value that indicates whether the column contains nonexistent or missing values. + + true if the specified column is equivalent to ; otherwise false. + + + + Gets a value that indicates whether the column contains an unchanged TOASTed value (the actual value is not sent). + + Whether the specified column is an unchanged TOASTed value. + + + + Gets a representation of the PostgreSQL data type for the specified field. + The returned representation can be used to access various information about the field. + + + + + Gets the data type information for the specified field. + This is be the PostgreSQL type name (e.g. double precision), not the .NET type + (see for that). + + + + + Gets the data type of the specified column. + + The data type of the specified column. + + + + Gets the value of the specified column as a type. + + The type of the value to be returned. + + An optional token to cancel the asynchronous operation. The default value is . + + + + + + Gets the value of the specified column as an instance of . + + + An optional token to cancel the asynchronous operation. The default value is . + + + + + + Retrieves data as a . + + + + + Retrieves data as a . + + + + + The kind of data transmitted for a tuple in a Logical Replication Protocol message. + + + + + Identifies the data as NULL value. + + + + + Identifies unchanged TOASTed value (the actual value is not sent). + + + + + Identifies the data as text formatted value. + + + + + Identifies the data as binary value. + + Added in PG14 + + + + Extension methods to use with the pg_output logical decoding plugin. + + + + + Creates a class that wraps a replication slot using the + "pgoutput" logical decoding plugin and can be used to start streaming replication via the logical + streaming replication protocol. + + + See https://www.postgresql.org/docs/current/protocol-logical-replication.html + and https://www.postgresql.org/docs/current/protocol-logicalrep-message-formats.html + for more information. + + The to use for creating the replication slot + The name of the slot to create. Must be a valid replication slot name (see + https://www.postgresql.org/docs/current/warm-standby.html#STREAMING-REPLICATION-SLOTS-MANIPULATION). + + + if this replication slot shall be temporary one; otherwise . + Temporary slots are not saved to disk and are automatically dropped on error or when the session has finished. + + + A to specify what to do with the snapshot created during logical slot + initialization. , which is also the default, will export the + snapshot for use in other sessions. This option can't be used inside a transaction. + will use the snapshot for the current transaction executing the + command. This option must be used in a transaction, and must be the + first command run in that transaction. Finally, will just use + the snapshot for logical decoding as normal but won't do anything else with it. + + + If , this logical replication slot supports decoding of two-phase transactions. With this option, + two-phase commands like PREPARE TRANSACTION, COMMIT PREPARED and ROLLBACK PREPARED are decoded and transmitted. + The transaction will be decoded and transmitted at PREPARE TRANSACTION time. The default is . + + + An optional token to cancel the asynchronous operation. The default value is . + + + A that wraps the newly-created replication slot. + + + + + Instructs the server to start the Logical Streaming Replication Protocol (pgoutput logical decoding plugin), + starting at WAL location or at the slot's consistent point if + isn't specified. + The server can reply with an error, for example if the requested section of the WAL has already been recycled. + + The to use for starting replication + The replication slot that will be updated as replication progresses so that the server + knows which WAL segments are still needed by the standby. + + The collection of options passed to the slot's logical decoding plugin. + The token to monitor for stopping the replication. + The WAL location to begin streaming at. + A representing an that + can be used to stream WAL entries in form of instances. + + + + Represents a physical replication connection to a PostgreSQL server. + + + + + Initializes a new instance of . + + + + + Initializes a new instance of with the given connection string. + + The connection used to open the PostgreSQL database. + + + + Creates a that wraps a PostgreSQL physical replication slot and + can be used to start physical streaming replication + + + The name of the slot to create. Must be a valid replication slot name + (see Section 26.2.6.1). + + + if this replication slot shall be a temporary one; otherwise + . Temporary slots are not saved to disk and are automatically dropped on error or + when the session has finished. + + + If this is set to this physical replication slot reserves WAL immediately. Otherwise, + WAL is only reserved upon connection from a streaming replication client. + + + An optional token to cancel the asynchronous operation. The default value is . + + A representing a that represents the + newly-created replication slot. + + + + + Read some information associated to a replication slot. + + This command is currently only supported for physical replication slots. + + + + The name of the slot to read. Must be a valid replication slot name + + + An optional token to cancel the asynchronous operation. The default value is . + + A representing a or + if the replication slot does not exist. + + + + Instructs the server to start streaming the WAL for physical replication, starting at WAL location + . The server can reply with an error, for example if the requested + section of the WAL has already been recycled. + + + If the client requests a timeline that's not the latest but is part of the history of the server, the server + will stream all the WAL on that timeline starting from the requested start point up to the point where the + server switched to another timeline. + + + The replication slot that will be updated as replication progresses so that the server + knows which WAL segments are still needed by the standby. + + The WAL location to begin streaming at. + The token to be used for stopping the replication. + Streaming starts on timeline tli. + A representing an that + can be used to stream WAL entries in form of instances. + + + + Instructs the server to start streaming the WAL for logical replication, starting at WAL location + . The server can reply with an error, for example if the requested + section of WAL has already been recycled. + + + If the client requests a timeline that's not the latest but is part of the history of the server, the server + will stream all the WAL on that timeline starting from the requested start point up to the point where the + server switched to another timeline. + + The WAL location to begin streaming at. + The token to be used for stopping the replication. + Streaming starts on timeline tli. + A representing an that + can be used to stream WAL entries in form of instances. + + + + Instructs the server to start streaming the WAL for physical replication, starting at the WAL location + and timeline id specified in . The server can reply with an error, for example + if the requested section of the WAL has already been recycled. + + + If the client requests a timeline that's not the latest but is part of the history of the server, the server + will stream all the WAL on that timeline starting from the requested start point up to the point where the + server switched to another timeline. + + + The replication slot that will be updated as replication progresses so that the server + knows which WAL segments are still needed by the standby. + + The must contain a valid to be used for this overload. + + + The token to be used for stopping the replication. + A representing an that + can be used to stream WAL entries in form of instances. + + + + Wraps a replication slot that uses physical replication. + + + + + Creates a new instance. + + + Create a instance with this constructor to wrap an existing PostgreSQL replication slot + that has been initialized for physical replication. + + The name of the existing replication slot + The replication slot's restart_lsn + The timeline ID associated to restart_lsn, following the current timeline history. + + + + The replication slot's restart_lsn. + + + + + The timeline ID associated to restart_lsn, following the current timeline history. + + + + + Defines the core behavior of replication connections and provides the base class for + and + . + + + + + Gets or sets the string used to connect to a PostgreSQL database. See the manual for details. + + + The connection string that includes the server name, the database name, and other parameters needed to establish the initial + connection. The default value is an empty string. + + + Since replication connections are a special kind of connection, + , , + and + are always disabled no matter what you set them to in your connection string. + + + + + The location of the last WAL byte + 1 received in the standby. + + + + + The location of the last WAL byte + 1 flushed to disk in the standby. + + + + + The location of the last WAL byte + 1 applied (e. g. written to disk) in the standby. + + + + + Send replies at least this often. + Timeout. disables automated replies. + + + + + Time that receiver waits for communication from master. + Timeout. disables the timeout. + + + + + The version of the PostgreSQL server we're connected to. + +

    + This can only be called when the connection is open. +

    +

    + In case of a development or pre-release version this field will contain + the version of the next version to be released from this branch. +

    +
    +
    +
    + + + The PostgreSQL server version as returned by the server_version option. + + This can only be called when the connection is open. + + + + + + Gets or sets the wait time before terminating the attempt to execute a command and generating an error. + + The time to wait for the command to execute. The default value is 30 seconds. + + + + The client encoding for the connection + This can only be called when there is an active connection. + + + + + Process id of backend server. + This can only be called when there is an active connection. + + + + + Opens a database replication connection with the property settings specified by the + . + + + An optional token to cancel the asynchronous operation. The default value is . + + A task representing the asynchronous open operation. + + + + Closes the replication connection and performs tasks associated + with freeing, releasing, or resetting its unmanaged resources asynchronously. + + A task that represents the asynchronous dispose operation. + + + + Requests the server to identify itself. + + + An optional token to cancel the asynchronous operation. The default value is . + + + A containing information about the system we are connected to. + + + + + Requests the server to send the current setting of a run-time parameter. + This is similar to the SQL command SHOW. + + The name of a run-time parameter. + Available parameters are documented in https://www.postgresql.org/docs/current/runtime-config.html. + + + An optional token to cancel the asynchronous operation. The default value is . + + The current setting of the run-time parameter specified in as . + + + + Requests the server to send over the timeline history file for timeline tli. + + The timeline for which the history file should be sent. + + An optional token to cancel the asynchronous operation. The default value is . + + The timeline history file for timeline tli + + + + Sets the current status of the replication as it is interpreted by the consuming client. The value supplied + in will be sent to the server via and + with the next status update. + + A status update which will happen upon server request, upon expiration of + our upon an enforced status update via , whichever happens first. + If you want the value you set here to be pushed to the server immediately (e. g. in synchronous replication scenarios), + call after calling this method. + + + + This is a convenience method setting both and in one operation. + You can use it if your application processes replication messages in a way that doesn't care about the difference between + writing a message and flushing it to a permanent storage medium. + + The location of the last WAL byte + 1 applied (e. g. processed or written to disk) and flushed to disk in the standby. + + + + Sends a forced status update to PostgreSQL with the current WAL tracking information. + + The connection currently isn't streaming + A Task representing the sending of the status update (and not any PostgreSQL response). + + + + Drops a replication slot, freeing any reserved server-side resources. + If the slot is a logical slot that was created in a database other than + the database the walsender is connected to, this command fails. + + The name of the slot to drop. + + causes the command to wait until the slot becomes + inactive if it currently is active instead of the default behavior of raising an error. + + + An optional token to cancel the asynchronous operation. The default value is . + + A task representing the asynchronous drop operation. + + + + The common base class for all streaming replication messages + + + + + The starting point of the WAL data in this message. + + + + + The current end of WAL on the server. + + + + + The server's system clock at the time this message was transmitted, as microseconds since midnight on 2000-01-01. + + + Since the client using Npgsql and the server may be located in different time zones, + as of Npgsql 7.0 this value is no longer converted to local time but keeps its original value in UTC. + You can check if you don't want to introduce behavior depending on Npgsql versions. + + + + + Contains information about a newly-created replication slot. + + + + + The name of the newly-created replication slot. + + + + + Contains information about a replication slot. + + + + + Creates a new instance. + + + The name of the replication slot. + + + The WAL location at which the slot became consistent. + + + + + Creates a new instance. + + + The name of the replication slot. + + + The WAL location at which the slot became consistent. + + + + + The name of the replication slot. + + + + + The WAL location at which the slot became consistent. + + + + + The identifier of the snapshot exported by the CREATE_REPLICATION_SLOT command. + + + + + Contains server identification information returned from . + + + + + The unique system identifier identifying the cluster. + This can be used to check that the base backup used to initialize the standby came from the same cluster. + + + + + Current timeline ID. Also useful to check that the standby is consistent with the master. + + + + + Current WAL flush location. Useful to get a known location in the write-ahead log where streaming can start. + + + + + Database connected to. + + + + + Text representations of PostgreSQL WAL operations decoded by the "test_decoding" plugin. See + https://www.postgresql.org/docs/current/test-decoding.html. + + + + + Decoded text representation of the operation performed in this WAL entry + + + + + + + + Returns a clone of this message, which can be accessed after other replication messages have been retrieved. + + + + + Options to be passed to the test_decoding plugin + + + + + Creates a new instance of . + + Include the transaction number for BEGIN and COMMIT command output + Include the timestamp for COMMIT command output + Set the output mode to binary + Skip output for transactions that didn't change the database + Only output data that don't have the replication origin set + Include output from table rewrites that were caused by DDL statements + Enable streaming output + + + + Include the transaction number for BEGIN and COMMIT command output + + + + + Include the timestamp for COMMIT command output + + + + + Set the output mode to binary + + + + + Skip output for transactions that didn't change the database + + + + + Only output data that don't have the replication origin set + + + + + Include output from table rewrites that were caused by DDL statements + + + + + Enable streaming output + + + + + + + + + + + + + + Acts as a proxy for a logical replication slot + initialized for for the test_decoding logical decoding plugin. + + + + + Creates a new instance. + + + Create a instance with this + constructor to wrap an existing PostgreSQL replication slot that has + been initialized for the test_decoding logical decoding plugin. + + The name of the existing replication slot + + + + Creates a new instance. + + + Create a instance with this + constructor to wrap an existing PostgreSQL replication slot that has + been initialized for the test_decoding logical decoding plugin. + + The representing the existing replication slot + + + + Extension methods to use with the + test_decoding logical decoding plugin. + See https://www.postgresql.org/docs/current/test-decoding.html. + + + + + Creates a class that wraps a replication slot using the + test_decoding logical decoding plugin. + + + See https://www.postgresql.org/docs/current/test-decoding.html + for more information. + + The to use for creating the + replication slot + The name of the slot to create. Must be a valid replication slot name (see + https://www.postgresql.org/docs/current/warm-standby.html#STREAMING-REPLICATION-SLOTS-MANIPULATION). + + + if this replication slot shall be temporary one; otherwise . + Temporary slots are not saved to disk and are automatically dropped on error or when the session has finished. + + + A to specify what to do with the snapshot created during logical slot + initialization. , which is also the default, will export the + snapshot for use in other sessions. This option can't be used inside a transaction. + will use the snapshot for the current transaction executing the + command. This option must be used in a transaction, and must be the + first command run in that transaction. Finally, will just use + the snapshot for logical decoding as normal but won't do anything else with it. + + + If , this logical replication slot supports decoding of two-phase transactions. With this option, + two-phase commands like PREPARE TRANSACTION, COMMIT PREPARED and ROLLBACK PREPARED are decoded and transmitted. + The transaction will be decoded and transmitted at PREPARE TRANSACTION time. The default is . + + + An optional token to cancel the asynchronous operation. The default value is . + + + A that wraps the newly-created replication slot. + + + + + Instructs the server to start streaming the WAL for logical replication using the test_decoding logical decoding plugin, + starting at WAL location or at the slot's consistent point if + isn't specified. + The server can reply with an error, for example if the requested section of the WAL has already been recycled. + + The to use for starting replication + The replication slot that will be updated as replication progresses so that the server + knows which WAL segments are still needed by the standby. + + The token to monitor for stopping the replication. + The collection of options passed to the slot's logical decoding plugin. + The WAL location to begin streaming at. + A representing an that + can be used to stream WAL entries in form of instances. + + + + Represents a PostgreSQL timeline history file + + + + + File name of the timeline history file, e.g., 00000002.history. + + + + + Contents of the timeline history file. + + + + + A message representing a section of the WAL data stream. + + + + + A section of the WAL data stream that is raw WAL data in physical replication or decoded with the selected + logical decoding plugin in logical replication. It is only valid until the next + is requested from the stream. + + + A single WAL record is never split across two XLogData messages. + When a WAL record crosses a WAL page boundary, and is therefore already split using continuation records, + it can be split at the page boundary. In other words, the first main WAL record and its continuation + records can be sent in different XLogData messages. + + + + + Stripped-down version of , mainly to support Amazon Redshift. + + + + + Performs some post-setup configuration that's common to both table columns and non-columns. + + + + + Provides schema information about a column. + + + Note that this can correspond to a field returned in a query which isn't an actual table column + + See https://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqldatareader.getschematable(v=vs.110).aspx + for information on the meaning of the different fields. + + + + + Initializes a new instance of the class. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The describing the type of this column. + + + + + The OID of the type of this column in the PostgreSQL pg_type catalog table. + + + + + The OID of the PostgreSQL table of this column. + + + + + The column's position within its table. Note that this is different from , + which is the column's position within the resultset. + + + + + The default SQL expression for this column. + + + + + The value for this column's type. + + + + + + + +

    + Receives a user SQL query as passed in by the user in or + , and rewrites it for PostgreSQL compatibility. +

    +

    + This includes doing rewriting named parameter placeholders to positional (@p => $1), and splitting the query + up by semicolons (legacy batching, SELECT 1; SELECT 2). +

    +
    + The user-facing being executed. + Whether PostgreSQL standards-conforming are used. + + A bool indicating whether parameters contains a list of preconfigured parameters or an empty list to be filled with derived + parameters. + +
    + + +

    + Receives a user SQL query as passed in by the user in or + , and rewrites it for PostgreSQL compatibility. +

    +

    + This includes doing rewriting named parameter placeholders to positional (@p => $1), and splitting the query + up by semicolons (legacy batching, SELECT 1; SELECT 2). +

    +
    + The user-facing being executed. + Whether PostgreSQL standards-conforming are used. + + A bool indicating whether parameters contains a list of preconfigured parameters or an empty list to be filled with derived + parameters. + +
    + + + Specifies server type preference. + + + + + Any successful connection is acceptable. + + + + + Session must accept read-write transactions by default (that is, the server must not be in hot standby mode and the + default_transaction_read_only parameter must be off). + + + + + Session must not accept read-write transactions by default (the converse). + + + + + Server must not be in hot standby mode. + + + + + Server must be in hot standby mode. + + + + + First try to find a primary server, but if none of the listed hosts is a primary server, try again in mode. + + + + + First try to find a standby server, but if none of the listed hosts is a standby server, try again in mode. + + + + + Utility class to execute a potentially non-cancellable while allowing to timeout and/or cancel awaiting for it and at the same time prevent event if the original fails later. + + + + + Executes a potentially non-cancellable while allowing to timeout and/or cancel awaiting for it. + If the given task does not complete within , a is thrown. + The executed may be left in an incomplete state after the that this method returns completes dues to timeout and/or cancellation request. + The method guarantees that the abandoned, incomplete is not going to produce event if it fails later. + + Gets the for execution with a combined that attempts to cancel the in an event of the timeout or external cancellation request. + The timeout after which the should be faulted with a if it hasn't otherwise completed. + The to monitor for a cancellation request. + The result . + The representing the asynchronous wait. + + + + Executes a potentially non-cancellable while allowing to timeout and/or cancel awaiting for it. + If the given task does not complete within , a is thrown. + The executed may be left in an incomplete state after the that this method returns completes dues to timeout and/or cancellation request. + The method guarantees that the abandoned, incomplete is not going to produce event if it fails later. + + Gets the for execution with a combined that attempts to cancel the in an event of the timeout or external cancellation request. + The timeout after which the should be faulted with a if it hasn't otherwise completed. + The to monitor for a cancellation request. + The representing the asynchronous wait. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A type mapper, managing how to read and write CLR values to PostgreSQL data types. + + + The preferred way to manage type mappings is on . An alternative, but discouraged, method, is to + manage them globally via ). + + + + + The default name translator to convert CLR type names and member names. Defaults to . + + + + + Maps a CLR enum to a PostgreSQL enum type. + + + CLR enum labels are mapped by name to PostgreSQL enum labels. + The translation strategy can be controlled by the parameter, + which defaults to . + You can also use the on your enum fields to manually specify a PostgreSQL enum label. + If there is a discrepancy between the .NET and database labels while an enum is read or written, + an exception will be raised. + + + A PostgreSQL type name for the corresponding enum type in the database. + If null, the name translator given in will be used. + + + A component which will be used to translate CLR names (e.g. SomeClass) into database names (e.g. some_class). + Defaults to . + + The .NET enum type to be mapped + + + + Removes an existing enum mapping. + + + A PostgreSQL type name for the corresponding enum type in the database. + If null, the name translator given in will be used. + + + A component which will be used to translate CLR names (e.g. SomeClass) into database names (e.g. some_class). + Defaults to . + + + + + Maps a CLR enum to a PostgreSQL enum type. + + + CLR enum labels are mapped by name to PostgreSQL enum labels. + The translation strategy can be controlled by the parameter, + which defaults to . + You can also use the on your enum fields to manually specify a PostgreSQL enum label. + If there is a discrepancy between the .NET and database labels while an enum is read or written, + an exception will be raised. + + The .NET enum type to be mapped + + A PostgreSQL type name for the corresponding enum type in the database. + If null, the name translator given in will be used. + + + A component which will be used to translate CLR names (e.g. SomeClass) into database names (e.g. some_class). + Defaults to . + + + + + Removes an existing enum mapping. + + The .NET enum type to be mapped + + A PostgreSQL type name for the corresponding enum type in the database. + If null, the name translator given in will be used. + + + A component which will be used to translate CLR names (e.g. SomeClass) into database names (e.g. some_class). + Defaults to . + + + + + Maps a CLR type to a PostgreSQL composite type. + + + CLR fields and properties by string to PostgreSQL names. + The translation strategy can be controlled by the parameter, + which defaults to . + You can also use the on your members to manually specify a PostgreSQL name. + If there is a discrepancy between the .NET type and database type while a composite is read or written, + an exception will be raised. + + + A PostgreSQL type name for the corresponding composite type in the database. + If null, the name translator given in will be used. + + + A component which will be used to translate CLR names (e.g. SomeClass) into database names (e.g. some_class). + Defaults to . + + The .NET type to be mapped + + + + Removes an existing composite mapping. + + + A PostgreSQL type name for the corresponding composite type in the database. + If null, the name translator given in will be used. + + + A component which will be used to translate CLR names (e.g. SomeClass) into database names (e.g. some_class). + Defaults to + + + + + Maps a CLR type to a composite type. + + + Maps CLR fields and properties by string to PostgreSQL names. + The translation strategy can be controlled by the parameter, + which defaults to . + If there is a discrepancy between the .NET type and database type while a composite is read or written, + an exception will be raised. + + The .NET type to be mapped. + + A PostgreSQL type name for the corresponding composite type in the database. + If null, the name translator given in will be used. + + + A component which will be used to translate CLR names (e.g. SomeClass) into database names (e.g. some_class). + Defaults to . + + + + + Removes an existing composite mapping. + + The .NET type to be unmapped. + + A PostgreSQL type name for the corresponding composite type in the database. + If null, the name translator given in will be used. + + + A component which will be used to translate CLR names (e.g. SomeClass) into database names (e.g. some_class). + Defaults to . + + + + + Adds a type info resolver factory which can add or modify support for PostgreSQL types. + Typically used by plugins. + + The type resolver factory to be added. + + + + Configures the JSON serializer options used when reading and writing all System.Text.Json data. + + Options to customize JSON serialization and deserialization. + + + + + Sets up dynamic System.Text.Json mappings. This allows mapping arbitrary .NET types to PostgreSQL json and jsonb + types, as well as and its derived types. + + + A list of CLR types to map to PostgreSQL jsonb (no need to specify ). + + + A list of CLR types to map to PostgreSQL json (no need to specify ). + + + Due to the dynamic nature of these mappings, they are not compatible with NativeAOT or trimming. + + + + + Sets up mappings for the PostgreSQL record type as a .NET or . + + The same builder instance so that multiple calls can be chained. + + + + Sets up mappings allowing the use of unmapped enum, range and multirange types. + + The same builder instance so that multiple calls can be chained. + + + + Resets all mapping changes performed on this type mapper and reverts it to its original, starting state. + + + + + The base class for user type mappings. + + + + + The name of the PostgreSQL type that this mapping is for. + + + + + The CLR type that this mapping is for. + + + + + Represents a timeout that will expire at some point. + + + + + A wrapper around to simplify reset management. + + + Since there's no way to reset a once it was cancelled, + we need to make sure that an existing cancellation token source hasn't been cancelled, + every time we start it (see https://github.com/dotnet/runtime/issues/4694). + + + + + Used, so we wouldn't concurently use the cts for the cancellation, while it's being disposed + + + + + Set the timeout on the wrapped + and make sure that it hasn't been cancelled yet + + + An optional token to cancel the asynchronous operation. The default value is . + + The from the wrapped + + + + Restart the timeout on the wrapped without reinitializing it, + even if is already set to + + + + + Reset the wrapper to contain a unstarted and uncancelled + in order make sure the next call to will not invalidate + the cancellation token. + + The from the wrapped + + + + Reset the wrapper to contain a unstarted and uncancelled + in order make sure the next call to will not invalidate + the cancellation token. + + + + + Set the timeout on the wrapped + to + + + can still arrive at a state + where it's value is if the + passed to gets a cancellation request. + If this is the case it will be resolved upon the next call to + or . Calling multiple times or without calling + first will do no any harm (besides eating a tiny amount of CPU cycles). + + + + + Cancel the wrapped + + + + + Cancel the wrapped after delay + + + + + The from the wrapped + . + + + The token is only valid after calling + and before calling the next time. + Otherwise you may end up with a token that has already been + cancelled or belongs to a cancellation token source that has + been disposed. + + + + + Allocation free helper function to find if version is greater than expected + + + + + + + + Note that a connection may be closed before its TransactionScope completes. In this case we close the NpgsqlConnection + as usual but the connector in a special list in the pool; it will be closed only when the scope completes. + + + + + Represents a PostgreSQL data type that can be written or read to the database. + Used in places such as to unambiguously specify + how to encode or decode values. + + + See https://www.postgresql.org/docs/current/static/datatype.html. + + + + + Corresponds to the PostgreSQL 8-byte "bigint" type. + + See https://www.postgresql.org/docs/current/static/datatype-numeric.html + + + + Corresponds to the PostgreSQL 8-byte floating-point "double" type. + + See https://www.postgresql.org/docs/current/static/datatype-numeric.html + + + + Corresponds to the PostgreSQL 4-byte "integer" type. + + See https://www.postgresql.org/docs/current/static/datatype-numeric.html + + + + Corresponds to the PostgreSQL arbitrary-precision "numeric" type. + + See https://www.postgresql.org/docs/current/static/datatype-numeric.html + + + + Corresponds to the PostgreSQL floating-point "real" type. + + See https://www.postgresql.org/docs/current/static/datatype-numeric.html + + + + Corresponds to the PostgreSQL 2-byte "smallint" type. + + See https://www.postgresql.org/docs/current/static/datatype-numeric.html + + + + Corresponds to the PostgreSQL "money" type. + + See https://www.postgresql.org/docs/current/static/datatype-money.html + + + + Corresponds to the PostgreSQL "boolean" type. + + See https://www.postgresql.org/docs/current/static/datatype-boolean.html + + + + Corresponds to the PostgreSQL geometric "box" type. + + See https://www.postgresql.org/docs/current/static/datatype-geometric.html + + + + Corresponds to the PostgreSQL geometric "circle" type. + + See https://www.postgresql.org/docs/current/static/datatype-geometric.html + + + + Corresponds to the PostgreSQL geometric "line" type. + + See https://www.postgresql.org/docs/current/static/datatype-geometric.html + + + + Corresponds to the PostgreSQL geometric "lseg" type. + + See https://www.postgresql.org/docs/current/static/datatype-geometric.html + + + + Corresponds to the PostgreSQL geometric "path" type. + + See https://www.postgresql.org/docs/current/static/datatype-geometric.html + + + + Corresponds to the PostgreSQL geometric "point" type. + + See https://www.postgresql.org/docs/current/static/datatype-geometric.html + + + + Corresponds to the PostgreSQL geometric "polygon" type. + + See https://www.postgresql.org/docs/current/static/datatype-geometric.html + + + + Corresponds to the PostgreSQL "char(n)" type. + + See https://www.postgresql.org/docs/current/static/datatype-character.html + + + + Corresponds to the PostgreSQL "text" type. + + See https://www.postgresql.org/docs/current/static/datatype-character.html + + + + Corresponds to the PostgreSQL "varchar" type. + + See https://www.postgresql.org/docs/current/static/datatype-character.html + + + + Corresponds to the PostgreSQL internal "name" type. + + See https://www.postgresql.org/docs/current/static/datatype-character.html + + + + Corresponds to the PostgreSQL "citext" type for the citext module. + + See https://www.postgresql.org/docs/current/static/citext.html + + + + Corresponds to the PostgreSQL "char" type. + + + This is an internal field and should normally not be used for regular applications. + + See https://www.postgresql.org/docs/current/static/datatype-text.html + + + + + Corresponds to the PostgreSQL "bytea" type, holding a raw byte string. + + See https://www.postgresql.org/docs/current/static/datatype-binary.html + + + + Corresponds to the PostgreSQL "date" type. + + See https://www.postgresql.org/docs/current/static/datatype-datetime.html + + + + Corresponds to the PostgreSQL "time" type. + + See https://www.postgresql.org/docs/current/static/datatype-datetime.html + + + + Corresponds to the PostgreSQL "timestamp" type. + + See https://www.postgresql.org/docs/current/static/datatype-datetime.html + + + + Corresponds to the PostgreSQL "timestamp with time zone" type. + + See https://www.postgresql.org/docs/current/static/datatype-datetime.html + + + + Corresponds to the PostgreSQL "interval" type. + + See https://www.postgresql.org/docs/current/static/datatype-datetime.html + + + + Corresponds to the PostgreSQL "time with time zone" type. + + See https://www.postgresql.org/docs/current/static/datatype-datetime.html + + + + Corresponds to the obsolete PostgreSQL "abstime" type. + + See https://www.postgresql.org/docs/current/static/datatype-datetime.html + + + + Corresponds to the PostgreSQL "inet" type. + + See https://www.postgresql.org/docs/current/static/datatype-net-types.html + + + + Corresponds to the PostgreSQL "cidr" type, a field storing an IPv4 or IPv6 network. + + See https://www.postgresql.org/docs/current/static/datatype-net-types.html + + + + Corresponds to the PostgreSQL "macaddr" type, a field storing a 6-byte physical address. + + See https://www.postgresql.org/docs/current/static/datatype-net-types.html + + + + Corresponds to the PostgreSQL "macaddr8" type, a field storing a 6-byte or 8-byte physical address. + + See https://www.postgresql.org/docs/current/static/datatype-net-types.html + + + + Corresponds to the PostgreSQL "bit" type. + + See https://www.postgresql.org/docs/current/static/datatype-bit.html + + + + Corresponds to the PostgreSQL "varbit" type, a field storing a variable-length string of bits. + + See https://www.postgresql.org/docs/current/static/datatype-boolean.html + + + + Corresponds to the PostgreSQL "tsvector" type. + + See https://www.postgresql.org/docs/current/static/datatype-textsearch.html + + + + Corresponds to the PostgreSQL "tsquery" type. + + See https://www.postgresql.org/docs/current/static/datatype-textsearch.html + + + + Corresponds to the PostgreSQL "regconfig" type. + + See https://www.postgresql.org/docs/current/static/datatype-textsearch.html + + + + Corresponds to the PostgreSQL "uuid" type. + + See https://www.postgresql.org/docs/current/static/datatype-uuid.html + + + + Corresponds to the PostgreSQL "xml" type. + + See https://www.postgresql.org/docs/current/static/datatype-xml.html + + + + Corresponds to the PostgreSQL "json" type, a field storing JSON in text format. + + See https://www.postgresql.org/docs/current/static/datatype-json.html + + + + + Corresponds to the PostgreSQL "jsonb" type, a field storing JSON in an optimized binary. + format. + + + Supported since PostgreSQL 9.4. + See https://www.postgresql.org/docs/current/static/datatype-json.html + + + + + Corresponds to the PostgreSQL "jsonpath" type, a field storing JSON path in text format. + format. + + + Supported since PostgreSQL 12. + See https://www.postgresql.org/docs/current/datatype-json.html#DATATYPE-JSONPATH + + + + + Corresponds to the PostgreSQL "hstore" type, a dictionary of string key-value pairs. + + See https://www.postgresql.org/docs/current/static/hstore.html + + + + Corresponds to the PostgreSQL "refcursor" type. + + + + + Corresponds to the PostgreSQL internal "oidvector" type. + + See https://www.postgresql.org/docs/current/static/datatype-oid.html + + + + Corresponds to the PostgreSQL internal "int2vector" type. + + + + + Corresponds to the PostgreSQL "oid" type. + + See https://www.postgresql.org/docs/current/static/datatype-oid.html + + + + Corresponds to the PostgreSQL "xid" type, an internal transaction identifier. + + See https://www.postgresql.org/docs/current/static/datatype-oid.html + + + + Corresponds to the PostgreSQL "xid8" type, an internal transaction identifier. + + See https://www.postgresql.org/docs/current/static/datatype-oid.html + + + + Corresponds to the PostgreSQL "cid" type, an internal command identifier. + + See https://www.postgresql.org/docs/current/static/datatype-oid.html + + + + Corresponds to the PostgreSQL "regtype" type, a numeric (OID) ID of a type in the pg_type table. + + + + + Corresponds to the PostgreSQL "tid" type, a tuple id identifying the physical location of a row within its table. + + + + + Corresponds to the PostgreSQL "pg_lsn" type, which can be used to store LSN (Log Sequence Number) data which + is a pointer to a location in the WAL. + + + See: https://www.postgresql.org/docs/current/datatype-pg-lsn.html and + https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=7d03a83f4d0736ba869fa6f93973f7623a27038a + + + + + A special value that can be used to send parameter values to the database without + specifying their type, allowing the database to cast them to another value based on context. + The value will be converted to a string and send as text. + + + This value shouldn't ordinarily be used, and makes sense only when sending a data type + unsupported by Npgsql. + + + + + The geometry type for PostgreSQL spatial extension PostGIS. + + + + + The geography (geodetic) type for PostgreSQL spatial extension PostGIS. + + + + + The PostgreSQL ltree type, each value is a label path "a.label.tree.value", forming a tree in a set. + + See https://www.postgresql.org/docs/current/static/ltree.html + + + + The PostgreSQL lquery type for PostgreSQL extension ltree + + See https://www.postgresql.org/docs/current/static/ltree.html + + + + The PostgreSQL ltxtquery type for PostgreSQL extension ltree + + See https://www.postgresql.org/docs/current/static/ltree.html + + + + Corresponds to the PostgreSQL "int4range" type. + + + + + Corresponds to the PostgreSQL "int8range" type. + + + + + Corresponds to the PostgreSQL "numrange" type. + + + + + Corresponds to the PostgreSQL "tsrange" type. + + + + + Corresponds to the PostgreSQL "tstzrange" type. + + + + + Corresponds to the PostgreSQL "daterange" type. + + + + + Corresponds to the PostgreSQL "int4multirange" type. + + + + + Corresponds to the PostgreSQL "int8multirange" type. + + + + + Corresponds to the PostgreSQL "nummultirange" type. + + + + + Corresponds to the PostgreSQL "tsmultirange" type. + + + + + Corresponds to the PostgreSQL "tstzmultirange" type. + + + + + Corresponds to the PostgreSQL "datemultirange" type. + + + + + Corresponds to the PostgreSQL "array" type, a variable-length multidimensional array of + another type. This value must be combined with another value from + via a bit OR (e.g. NpgsqlDbType.Array | NpgsqlDbType.Integer) + + See https://www.postgresql.org/docs/current/static/arrays.html + + + + Corresponds to the PostgreSQL "range" type, continuous range of values of specific type. + This value must be combined with another value from + via a bit OR (e.g. NpgsqlDbType.Range | NpgsqlDbType.Integer) + + + Supported since PostgreSQL 9.2. + See https://www.postgresql.org/docs/current/static/rangetypes.html + + + + + Corresponds to the PostgreSQL "multirange" type, continuous range of values of specific type. + This value must be combined with another value from + via a bit OR (e.g. NpgsqlDbType.Multirange | NpgsqlDbType.Integer) + + + Supported since PostgreSQL 14. + See https://www.postgresql.org/docs/current/static/rangetypes.html + + + + Can return null when a custom range type is used. + + + Can return null when a plugin type or custom range type is used. + + + Should not be used with display names, first normalize it instead. + + + + A raw representation of the PostgreSQL interval datatype. Use only when or NodaTime + Period do not have sufficient range to handle your values. + + +

    + See https://www.postgresql.org/docs/current/static/datatype-geometric.html. +

    +

    + Do not use this type unless you have to: prefer or NodaTime + Period when possible. +

    +
    +
    + + + Constructs an . + + + + + Months and years, after time for alignment. + + + + + Days, after time for alignment. + + + + + Remaining time unit smaller than a day, in microseconds. + + + + + + + + + + + + + + Wraps a PostgreSQL Write-Ahead Log Sequence Number (see: https://www.postgresql.org/docs/current/datatype-pg-lsn.html) + + + Log Sequence Numbers are a fundamental concept of the PostgreSQL Write-Ahead Log and by that of + PostgreSQL replication. See https://www.postgresql.org/docs/current/wal-internals.html for what they represent. + + This struct provides conversions from/to and and beyond that tries to port + the methods and operators in https://git.postgresql.org/gitweb/?p=postgresql.git;a=blob;f=src/backend/utils/adt/pg_lsn.c + but nothing more. + + + + + Zero is used indicate an invalid Log Sequence Number. No XLOG record can begin at zero. + + + + + Initializes a new instance of . + + The value to wrap. + + + + Returns a value indicating whether this instance is equal to a specified + instance. + + A instance to compare to this instance. + if the current instance is equal to the value parameter; + otherwise, . + + + + Compares this instance to a specified and returns an indication of their + relative values. + + A instance to compare to this instance. + A signed number indicating the relative values of this instance and . + + + + Returns a value indicating whether this instance is equal to a specified object. + + An object to compare to this instance + if the current instance is equal to the value parameter; + otherwise, . + + + + Returns the hash code for this instance. + + A 32-bit signed integer hash code. + + + + Converts the numeric value of this instance to its equivalent string representation. + + The string representation of the value of this instance, consisting of two hexadecimal numbers of + up to 8 digits each, separated by a slash + + + + Converts the string representation of a Log Sequence Number to a instance. + + A string that represents the Log Sequence Number to convert. + + A equivalent to the Log Sequence Number specified in . + + The parameter is . + + The parameter represents a number less than or greater than + . + + The parameter is not in the right format. + + + + Converts the span representation of a Log Sequence Number to a instance. + + A span containing the characters that represent the Log Sequence Number to convert. + + A equivalent to the Log Sequence Number specified in . + + + The parameter represents a number less than or greater than + . + + The parameter is not in the right format. + + + + Tries to convert the string representation of a Log Sequence Number to an + instance. A return value indicates whether the conversion succeeded or failed. + + A string that represents the Log Sequence Number to convert. + + When this method returns, contains a instance equivalent to the Log Sequence + Number contained in , if the conversion succeeded, or the default value for + (0) if the conversion failed. The conversion fails if the + parameter is or , is not in the right format, or represents a number + less than or greater than . This parameter is + passed uninitialized; any value originally supplied in result will be overwritten. + + + if c> was converted successfully; otherwise, . + + + + + Tries to convert the span representation of a Log Sequence Number to an + instance. A return value indicates whether the conversion succeeded or failed. + + A span containing the characters that represent the Log Sequence Number to convert. + + When this method returns, contains a instance equivalent to the Log Sequence + Number contained in , if the conversion succeeded, or the default value for + (0) if the conversion failed. The conversion fails if the + parameter is empty, is not in the right format, or represents a number less than + or greater than . This parameter is passed + uninitialized; any value originally supplied in result will be overwritten. + + + if was converted successfully; otherwise, . + + + + Converts the value of a 64-bit unsigned integer to a instance. + + A 64-bit unsigned integer. + A new instance of initialized to . + + + + Converts the value of a instance to a 64-bit unsigned integer value. + + A instance + The contents of as 64-bit unsigned integer. + + + + Returns a value that indicates whether two specified instances of are equal. + + The first Log Sequence Number to compare. + The second Log Sequence Number to compare. + + if equals ; otherwise, . + + + + + Returns a value that indicates whether two specified instances of are not + equal. + + The first Log Sequence Number to compare. + The second Log Sequence Number to compare. + + if does not equal ; otherwise, + . + + + + + Returns a value indicating whether a specified instance is greater than + another specified instance. + + The first value to compare. + The second value to compare. + + if is greater than ; otherwise, + . + + + + + Returns a value indicating whether a specified instance is less than + another specified instance. + + The first value to compare. + The second value to compare. + + if is less than ; otherwise, + . + + + + + Returns a value indicating whether a specified instance is greater than or + equal to another specified instance. + + The first value to compare. + The second value to compare. + + if is greater than or equal to ; + otherwise, . + + + + + Returns the larger of two values. + + The first value to compare. + The second value to compare. + + The larger of the two values. + + + + + Returns the smaller of two values. + + The first value to compare. + The second value to compare. + + The smaller of the two values. + + + + + Returns a value indicating whether a specified instance is less than or + equal to another specified instance. + + The first value to compare. + The second value to compare. + + if is less than or equal to ; + otherwise, . + + + + + Subtracts two specified values. + + The first value. + The second value. + The number of bytes separating those write-ahead log locations. + + + + Subtract the number of bytes from a instance, giving a new + instance. + Handles both positive and negative numbers of bytes. + + + The instance representing a write-ahead log location. + + The number of bytes to subtract. + A new instance. + + The resulting instance would represent a number less than + . + + + + + Add the number of bytes to a instance, giving a new + instance. + Handles both positive and negative numbers of bytes. + + + The instance representing a write-ahead log location. + + The number of bytes to add. + A new instance. + + The resulting instance would represent a number greater than + . + + + + + Represents a PostgreSQL range type. + + The element type of the values in the range. + + See: https://www.postgresql.org/docs/current/static/rangetypes.html + + + + + Defined by PostgreSQL to represent an empty range. + + + + + Defined by PostgreSQL to represent an infinite lower bound. + Some element types may have specific handling for this value distinct from a missing or null value. + + + + + Defined by PostgreSQL to represent an infinite upper bound. + Some element types may have specific handling for this value distinct from a missing or null value. + + + + + Defined by PostgreSQL to represent an null bound. + Some element types may have specific handling for this value distinct from an infinite or missing value. + + + + + Defined by PostgreSQL to represent a lower inclusive bound. + + + + + Defined by PostgreSQL to represent a lower exclusive bound. + + + + + Defined by PostgreSQL to represent an upper inclusive bound. + + + + + Defined by PostgreSQL to represent an upper exclusive bound. + + + + + Defined by PostgreSQL to separate the values for the upper and lower bounds. + + + + + The used by to convert bounds into . + + + + + True if implements ; otherwise, false. + + + + + Represents the empty range. This field is read-only. + + + + + The lower bound of the range. Only valid when is false. + + + + + The upper bound of the range. Only valid when is false. + + + + + The characteristics of the boundaries. + + + + + True if the lower bound is part of the range (i.e. inclusive); otherwise, false. + + + + + True if the upper bound is part of the range (i.e. inclusive); otherwise, false. + + + + + True if the lower bound is indefinite (i.e. infinite or unbounded); otherwise, false. + + + + + True if the upper bound is indefinite (i.e. infinite or unbounded); otherwise, false. + + + + + True if the range is empty; otherwise, false. + + + + + Constructs an with inclusive and definite bounds. + + The lower bound of the range. + The upper bound of the range. + + + + Constructs an with definite bounds. + + The lower bound of the range. + True if the lower bound is is part of the range (i.e. inclusive); otherwise, false. + The upper bound of the range. + True if the upper bound is part of the range (i.e. inclusive); otherwise, false. + + + + Constructs an . + + The lower bound of the range. + True if the lower bound is is part of the range (i.e. inclusive); otherwise, false. + True if the lower bound is indefinite (i.e. infinite or unbounded); otherwise, false. + The upper bound of the range. + True if the upper bound is part of the range (i.e. inclusive); otherwise, false. + True if the upper bound is indefinite (i.e. infinite or unbounded); otherwise, false. + + + + Constructs an . + + The lower bound of the range. + The upper bound of the range. + The characteristics of the range boundaries. + + + + Attempts to determine if the range is malformed or implicitly empty. + + The lower bound of the range. + The upper bound of the range. + The characteristics of the range boundaries. + + True if the range is implicitly empty; otherwise, false. + + + + + Evaluates the boundary flags. + + True if the lower bound is is part of the range (i.e. inclusive); otherwise, false. + True if the lower bound is indefinite (i.e. infinite or unbounded); otherwise, false. + True if the upper bound is part of the range (i.e. inclusive); otherwise, false. + True if the upper bound is indefinite (i.e. infinite or unbounded); otherwise, false. + + The boundary characteristics. + + + + + Indicates whether the on the left is equal to the on the right. + + The on the left. + The on the right. + + True if the on the left is equal to the on the right; otherwise, false. + + + + + Indicates whether the on the left is not equal to the on the right. + + The on the left. + The on the right. + + True if the on the left is not equal to the on the right; otherwise, false. + + + + + + + + + + + + + + + + + Parses the well-known text representation of a PostgreSQL range type into a . + + A PosgreSQL range type in a well-known text format. + + The represented by the . + + + Malformed range literal. + + + Malformed range literal. Missing left parenthesis or bracket. + + + Malformed range literal. Missing right parenthesis or bracket. + + + Malformed range literal. Missing comma after lower bound. + + + See: https://www.postgresql.org/docs/current/static/rangetypes.html + + + + + Represents a type converter for . + + + + + Adds a to the closed form . + + + + + + + + + + + + + + + + + Represents characteristics of range type boundaries. + + + See: https://www.postgresql.org/docs/current/static/rangetypes.html + + + + + The default flag. The range is not empty and has boundaries that are definite and exclusive. + + + + + The range is empty. E.g. '(0,0)', 'empty'. + + + + + The lower bound is inclusive. E.g. '[0,5]', '[0,5)', '[0,)'. + + + + + The upper bound is inclusive. E.g. '[0,5]', '(0,5]', '(,5]'. + + + + + The lower bound is infinite or indefinite. E.g. '(null,5]', '(-infinity,5]', '(,5]'. + + + + + The upper bound is infinite or indefinite. E.g. '[0,null)', '[0,infinity)', '[0,)'. + + + + + Both the lower and upper bounds are inclusive. + + + + + Both the lower and upper bounds are indefinite. + + + + + The lower bound is both inclusive and indefinite. This represents an error condition. + + + + + The upper bound is both inclusive and indefinite. This represents an error condition. + + + + + Represents a PostgreSQL tsquery. This is the base class for the + lexeme, not, or, and, and "followed by" nodes. + + + + + Node kind + + + + + NodeKind + + + + + Represents the empty tsquery. Should only be used at top level. + + + + + Lexeme + + + + + Not operator + + + + + And operator + + + + + Or operator + + + + + "Followed by" operator + + + + + Constructs an . + + + + + + Writes the tsquery in PostgreSQL's text format. + + + + + Writes the tsquery in PostgreSQL's text format. + + + + + Parses a tsquery in PostgreSQL's text format. + + + + + + + + + + + + + Returns a value indicating whether this instance and a specified object represent the same value. + + An object to compare to this instance. + if g is equal to this instance; otherwise, . + + + + Indicates whether the values of two specified objects are equal. + + The first object to compare. + The second object to compare. + if and are equal; otherwise, . + + + + Indicates whether the values of two specified objects are not equal. + + The first object to compare. + The second object to compare. + if and are not equal; otherwise, . + + + + TsQuery Lexeme node. + + + + + Lexeme text. + + + + + Weights is a bitmask of the Weight enum. + + + + + Prefix search. + + + + + Creates a tsquery lexeme with only lexeme text. + + Lexeme text. + + + + Creates a tsquery lexeme with lexeme text and weights. + + Lexeme text. + Bitmask of enum Weight. + + + + Creates a tsquery lexeme with lexeme text, weights and prefix search flag. + + Lexeme text. + Bitmask of enum Weight. + Is prefix search? + + + + Weight enum, can be OR'ed together. + + + + + None + + + + + D + + + + + C + + + + + B + + + + + A + + + + + + + + + + + TsQuery Not node. + + + + + Child node + + + + + Creates a not operator, with a given child node. + + + + + + + + + + + + Base class for TsQuery binary operators (& and |). + + + + + Left child + + + + + Right child + + + + + Constructs a . + + + + + TsQuery And node. + + + + + Creates an and operator, with two given child nodes. + + + + + + + + + + + + + TsQuery Or Node. + + + + + Creates an or operator, with two given child nodes. + + + + + + + + + + + + + TsQuery "Followed by" Node. + + + + + The distance between the 2 nodes, in lexemes. + + + + + Creates a "followed by" operator, specifying 2 child nodes and the + distance between them in lexemes. + + + + + + + + + + + + + + Represents an empty tsquery. Shold only be used as top node. + + + + + Creates a tsquery that represents an empty query. Should not be used as child node. + + + + + + + + + + + Represents a PostgreSQL tsvector. + + + + + Parses a tsvector in PostgreSQL's text format. + + + + + + + Returns the lexeme at a specific index + + + + + + + Gets the number of lexemes. + + + + + Returns an enumerator. + + + + + + Returns an enumerator. + + + + + + Gets a string representation in PostgreSQL's format. + + + + + + + + + + + + + + + Represents a lexeme. A lexeme consists of a text string and optional word entry positions. + + + + + Gets or sets the text. + + + + + Creates a lexeme with no word entry positions. + + + + + + Creates a lexeme with word entry positions. + + + + + + + Gets a word entry position. + + + + + + + Gets the number of word entry positions. + + + + + Creates a string representation in PostgreSQL's format. + + + + + + Represents a word entry position and an optional weight. + + + + + Creates a WordEntryPos with a given position and weight. + + Position values can range from 1 to 16383; larger numbers are silently set to 16383. + A weight labeled between A and D. + + + + The weight is labeled from A to D. D is the default, and not printed. + + + + + The position is a 14-bit unsigned integer indicating the position in the text this lexeme occurs. Cannot be 0. + + + + + Prints this lexeme in PostgreSQL's format, i.e. position is followed by weight (weight is only printed if A, B or C). + + + + + + Determines whether the specified object is equal to the current object. + + + + + Determines whether the specified object is equal to the current object. + + + + + Gets a hash code for the current object. + + + + + Determines whether the specified object is equal to the current object. + + + + + Determines whether the specified object is unequal to the current object. + + + + + The weight is labeled from A to D. D is the default, and not printed. + + + + + D, the default + + + + + C + + + + + B + + + + + A + + + + + Determines whether the specified object is equal to the current object. + + + + + Determines whether the specified object is equal to the current object. + + + + + Gets a hash code for the current object. + + + + + Determines whether the specified object is equal to the current object. + + + + + Determines whether the specified object is unequal to the current object. + + + + + Represents a PostgreSQL point type. + + + See https://www.postgresql.org/docs/current/static/datatype-geometric.html + + + + + Represents a PostgreSQL line type. + + + See https://www.postgresql.org/docs/current/static/datatype-geometric.html + + + + + Represents a PostgreSQL Line Segment type. + + + + + Represents a PostgreSQL box type. + + + See https://www.postgresql.org/docs/current/static/datatype-geometric.html + + + + + Represents a PostgreSQL Path type. + + + + + Represents a PostgreSQL Polygon type. + + + + + Represents a PostgreSQL Circle type. + + + + + Represents a PostgreSQL inet type, which is a combination of an IPAddress and a subnet mask. + + + https://www.postgresql.org/docs/current/static/datatype-net-types.html + + + + + Represents a PostgreSQL cidr type. + + + https://www.postgresql.org/docs/current/static/datatype-net-types.html + + + + + Represents a PostgreSQL tid value + + + https://www.postgresql.org/docs/current/static/datatype-oid.html + + + + + Block number + + + + + Tuple index within block + + + + + Indicates that this property or field corresponds to a PostgreSQL field with the specified name + + + + + The name of PostgreSQL field that corresponds to this CLR property or field + + + + + Indicates that this property or field corresponds to a PostgreSQL field with the specified name + + The name of PostgreSQL field that corresponds to this CLR property or field + + + This API supports the logging infrastructure and is not intended to be used directly from your code. It is subject to change in the future. + + + diff --git a/db_lab/bin/Debug/System.Buffers.dll b/db_lab/bin/Debug/System.Buffers.dll new file mode 100644 index 0000000000000000000000000000000000000000..f2d83c51416e90dbc31154545b16df3b3f7a7909 GIT binary patch literal 20856 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 VSA1A~Xq)uh0^wu(F;p2s{|B2kf;9jD literal 0 HcmV?d00001 diff --git a/db_lab/bin/Debug/System.Buffers.xml b/db_lab/bin/Debug/System.Buffers.xml new file mode 100644 index 0000000..e243dce --- /dev/null +++ b/db_lab/bin/Debug/System.Buffers.xml @@ -0,0 +1,38 @@ + + + System.Buffers + + + + Provides a resource pool that enables reusing instances of type . + The type of the objects that are in the resource pool. + + + Initializes a new instance of the class. + + + Creates a new instance of the class. + A new instance of the class. + + + Creates a new instance of the class using the specifed configuration. + The maximum length of an array instance that may be stored in the pool. + The maximum number of array instances that may be stored in each bucket in the pool. The pool groups arrays of similar lengths into buckets for faster access. + A new instance of the class with the specified configuration. + + + Retrieves a buffer that is at least the requested length. + The minimum length of the array. + An array of type that is at least minimumLength in length. + + + Returns an array to the pool that was previously obtained using the method on the same instance. + A buffer to return to the pool that was previously obtained using the method. + Indicates whether the contents of the buffer should be cleared before reuse. If clearArray is set to true, and if the pool will store the buffer to enable subsequent reuse, the method will clear the array of its contents so that a subsequent caller using the method will not see the content of the previous caller. If clearArray is set to false or if the pool will release the buffer, the array&#39;s contents are left unchanged. + + + Gets a shared instance. + A shared instance. + + + \ No newline at end of file diff --git a/db_lab/bin/Debug/System.Collections.Immutable.dll b/db_lab/bin/Debug/System.Collections.Immutable.dll new file mode 100644 index 0000000000000000000000000000000000000000..ad944dff1cf2f5d8dfa21731223ae29980b2e84c GIT binary patch literal 252696 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

    `I4macfFJkKRH<&%K|_zJS9R|F8~tRQ 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 t60PxfCX{L2pVh?o_}5zt@$YM + + + System.Collections.Immutable + + + +

    Provides a set of initialization methods for instances of the class. + + + Creates a from an according to specified key selector function. + An from which to create a . + A function to extract a key from each element. + An to compare keys. + The type of the elements of . + The type of the key returned by . + A that contains the keys and values selected from the input sequence. + + + Creates a with the specified key/value pairs. + The key/value pairs to use to populate the dictionary. + The comparer implementation to use to compare keys for equality. If , is used. + The type of the keys in the dictionary. + The type of the values in the dictionary. + A that contains the specified keys and values. + + + Creates a from an according to specified key selector and element selector functions. + An from which to create a . + A function to extract a key from each element. + A transform function to produce a result element value from each element. + An to compare keys. + The type of the elements of . + The type of the key returned by . + The type of the value returned by . + A that contains the keys and values selected from the input sequence. + + + Provides an immutable, read-only dictionary optimized for fast lookup and enumeration. + The type of the keys in the dictionary. + The type of the values in this dictionary. + + + Determines whether the dictionary contains the specified key. + The key to locate in the dictionary. + + if the dictionary contains an element with the specified key; otherwise, . + + + Copies the elements of the dictionary to an array of type , starting at the specified . + The array that is the destination of the elements copied from the dictionary. + The zero-based index in at which copying begins. + + + Copies the elements of the dictionary to a span of type . + The span that is the destination of the elements copied from the dictionary. + + + Returns an enumerator that iterates through the dictionary. + An enumerator that iterates through the dictionary. + + + Gets either a reference to a in the dictionary or a reference if the key does not exist in the dictionary. + The key used for lookup. + A reference to a in the dictionary or a reference if the key does not exist in the dictionary. + + + Adds an item to the . + The object to add to the . + + + Removes all items from the . + + + Determines whether the contains a specific value. + The object to locate in the . + + if is found in the ; otherwise, . + + + Removes the first occurrence of a specific object from the . + The object to remove from the . + + if was successfully removed from the ; otherwise, . This method also returns if is not found in the original . + + + Adds an element with the provided key and value to the . + The object to use as the key of the element to add. + The object to use as the value of the element to add. + + + Removes the element with the specified key from the . + The key of the element to remove. + + if the element is successfully removed; otherwise, . This method also returns if was not found in the original . + + + Returns an enumerator that iterates through the collection. + An enumerator that can be used to iterate through the collection. + + + Copies the elements of the to an , starting at a particular index. + The one-dimensional that is the destination of the elements copied from . The must have zero-based indexing. + The zero-based index in array at which copying begins. + + + Adds an element with the provided key and value to the object. + The to use as the key of the element to add. + The to use as the value of the element to add. + + + Removes all elements from the object. + + + Determines whether the object contains an element with the specified key. + The key to locate in the object. + + true if the contains an element with the key; otherwise, false. + + + Returns an object for the object. + An object for the object. + + + Removes the element with the specified key from the object. + The key of the element to remove. + + + Returns an enumerator that iterates through a collection. + An object that can be used to iterate through the collection. + + + Gets the value associated with the specified key. + The key of the value to get. + When this method returns, contains the value associated with the specified key, if the key is found; otherwise, the default value for the type of . + + if the dictionary contains an element with the specified key; otherwise, . + + + Gets the comparer used by this dictionary. + + + Gets the number of key/value pairs contained in the dictionary. + + + Gets an empty . + + + Gets a reference to the value associated with the specified key. + The key of the value to get. + + does not exist in the collection. + A reference to the value associated with the specified key. + + + Gets a collection containing the keys in the dictionary. + + + Gets a value indicating whether the is read-only. + + if the is read-only; otherwise, . + + + Gets or sets the element with the specified key. + The key of the element to get or set. + The element with the specified key. + + + Gets an containing the keys of the . + An containing the keys of the object that implements . + + + Gets an containing the values in the . + An containing the values in the object that implements . + + + Gets the element that has the specified key in the read-only dictionary. + The key to locate. + The element that has the specified key in the read-only dictionary. + + + Gets an enumerable collection that contains the keys in the read-only dictionary. + An enumerable collection that contains the keys in the read-only dictionary. + + + Gets an enumerable collection that contains the values in the read-only dictionary. + An enumerable collection that contains the values in the read-only dictionary. + + + Gets a value indicating whether access to the is synchronized (thread safe). + + true if access to the is synchronized (thread safe); otherwise, false. + + + Gets an object that can be used to synchronize access to the . + An object that can be used to synchronize access to the . + + + Gets a value indicating whether the object has a fixed size. + + true if the object has a fixed size; otherwise, false. + + + Gets a value indicating whether the object is read-only. + + true if the object is read-only; otherwise, false. + + + Gets or sets the element with the specified key. + The key of the element to get or set. + The element with the specified key, or null if the key does not exist. + + + Gets an object containing the keys of the object. + An object containing the keys of the object. + + + Gets an object containing the values in the object. + An object containing the values in the object. + + + Gets a collection containing the values in the dictionary. + + + Enumerates the elements of a . + + + + + Advances the enumerator to the next element of the collection. + + true if the enumerator was successfully advanced to the next element; false if the enumerator has passed the end of the collection. + + + Sets the enumerator to its initial position, which is before the first element in the collection. + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + Gets the element in the collection at the current position of the enumerator. + The element in the collection at the current position of the enumerator. + + + Gets the element in the collection at the current position of the enumerator. + The element in the collection at the current position of the enumerator. + + + Provides a set of initialization methods for instances of the class. + + + Creates a with the specified values. + The values to use to populate the set. + The comparer implementation to use to compare values for equality. If , is used. + The type of the values in the set. + A frozen set. + + + Provides an immutable, read-only set optimized for fast lookup and enumeration. + The type of the values in this set. + + + Determines whether the set contains the specified element. + The element to locate. + + if the set contains the specified element; otherwise, . + + + Copies the values in the set to an array, starting at the specified . + The array that is the destination of the values copied from the set. + The zero-based index in at which copying begins. + + + Copies the values in the set to a span. + The span that is the destination of the values copied from the set. + + + Returns an enumerator that iterates through the set. + An enumerator that iterates through the set. + + + Determines whether the current set is a proper (strict) subset of a specified collection. + The collection to compare to the current set. + + true if the current set is a proper subset of other; otherwise, false. + + + Determines whether the current set is a proper (strict) superset of a specified collection. + The collection to compare to the current set. + + true if the current set is a proper superset of other; otherwise, false. + + + Determines whether a set is a subset of a specified collection. + The collection to compare to the current set. + + true if the current set is a subset of other; otherwise, false. + + + Determines whether the current set is a superset of a specified collection. + The collection to compare to the current set. + + true if the current set is a superset of other; otherwise, false. + + + Determines whether the current set overlaps with the specified collection. + The collection to compare to the current set. + + true if the current set and other share at least one common element; otherwise, false. + + + Determines whether the current set and the specified collection contain the same elements. + The collection to compare to the current set. + + true if the current set is equal to other; otherwise, false. + + + Adds an item to the . + The object to add to the . + + + Removes all items from the . + + + Removes the first occurrence of a specific object from the . + The object to remove from the . + + if was successfully removed from the ; otherwise, . This method also returns if is not found in the original . + + + Returns an enumerator that iterates through the collection. + An enumerator that can be used to iterate through the collection. + + + Adds an element to the current set and returns a value to indicate if the element was successfully added. + The element to add to the set. + + if the element is added to the set; if the element is already in the set. + + + Removes all elements in the specified collection from the current set. + The collection of items to remove from the set. + + + Modifies the current set so that it contains only elements that are also in a specified collection. + The collection to compare to the current set. + + + Modifies the current set so that it contains only elements that are present either in the current set or in the specified collection, but not both. + The collection to compare to the current set. + + + Modifies the current set so that it contains all elements that are present in the current set, in the specified collection, or in both. + The collection to compare to the current set. + + + Copies the elements of the to an , starting at a particular index. + The one-dimensional that is the destination of the elements copied from . The must have zero-based indexing. + The zero-based index in array at which copying begins. + + + Returns an enumerator that iterates through a collection. + An object that can be used to iterate through the collection. + + + Searches the set for a given value and returns the equal value it finds, if any. + The value to search for. + The value from the set that the search found, or the default value of T when the search yielded no match. + A value indicating whether the search was successful. + + + Gets the comparer used by this set. + + + Gets the number of values contained in the set. + + + Gets an empty . + + + Gets a collection containing the values in the set. + + + Gets a value indicating whether the is read-only. + + if the is read-only; otherwise, . + + + Gets a value indicating whether access to the is synchronized (thread safe). + + true if access to the is synchronized (thread safe); otherwise, false. + + + Gets an object that can be used to synchronize access to the . + An object that can be used to synchronize access to the . + + + Enumerates the values of a . + + + + Advances the enumerator to the next element of the collection. + + true if the enumerator was successfully advanced to the next element; false if the enumerator has passed the end of the collection. + + + Sets the enumerator to its initial position, which is before the first element in the collection. + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + Gets the element in the collection at the current position of the enumerator. + The element in the collection at the current position of the enumerator. + + + Gets the element in the collection at the current position of the enumerator. + The element in the collection at the current position of the enumerator. + + + Represents an immutable collection of key/value pairs. + + NuGet package: System.Collections.Immutable (about immutable collections and how to install) + The type of keys in the dictionary. + The type of values in the dictionary. + + + Adds an element with the specified key and value to the dictionary. + The key of the element to add. + The value of the element to add. + The given key already exists in the dictionary but has a different value. + A new immutable dictionary that contains the additional key/value pair. + + + Adds the specified key/value pairs to the dictionary. + The key/value pairs to add. + One of the given keys already exists in the dictionary but has a different value. + A new immutable dictionary that contains the additional key/value pairs. + + + Retrieves an empty dictionary that has the same ordering and key/value comparison rules as this dictionary instance. + An empty dictionary with equivalent ordering and key/value comparison rules. + + + Determines whether the immutable dictionary contains the specified key/value pair. + The key/value pair to locate. + + if the specified key/value pair is found in the dictionary; otherwise, . + + + Removes the element with the specified key from the immutable dictionary. + The key of the element to remove. + A new immutable dictionary with the specified element removed; or this instance if the specified key cannot be found in the dictionary. + + + Removes the elements with the specified keys from the immutable dictionary. + The keys of the elements to remove. + A new immutable dictionary with the specified keys removed; or this instance if the specified keys cannot be found in the dictionary. + + + Sets the specified key and value in the immutable dictionary, possibly overwriting an existing value for the key. + The key of the entry to add. + The key value to set. + A new immutable dictionary that contains the specified key/value pair. + + + Sets the specified key/value pairs in the immutable dictionary, possibly overwriting existing values for the keys. + The key/value pairs to set in the dictionary. If any of the keys already exist in the dictionary, this method will overwrite their previous values. + A new immutable dictionary that contains the specified key/value pairs. + + + Determines whether this dictionary contains a specified key. + The key to search for. + The matching key located in the dictionary if found, or equalkey if no match is found. + + if a match for is found; otherwise, . + + + Represents a list of elements that cannot be modified. + + NuGet package: System.Collections.Immutable (about immutable collections and how to install) + The type of elements in the list. + + + Makes a copy of the list, and adds the specified object to the end of the copied list. + The object to add to the list. + A new list with the object added. + + + Makes a copy of the list and adds the specified objects to the end of the copied list. + The objects to add to the list. + A new list with the elements added. + + + Creates a list with all the items removed, but with the same sorting and ordering semantics as this list. + An empty list that has the same sorting and ordering semantics as this instance. + + + Searches for the specified object and returns the zero-based index of the first occurrence within the range of elements in the that starts at the specified index and contains the specified number of elements. + The object to locate in the . This value can be null for reference types. + The zero-based starting indexes of the search. 0 (zero) is valid in an empty list. + The number of elements in the section to search. + The equality comparer to use to locate . + The zero-based index of the first occurrence of within the range of elements in the that starts at and contains number of elements if found; otherwise -1. + + + Inserts the specified element at the specified index in the immutable list. + The zero-based index at which to insert the value. + The object to insert. + A new immutable list that includes the specified element. + + + Inserts the specified elements at the specified index in the immutable list. + The zero-based index at which the new elements should be inserted. + The elements to insert. + A new immutable list that includes the specified elements. + + + Searches for the specified object and returns the zero-based index of the last occurrence within the range of elements in the that contains the specified number of elements and ends at the specified index. + The object to locate in the list. The value can be for reference types. + The zero-based starting index of the search. 0 (zero) is valid in an empty list. + The number of elements in the section to search. + The equality comparer to match . + Returns . + + + Removes the first occurrence of a specified object from this immutable list. + The object to remove from the list. + The equality comparer to use to locate . + A new list with the specified object removed. + + + Removes all the elements that match the conditions defined by the specified predicate. + The delegate that defines the conditions of the elements to remove. + A new immutable list with the elements removed. + + + Removes the element at the specified index of the immutable list. + The index of the element to remove. + A new list with the element removed. + + + Removes the specified object from the list. + The objects to remove from the list. + The equality comparer to use to determine if match any objects in the list. + A new immutable list with the specified objects removed, if matched objects in the list. + + + Removes a range of elements from the . + The zero-based starting index of the range of elements to remove. + The number of elements to remove. + A new immutable list with the elements removed. + + + Returns a new list with the first matching element in the list replaced with the specified element. + The element to be replaced. + The element to replace the first occurrence of with. + The equality comparer to use for matching . + + does not exist in the list. + A new list that contains , even if is the same as . + + + Replaces an element in the list at a given position with the specified element. + The position in the list of the element to replace. + The element to replace the old element with. + A new list that contains the new element, even if the element at the specified location is the same as the new element. + + + Represents an immutable first-in, first-out collection of objects. + + NuGet package: System.Collections.Immutable (about immutable collections and how to install) + The type of elements in the queue. + + + Returns a new queue with all the elements removed. + An empty immutable queue. + + + Removes the first element in the immutable queue, and returns the new queue. + The queue is empty. + The new immutable queue with the first element removed. This value is never . + + + Adds an element to the end of the immutable queue, and returns the new queue. + The element to add. + The new immutable queue with the specified element added. + + + Returns the element at the beginning of the immutable queue without removing it. + The queue is empty. + The element at the beginning of the queue. + + + Gets a value that indicates whether this immutable queue is empty. + + if this queue is empty; otherwise, . + + + Represents a set of elements that can only be modified by creating a new instance of the set. + + NuGet package: System.Collections.Immutable (about immutable collections and how to install) + The type of element stored in the set. + + + Adds the specified element to this immutable set. + The element to add. + A new set with the element added, or this set if the element is already in the set. + + + Retrieves an empty immutable set that has the same sorting and ordering semantics as this instance. + An empty set that has the same sorting and ordering semantics as this instance. + + + Determines whether this immutable set contains a specified element. + The element to locate in the set. + + if the set contains the specified value; otherwise, . + + + Removes the elements in the specified collection from the current immutable set. + The collection of items to remove from this set. + A new set with the items removed; or the original set if none of the items were in the set. + + + Creates an immutable set that contains only elements that exist in this set and the specified set. + The collection to compare to the current . + A new immutable set that contains elements that exist in both sets. + + + Determines whether the current immutable set is a proper (strict) subset of the specified collection. + The collection to compare to the current set. + + if the current set is a proper subset of the specified collection; otherwise, . + + + Determines whether the current immutable set is a proper (strict) superset of the specified collection. + The collection to compare to the current set. + + if the current set is a proper superset of the specified collection; otherwise, . + + + Determines whether the current immutable set is a subset of a specified collection. + The collection to compare to the current set. + + if the current set is a subset of the specified collection; otherwise, . + + + Determines whether the current immutable set is a superset of a specified collection. + The collection to compare to the current set. + + if the current set is a superset of the specified collection; otherwise, . + + + Determines whether the current immutable set overlaps with the specified collection. + The collection to compare to the current set. + + if the current set and the specified collection share at least one common element; otherwise, . + + + Removes the specified element from this immutable set. + The element to remove. + A new set with the specified element removed, or the current set if the element cannot be found in the set. + + + Determines whether the current immutable set and the specified collection contain the same elements. + The collection to compare to the current set. + + if the sets are equal; otherwise, . + + + Creates an immutable set that contains only elements that are present either in the current set or in the specified collection, but not both. + The collection to compare to the current set. + A new set that contains the elements that are present only in the current set or in the specified collection, but not both. + + + Determines whether the set contains a specified value. + The value to search for. + The matching value from the set, if found, or equalvalue if there are no matches. + + if a matching value was found; otherwise, . + + + Creates a new immutable set that contains all elements that are present in either the current set or in the specified collection. + The collection to add elements from. + A new immutable set with the items added; or the original set if all the items were already in the set. + + + Represents an immutable last-in-first-out (LIFO) collection. + + NuGet package: System.Collections.Immutable (about immutable collections and how to install) + The type of elements in the stack. + + + Removes all objects from the immutable stack. + An empty immutable stack. + + + Returns the element at the top of the immutable stack without removing it. + The stack is empty. + The element at the top of the stack. + + + Removes the element at the top of the immutable stack and returns the new stack. + The stack is empty. + The new stack; never . + + + Inserts an element at the top of the immutable stack and returns the new stack. + The element to push onto the stack. + The new stack. + + + Gets a value that indicates whether this immutable stack is empty. + + if this stack is empty; otherwise,. + + + Provides methods for creating an array that is immutable; meaning it cannot be changed once it is created. + + NuGet package: System.Collections.Immutable (about immutable collections and how to install) + + + Searches the sorted immutable array for a specified element using the default comparer and returns the zero-based index of the element, if it's found. + The sorted array to search. + The object to search for. + The type of element stored in the array. + + does not implement or the search encounters an element that does not implement . + The zero-based index of the item in the array, if item is found; otherwise, a negative number that is the bitwise complement of the index of the next element that is larger than or, if there is no larger element, the bitwise complement of . + + + Searches a sorted immutable array for a specified element and returns the zero-based index of the element, if it's found. + The sorted array to search. + The object to search for. + The comparer implementation to use when comparing elements, or null to use the default comparer. + The type of element stored in the array. + + is null and does not implement or the search encounters an element that does not implement . + The zero-based index of the item in the array, if item is found; otherwise, a negative number that is the bitwise complement of the index of the next element that is larger than or, if there is no larger element, the bitwise complement of . + + + Searches a sorted immutable array for a specified element and returns the zero-based index of the element, if it's found. + The sorted array to search. + The starting index of the range to search. + The length of the range to search. + The object to search for. + The type of element stored in the array. + + does not implement or the search encounters an element that does not implement . + + and do not specify a valid range in . + + is less than the lower bound of . + +-or- + + is less than zero. + The zero-based index of the item in the array, if item is found; otherwise, a negative number that is the bitwise complement of the index of the next element that is larger than or, if there is no larger element, the bitwise complement of . + + + Searches a sorted immutable array for a specified element and returns the zero-based index of the element. + The sorted array to search. + The starting index of the range to search. + The length of the range to search. + The object to search for. + The comparer to use when comparing elements for equality or to use the default comparer. + The type of element stored in the array. + + is null and does not implement or the search encounters an element that does not implement . + + and do not specify a valid range in . + +-or- + + is , and is of a type that is not compatible with the elements of . + + is less than the lower bound of . + +-or- + + is less than zero. + The zero-based index of the item in the array, if item is found; otherwise, a negative number that is the bitwise complement of the index of the next element that is larger than or, if there is no larger element, the bitwise complement of . + + + Creates an empty immutable array. + The type of elements stored in the array. + An empty immutable array. + + + Creates an immutable array that contains the specified object. + The object to store in the array. + The type of elements stored in the array. + An immutable array that contains the specified object. + + + Creates an immutable array that contains the specified objects. + The first object to store in the array. + The second object to store in the array. + The type of elements stored in the array. + An immutable array that contains the specified objects. + + + Creates an immutable array that contains the specified objects. + The first object to store in the array. + The second object to store in the array. + The third object to store in the array. + The type of elements stored in the array. + An immutable array that contains the specified objects. + + + Creates an immutable array that contains the specified objects. + The first object to store in the array. + The second object to store in the array. + The third object to store in the array. + The fourth object to store in the array. + The type of elements stored in the array. + An immutable array that contains the specified objects. + + + Creates an immutable array from the specified array of objects. + The array of objects to populate the array with. + The type of elements stored in the array. + An immutable array that contains the array of items. + + + Creates an immutable array with specified objects from another array. + The source array of objects. + The index of the first element to copy from . + The number of elements from to include in this immutable array. + The type of elements stored in the array. + An immutable array that contains the specified objects from the source array. + + + Creates an immutable array with the specified objects from another immutable array. + The source array of objects. + The index of the first element to copy from . + The number of elements from to include in this immutable array. + The type of elements stored in the array. + An immutable array that contains the specified objects from the source array. + + + Creates an with the specified elements. + The elements to store in the array. + The type of element stored in the array. + An immutable array containing the specified items. + + + Creates an with the specified elements. + The elements to store in the array. + The type of element stored in the array. + An immutable array containing the specified items. + + + Creates a mutable array that can be converted to an without allocating new memory. + The type of elements stored in the builder. + A mutable array of the specified type that can be efficiently converted to an immutable array. + + + Creates a mutable array that can be converted to an without allocating new memory. + The initial capacity of the builder. + The type of elements stored in the builder. + A mutable array of the specified type that can be efficiently converted to an immutable array. + + + Creates a new populated with the specified items. + The elements to add to the array. + The type of element stored in the array. + An immutable array that contains the specified items. + + + Initializes a new instance of the struct. + The source array to initialize the resulting array with. + The function to apply to each element from the source array. + The type of element stored in the source array. + The type of element to store in the target array. + An immutable array that contains the specified items. + + + Initializes a new instance of the struct. + The source array to initialize the resulting array with. + The index of the first element in the source array to include in the resulting array. + The number of elements from the source array to include in the resulting array. + The function to apply to each element from the source array included in the resulting array. + The type of element stored in the source array. + The type of element to store in the target array. + An immutable array that contains the specified items. + + + Initializes a new instance of the struct. + The source array to initialize the resulting array with. + The function to apply to each element from the source array. + An argument to be passed to the selector mapping function. + The type of element stored in the source array. + The type of argument to pass to the selector mapping function. + The type of element to store in the target array. + An immutable array that contains the specified items. + + + Initializes a new instance of the struct. + The source array to initialize the resulting array with. + The index of the first element in the source array to include in the resulting array. + The number of elements from the source array to include in the resulting array. + The function to apply to each element from the source array included in the resulting array. + An argument to be passed to the selector mapping function. + The type of element stored in the source array. + The type of argument to be passed to the selector mapping function. + The type of element to be stored in the target array. + An immutable array that contains the specified items. + + + Creates an immutable array from the specified collection. + The collection of objects to copy to the immutable array. + The type of elements contained in . + An immutable array that contains the specified collection of objects. + + + Creates an immutable array from the current contents of the builder's array. + The builder to create the immutable array from. + The type of elements contained in the immutable array. + An immutable array that contains the current contents of the builder's array. + + + Produce an immutable array of contents from specified elements. + The elements to store in the array. + The type of element in the list. + An immutable array containing the items in the span. + + + Converts the span to an immutable array. + The elements to store in the array. + The type of element in the list. + An immutable array containing the items in the span. + + + Represents an array that is immutable; meaning it cannot be changed once it is created. + + NuGet package: System.Collections.Immutable (about immutable collections and how to install) + The type of element stored by the array. + + + Gets an empty immutable array. + + + Returns a copy of the original array with the specified item added to the end. + The item to be added to the end of the array. + A new array with the specified item added to the end. + + + Adds the specified values to this list. + The values to add. + A new list with the elements added. + + + Adds the specified items to the end of the array. + The values to add. + The number of elements from the source array to add. + A new list with the elements added. + + + Returns a copy of the original array with the specified elements added to the end of the array. + The elements to add to the array. + A new array with the elements added. + + + Returns a copy of the original array with the specified elements added to the end of the array. + The elements to add to the array. + A new array with the elements added. + + + Adds the specified items to the end of the array. + The values to add. + The number of elements from the source array to add. + A new list with the elements added. + + + Adds the specified values to this list. + The values to add. + A new list with the elements added. + + + Adds the specified items to the end of the array. + The values to add. + The type that derives from the type of item already in the array. + A new list with the elements added. + + + Adds the specified items to the end of the array. + The values to add. + The type that derives from the type of item already in the array. + A new list with the elements added. + + + Returns a new immutable array that contains the elements of this array cast to a different type. + The type of array element to return. + An immutable array that contains the elements of this array, cast to a different type. If the cast fails, returns an array whose property returns . + + + Creates a new read-only memory region over this immutable array. + The read-only memory representation of this immutable array. + + + Creates a new read-only span over this immutable array. + The read-only span representation of this immutable array. + + + Creates a over the portion of the current , beginning at a specified position for a specified length. + The index at which to begin the span. + The number of items in the span. + The representation of the . + + + Creates a span over the portion of the current based on the specified . + A range in the current . + A span representation of the . + + + Initializes a new instance of the struct by casting the underlying array to an array of type . + The type of array element to return. + The cast is illegal. + An immutable array instance with elements cast to the new type. + + + Initializes a new instance of the struct based on the contents of an existing instance, allowing a covariant static cast to efficiently reuse the existing array. + The array to initialize the array with. No copy is made. + The type of array element to return. + An immutable array instance with elements cast to the new type. + + + Returns an array with all the elements removed. + An array with all of the elements removed. + + + Determines whether the specified item exists in the array. + The item to search for. + + if the specified item was found in the array; otherwise . + + + Determines whether the specified item exists in the array. + The item to search for. + The equality comparer to use in the search. + If , is used. + + if an equal value was found in the array; otherwise. + + + Copies the contents of this array to the specified array. + The array to copy to. + + + Copies the contents of this array to the specified array starting at the specified destination index. + The array to copy to. + The index in where copying begins. + + + Copies the specified items in this array to the specified array at the specified starting index. + The index of this array where copying begins. + The array to copy to. + The index in where copying begins. + The number of elements to copy from this array. + + + Copies the elements of current to a . + The that is the destination of the elements copied from current . + + + Indicates whether specified array is equal to this array. + An object to compare with this object. + + if is equal to this array; otherwise, . + + + Determines if this array is equal to the specified object. + The to compare with this array. + + if this array is equal to ; otherwise, . + + + Returns an enumerator that iterates through the contents of the array. + An enumerator. + + + Returns a hash code for this instance. + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + Searches the array for the specified item. + The item to search for. + The zero-based index position of the item if it is found, or -1 if it is not. + + + Searches the array for the specified item. + The item to search for. + The index at which to begin the search. + The zero-based index position of the item if it is found, or -1 if it is not. + + + Searches the array for the specified item. + The item to search for. + The index at which to begin the search. + The equality comparer to use in the search. + The zero-based index position of the item if it is found, or -1 if it is not. + + + Searches the array for the specified item. + The item to search for. + The index at which to begin the search. + The number of elements to search. + The zero-based index position of the item if it is found, or -1 if it is not. + + + Searches the array for the specified item. + The item to search for. + The index at which to begin the search. + The number of elements to search. + The equality comparer to use in the search. + The zero-based index position of the item if it is found, or -1 if it is not. + + + Returns a new array with the specified value inserted at the specified position. + The 0-based index into the array at which the new item should be added. + The item to insert at the start of the array. + A new array with the item inserted at the specified index. + + + Inserts the specified values at the specified index. + The index at which to insert the value. + The elements to insert. + The new immutable collection. + + + Inserts the specified values at the specified index. + The index at which to insert the value. + The elements to insert. + A new immutable array with the items inserted at the specified index. + + + Inserts the specified values at the specified index. + The index at which to insert the value. + The elements to insert. + A new immutable array with the items inserted at the specified index. + + + Inserts the specified values at the specified index. + The index at which to insert the value. + The elements to insert. + The new immutable collection. + + + Gets a read-only reference to the element at the specified in the read-only list. + The zero-based index of the element to get a reference to. + A read-only reference to the element at the specified in the read-only list. + + + Searches the array for the specified item; starting at the end of the array. + The item to search for. + The 0-based index into the array where the item was found; or -1 if it could not be found. + + + Searches the array for the specified item; starting at the end of the array. + The item to search for. + The index at which to begin the search. + The 0-based index into the array where the item was found; or -1 if it could not be found. + + + Searches the array for the specified item; starting at the end of the array. + The item to search for. + The index at which to begin the search. + The number of elements to search. + The 0-based index into the array where the item was found; or -1 if it could not be found. + + + Searches the array for the specified item; starting at the end of the array. + The item to search for. + The index at which to begin the search. + The number of elements to search. + The equality comparer to use in the search. + The 0-based index into the array where the item was found; or -1 if it could not be found. + + + Filters the elements of this array to those assignable to the specified type. + The type to filter the elements of the sequence on. + An that contains elements from the input sequence of type of . + + + Returns a value that indicates if two arrays are equal. + The array to the left of the operator. + The array to the right of the operator. + + if the arrays are equal; otherwise, . + + + Returns a value that indicates if two arrays are equal. + The array to the left of the operator. + The array to the right of the operator. + + if the arrays are equal; otherwise, . + + + Returns a value that indicates whether two arrays are not equal. + The array to the left of the operator. + The array to the right of the operator. + + if the arrays are not equal; otherwise, . + + + Checks for inequality between two array. + The object to the left of the operator. + The object to the right of the operator. + + if the two arrays are not equal; otherwise, . + + + Returns an array with the first occurrence of the specified element removed from the array. If no match is found, the current array is returned. + The item to remove. + A new array with the item removed. + + + Returns an array with the first occurrence of the specified element removed from the array. + + If no match is found, the current array is returned. + The item to remove. + The equality comparer to use in the search. + A new array with the specified item removed. + + + Removes all the items from the array that meet the specified condition. + The delegate that defines the conditions of the elements to remove. + A new array with items that meet the specified condition removed. + + + Returns an array with the element at the specified position removed. + The 0-based index of the element to remove from the returned array. + A new array with the item at the specified index removed. + + + Removes the specified values from this list. + The items to remove if matches are found in this list. + The equality comparer to use in the search. + A new list with the elements removed. + + + Removes the specified items from this array. + The items to remove if matches are found in this list. + A new array with the elements removed. + + + Removes the specified items from this array. + The items to remove if matches are found in this list. + The equality comparer to use in the search. + A new array with the elements removed. + + + Removes the specified values from this list. + The items to remove if matches are found in this list. + A new list with the elements removed. + + + Removes the specified items from this list. + The items to remove if matches are found in this list. + The equality comparer to use in the search. + A new array with the elements removed. + + + Returns an array with the elements at the specified position removed. + The 0-based index of the starting element to remove from the array. + The number of elements to remove from the array. + The new array with the specified elements removed. + + + Removes the specified values from this list. + The items to remove if matches are found in this list. + The equality comparer to use in the search. + A new list with the elements removed. + + + Finds the first element in the array equal to the specified value and replaces the value with the specified new value. + The value to find and replace in the array. + The value to replace the oldvalue with. + + is not found in the array. + A new array that contains even if the new and old values are the same. + + + Finds the first element in the array equal to the specified value and replaces the value with the specified new value. + The value to find and replace in the array. + The value to replace the oldvalue with. + The equality comparer to use to compare values. + + is not found in the array. + A new array that contains even if the new and old values are the same. + + + Replaces the item at the specified index with the specified item. + The index of the item to replace. + The item to add to the list. + The new array that contains at the specified index. + + + Forms a slice out of the current starting at a specified index for a specified length. + The index at which to begin this slice. + The desired length for the slice. + An that consists of elements from the current , starting at . + + + Sorts the elements in the immutable array using the default comparer. + A new immutable array that contains the items in this array, in sorted order. + + + Sorts the elements in the immutable array using the specified comparer. + The implementation to use when comparing elements, or to use the default comparer. + A new immutable array that contains the items in this array, in sorted order. + + + Sorts the elements in the entire using the specified . + The to use when comparing elements. + + is null. + The sorted list. + + + Sorts the specified elements in the immutable array using the specified comparer. + The index of the first element to sort. + The number of elements to include in the sort. + The implementation to use when comparing elements, or to use the default comparer. + A new immutable array that contains the items in this array, in sorted order. + + + Throws in all cases. + The item to add to the end of the array. + + + Throws in all cases. + + + Throws in all cases. + The object to remove from the array. + Throws in all cases. + + + Returns an enumerator that iterates through the array. + The property returns . + An enumerator that can be used to iterate through the array. + + + Throws in all cases. + The index of the location to insert the item. + The item to insert. + + + Throws in all cases. + The index. + + + Copies this array to another array starting at the specified index. + The array to copy this array to. + The index in the destination array to start the copy operation. + + + Returns an enumerator that iterates through the immutable array. + The property returns . + An enumerator that iterates through the immutable array. + + + Throws in all cases. + The value to add to the array. + Thrown in all cases. + Throws in all cases. + + + Throws in all cases. + Thrown in all cases. + + + Throws in all cases. + The value to check for. + Throws in all cases. + + + Gets the value at the specified index. + The value to return the index of. + The value of the element at the specified index. + + + Throws in all cases. + Index that indicates where to insert the item. + The value to insert. + Thrown in all cases. + + + Throws in all cases. + The value to remove from the array. + Thrown in all cases. + + + Throws in all cases. + The index of the item to remove. + Thrown in all cases. + + + Returns a copy of the original array with the specified item added to the end. + The value to add to the end of the array. + A new array with the specified item added to the end. + + + Returns a copy of the original array with the specified elements added to the end of the array. + The elements to add to the end of the array. + A new array with the elements added to the end. + + + Returns an array with all the elements removed. + An array with all the elements removed. + + + Returns a new array with the specified value inserted at the specified position. + The 0-based index into the array at which the new item should be added. + The item to insert at the start of the array. + A new array with the specified value inserted. + + + Inserts the specified values at the specified index. + The index at which to insert the value. + The elements to insert. + A new array with the specified values inserted. + + + Returns an array with the first occurrence of the specified element removed from the array; if no match is found, the current array is returned. + The value to remove from the array. + The equality comparer to use in the search. + A new array with the value removed. + + + Removes all the items from the array that meet the specified condition. + The delegate that defines the conditions of the elements to remove. + A new array with items that meet the specified condition removed. + + + Returns an array with the element at the specified position removed. + The 0-based index of the element to remove from the returned array. + A new array with the specified item removed. + + + Removes the specified items from this array. + The items to remove if matches are found in this list. + The equality comparer to use in the search. + A new array with the elements removed. + + + Returns an array with the elements at the specified position removed. + The 0-based index of the starting element to remove from the array. + The number of elements to remove from the array. + The new array with the specified elements removed. + + + Finds the first element in the array equal to the specified value and replaces the value with the specified new value. + The value to find and replace in the array. + The value to replace the oldvalue with. + The equality comparer to use to compare values. + + is not found in the array. + A new array that contains even if the new and old values are the same. + + + Replaces the item at the specified index with the specified item. + The index of the item to replace. + The value to add to the list. + The new array that contains at the specified index. + + + Determines whether the current collection element precedes, occurs in the same position as, or follows another element in the sort order. + The element to compare with the current instance. + The object used to compare members of the current array with the corresponding members of other array. + The arrays are not the same length. + An integer that indicates whether the current element precedes, is in the same position or follows the other element. + + + Determines whether this array is structurally equal to the specified array. + The array to compare with the current instance. + An object that determines whether the current instance and other are structurally equal. + + if the two arrays are structurally equal; otherwise, . + + + Returns a hash code for the current instance. + An object that computes the hash code of the current object. + The hash code for the current instance. + + + Creates a mutable array that has the same contents as this array and can be efficiently mutated across multiple operations using standard mutable interfaces. + The new builder with the same contents as this array. + + + Gets a value indicating whether this array was declared but not initialized. + + if the is ; otherwise, . + + + Gets a value indicating whether this is empty or is not initialized. + + if the is or ; otherwise, . + + + Gets a value indicating whether this is empty. + + if the is empty; otherwise, . + + + Gets the element at the specified index in the immutable array. + The zero-based index of the element to get. + The element at the specified index in the immutable array. + + + Gets the number of elements in the array. + The number of elements in the array. + + + Gets the number of items in the collection. + The property returns . + Number of items in the collection. + + + Gets a value indicating whether this instance is read only. + + if this instance is read only; otherwise, . + + + Gets or sets the element at the specified index in the read-only list. + The zero-based index of the element to get. + Always thrown from the setter. + The property returns . + The element at the specified index in the read-only list. + + + Gets the number of items in the collection. + The property returns . + The number of items in the collection. + + + Gets the element at the specified index. + The index. + The property returns . + The element. + + + Gets the size of the array. + The property returns . + The number of items in the collection. + + + See the interface. Always returns since since immutable collections are thread-safe. + Boolean value determining whether the collection is thread-safe. + + + Gets the sync root. + An object for synchronizing access to the collection. + + + Gets a value indicating whether this instance is fixed size. + + if this instance is fixed size; otherwise, . + + + Gets a value indicating whether this instance is read only. + + if this instance is read only; otherwise, . + + + Gets or sets the at the specified index. + The index. + Always thrown from the setter. + The property returns . + The object at the specified index. + + + A writable array accessor that can be converted into an instance without allocating extra memory. + + NuGet package: System.Collections.Immutable (about immutable collections and how to install) + + + + Adds the specified item to the array. + The object to add to the array. + + + Adds the specified items to the end of the array. + The items to add to the array. + + + Adds the specified items to the end of the array. + The items to add to the array. + The number of elements from the source array to add. + + + Adds the specified items to the end of the array. + The items to add to the array. + + + Adds the specified items to the end of the array. + The items to add to the array. + + + Adds the specified items to the end of the array. + The items to add to the array. + + + Adds the specified items to the end of the array. + The items to add to the array. + The number of elements from the source array to add. + + + Adds the specified items to the end of the array. + The items to add at the end of the array. + + + Adds the specified items that derive from the type currently in the array, to the end of the array. + The items to add to end of the array. + The type that derives from the type of item already in the array. + + + Adds the specified items that derive from the type currently in the array, to the end of the array. + The items to add to the end of the array. + The type that derives from the type of item already in the array. + + + Adds the specified items that derive from the type currently in the array, to the end of the array. + The items to add to the end of the array. + The type that derives from the type of item already in the array. + + + Adds the specified items to the end of the array. + The items to add at the end of the array. + The type that derives from the type of item already in the array. + + + Removes all items from the array. + + + Determines whether the array contains a specific value. + The object to locate in the array. + + if the object is found; otherwise, . + + + Copies the contents of this array to the specified array. + The array to copy to. + + + Copies the current contents to the specified array. + The array to copy to. + The index to start the copy operation. + + + Copies the contents of this array to the specified array. + The index into this collection of the first element to copy. + The array to copy to. + The index into the destination array to which the first copied element is written. + The number of elements to copy. + + + Copies the current contents to the specified . + The to copy to. + + + Returns the current contents as an and sets the collection to a zero length array. + An immutable array. + + + Gets an object that can be used to iterate through the collection. + An object that can be used to iterate through the collection. + + + Determines the index of a specific item in the array. + The item to locate in the array. + The index of if it's found in the list; otherwise, -1. + + + Determines the index of the specified item. + The item to locate in the array. + The starting position of the search. + The index of if it's found in the list; otherwise, -1. + + + Searches the array for the specified item. + The item to search for. + The index at which to begin the search. + The equality comparer to use in the search. + If , is used. + The 0-based index into the array where the item was found; or -1 if it could not be found. + + + Determines the index of the specified item. + The item to locate in the array. + The starting position of the search. + The number of elements to search. + The index of if it's found in the list; otherwise, -1. + + + Determines the index for the specified item. + The item to locate in the array. + The index at which to begin the search. + The starting position of the search. + The equality comparer to use in the search. + The index of if it's found in the list; otherwise, -1. + + + Inserts an item in the array at the specified index. + The zero-based index at which to insert the item. + The object to insert into the array. + + + Inserts the specified values at the specified index. + The index at which to insert the value. + The elements to insert. + + + Inserts the specified values at the specified index. + The index at which to insert the value. + The elements to insert. + + + Gets a read-only reference to the element at the specified index. + The item index. + + is greater or equal to the array count. + The read-only reference to the element at the specified index. + + + Determines the 0-based index of the last occurrence of the specified item in this array. + The item to search for. + The 0-based index where the item was found; or -1 if it could not be found. + + + Determines the 0-based index of the last occurrence of the specified item in this array. + The item to search for. + The starting position of the search. + The 0-based index into the array where the item was found; or -1 if it could not be found. + + + Determines the 0-based index of the last occurrence of the specified item in this array. + The item to search for. + The starting position of the search. + The number of elements to search. + The 0-based index into the array where the item was found; or -1 if it could not be found. + + + Determines the 0-based index of the last occurrence of the specified item in this array. + The item to search for. + The starting position of the search. + The number of elements to search. + The equality comparer to use in the search. + The 0-based index into the array where the item was found; or -1 if it could not be found. + + + Extracts the internal array as an and replaces it with a zero length array. + When doesn't equal . + An immutable array containing the elements of the builder. + + + Removes the specified element. + The item to remove. + + if was found and removed; otherwise, . + + + Removes the first occurrence of the specified element from the builder. + If no match is found, the builder remains unchanged. + The element to remove. + The equality comparer to use in the search. + If , is used. + A value indicating whether the specified element was found and removed from the collection. + + + Removes all the elements that match the conditions defined by the specified predicate. + The delegate that defines the conditions of the elements to remove. + + + Removes the item at the specified index from the array. + The zero-based index of the item to remove. + + + Removes the specified values from this list. + The items to remove if matches are found in this list. + + + Removes the specified values from this list. + The items to remove if matches are found in this list. + The equality comparer to use in the search. + If , is used. + + + Removes the specified values from this list. + The 0-based index into the array for the element to omit from the returned array. + The number of elements to remove. + + + Replaces the first equal element in the list with the specified element. + The element to replace. + The element to replace the old element with. + + + Replaces the first equal element in the list with the specified element. + The element to replace. + The element to replace the old element with. + The equality comparer to use in the search. + If , is used. + + + Reverses the order of elements in the collection. + + + Sorts the contents of the array. + + + Sorts the contents of the array. + The comparer to use for sorting. If comparer is , the default comparer for the elements type in the array is used. + + + Sorts the elements in the entire array using the specified . + The to use when comparing elements. + + is null. + + + Sorts the contents of the array. + The starting index for the sort. + The number of elements to include in the sort. + The comparer to use for sorting. If comparer is , the default comparer for the elements type in the array is used. + + + Returns an enumerator that iterates through the array. + An enumerator that iterates through the array. + + + Returns an enumerator that iterates through the array. + An enumerator that iterates through the array. + + + Creates a new array with the current contents of this . + A new array with the contents of this . + + + Returns an immutable array that contains the current contents of this . + An immutable array that contains the current contents of this . + + + Gets or sets the length of the internal array. When set, the internal array is reallocated to the given capacity if it is not already the specified length. + The length of the internal array. + + + Gets or sets the number of items in the array. + The number of items in the array. + + + Gets or sets the item at the specified index. + The index of the item to get or set. + The specified index is not in the array. + The item at the specified index. + + + Gets a value that indicates whether the is read-only. + + if the is read-only; otherwise, . + + + An array enumerator. + + NuGet package: System.Collections.Immutable (about immutable collections and how to install) + + + + Advances to the next value in the array. + + if another item exists in the array; otherwise, . + + + Gets the current item. + The current item. + + + Provides a set of initialization methods for instances of the class. + + NuGet package: System.Collections.Immutable (about immutable collections and how to install) + + + Determines whether the specified immutable dictionary contains the specified key/value pair. + The immutable dictionary to search. + The key to locate in the immutable dictionary. + The value to locate on the specified key, if the key is found. + The type of the keys in the immutable dictionary. + The type of the values in the immutable dictionary. + + if this map contains the specified key/value pair; otherwise, . + + + Creates an empty immutable dictionary. + The type of keys stored by the dictionary. + The type of values stored by the dictionary. + An empty immutable dictionary. + + + Creates an empty immutable dictionary that uses the specified key comparer. + The implementation to use to determine the equality of keys in the dictionary. + The type of keys stored by the dictionary. + The type of values stored by the dictionary. + An empty immutable dictionary. + + + Creates an empty immutable dictionary that uses the specified key and value comparers. + The implementation to use to determine the equality of keys in the dictionary. + The implementation to use to determine the equality of values in the dictionary. + The type of keys stored by the dictionary. + The type of values stored by the dictionary. + An empty immutable dictionary. + + + Creates a new immutable dictionary builder. + The type of keys stored by the dictionary. + The type of values stored by the dictionary. + The new builder. + + + Creates a new immutable dictionary builder. + The key comparer. + The type of keys stored by the dictionary. + The type of values stored by the dictionary. + The new builder. + + + Creates a new immutable dictionary builder. + The key comparer. + The value comparer. + The type of keys stored by the dictionary. + The type of values stored by the dictionary. + The new builder. + + + Creates a new immutable dictionary that contains the specified items. + The items used to populate the dictionary before it's immutable. + The type of keys in the dictionary. + The type of values in the dictionary. + A new immutable dictionary that contains the specified items. + + + Creates a new immutable dictionary that contains the specified items and uses the specified key comparer. + The comparer implementation to use to compare keys for equality. + The items to add to the dictionary before it's immutable. + The type of keys in the dictionary. + The type of values in the dictionary. + A new immutable dictionary that contains the specified items and uses the specified comparer. + + + Creates a new immutable dictionary that contains the specified items and uses the specified key comparer. + The comparer implementation to use to compare keys for equality. + The comparer implementation to use to compare values for equality. + The items to add to the dictionary before it's immutable. + The type of keys in the dictionary. + The type of values in the dictionary. + A new immutable dictionary that contains the specified items and uses the specified comparer. + + + Gets the value for a given key if a matching key exists in the dictionary. + The dictionary to retrieve the value from. + The key to search for. + The type of the key. + The type of the value. + The value for the key, or default(TValue) if no matching key was found. + + + Gets the value for a given key if a matching key exists in the dictionary. + The dictionary to retrieve the value from. + The key to search for. + The default value to return if no matching key is found in the dictionary. + The type of the key. + The type of the value. + The value for the key, or if no matching key was found. + + + Constructs an immutable dictionary from an existing collection of elements, applying a transformation function to the source keys. + The source collection used to generate the immutable dictionary. + The function used to transform keys for the immutable dictionary. + The type of element in the source collection. + The type of key in the resulting immutable dictionary. + The immutable dictionary that contains elements from , with keys transformed by applying . + + + Constructs an immutable dictionary based on some transformation of a sequence. + The source collection used to generate the immutable dictionary. + The function used to transform keys for the immutable dictionary. + The key comparer to use for the dictionary. + The type of element in the source collection. + The type of key in the resulting immutable dictionary. + The immutable dictionary that contains elements from , with keys transformed by applying . + + + Enumerates a sequence of key/value pairs and produces an immutable dictionary of its contents. + The sequence of key/value pairs to enumerate. + The type of the keys in the dictionary. + The type of the values in the dictionary. + An immutable dictionary that contains the key/value pairs in the specified sequence. + + + Enumerates a sequence of key/value pairs and produces an immutable dictionary of its contents by using the specified key comparer. + The sequence of key/value pairs to enumerate. + The key comparer to use when building the immutable dictionary. + The type of the keys in the dictionary. + The type of the values in the dictionary. + An immutable dictionary that contains the key/value pairs in the specified sequence. + + + Enumerates a sequence of key/value pairs and produces an immutable dictionary of its contents by using the specified key and value comparers. + The sequence of key/value pairs to enumerate. + The key comparer to use when building the immutable dictionary. + The value comparer to use for the immutable dictionary. + The type of the keys in the dictionary. + The type of the values in the dictionary. + An immutable dictionary that contains the key/value pairs in the specified sequence. + + + Creates an immutable dictionary from the current contents of the builder's dictionary. + The builder to create the immutable dictionary from. + The type of the keys in the dictionary. + The type of the values in the dictionary. + An immutable dictionary that contains the current contents in the builder's dictionary. + + + Enumerates and transforms a sequence, and produces an immutable dictionary of its contents. + The sequence to enumerate to generate the dictionary. + The function that will produce the key for the dictionary from each sequence element. + The function that will produce the value for the dictionary from each sequence element. + The type of the elements in the sequence. + The type of the keys in the resulting dictionary. + The type of the values in the resulting dictionary. + An immutable dictionary that contains the items in the specified sequence. + + + Enumerates and transforms a sequence, and produces an immutable dictionary of its contents by using the specified key comparer. + The sequence to enumerate to generate the dictionary. + The function that will produce the key for the dictionary from each sequence element. + The function that will produce the value for the dictionary from each sequence element. + The key comparer to use for the dictionary. + The type of the elements in the sequence. + The type of the keys in the resulting dictionary. + The type of the values in the resulting dictionary. + An immutable dictionary that contains the items in the specified sequence. + + + Enumerates and transforms a sequence, and produces an immutable dictionary of its contents by using the specified key and value comparers. + The sequence to enumerate to generate the dictionary. + The function that will produce the key for the dictionary from each sequence element. + The function that will produce the value for the dictionary from each sequence element. + The key comparer to use for the dictionary. + The value comparer to use for the dictionary. + The type of the elements in the sequence. + The type of the keys in the resulting dictionary. + The type of the values in the resulting dictionary. + An immutable dictionary that contains the items in the specified sequence. + + + Represents an immutable, unordered collection of keys and values. + + NuGet package: System.Collections.Immutable (about immutable collections and how to install) + The type of the keys in the dictionary. + The type of the values in the dictionary. + + + Gets an empty immutable dictionary. + + + Adds an element with the specified key and value to the immutable dictionary. + The key of the element to add. + The value of the element to add. + The given key already exists in the dictionary but has a different value. + A new immutable dictionary that contains the additional key/value pair. + + + Adds the specified key/value pairs to the immutable dictionary. + The key/value pairs to add. + One of the given keys already exists in the dictionary but has a different value. + A new immutable dictionary that contains the additional key/value pairs. + + + Retrieves an empty immutable dictionary that has the same ordering and key/value comparison rules as this dictionary instance. + An empty dictionary with equivalent ordering and key/value comparison rules. + + + Determines whether this immutable dictionary contains the specified key/value pair. + The key/value pair to locate. + + if the specified key/value pair is found in the dictionary; otherwise, . + + + Determines whether the immutable dictionary contains an element with the specified key. + The key to locate. + + if the immutable dictionary contains an element with the specified key; otherwise, . + + + Determines whether the immutable dictionary contains an element with the specified value. + The value to locate. The value can be for reference types. + + if the dictionary contains an element with the specified value; otherwise, . + + + Returns an enumerator that iterates through the immutable dictionary. + An enumerator that can be used to iterate through the dictionary. + + + Removes the element with the specified key from the immutable dictionary. + The key of the element to remove. + A new immutable dictionary with the specified element removed; or this instance if the specified key cannot be found in the dictionary. + + + Removes the elements with the specified keys from the immutable dictionary. + The keys of the elements to remove. + A new immutable dictionary with the specified keys removed; or this instance if the specified keys cannot be found in the dictionary. + + + Sets the specified key and value in the immutable dictionary, possibly overwriting an existing value for the key. + The key of the entry to add. + The key value to set. + A new immutable dictionary that contains the specified key/value pair. + + + Sets the specified key/value pairs in the immutable dictionary, possibly overwriting existing values for the keys. + The key/value pairs to set in the dictionary. If any of the keys already exist in the dictionary, this method will overwrite their previous values. + A new immutable dictionary that contains the specified key/value pairs. + + + Adds an item to the . + The object to add to the . + + + Removes all items from the . + + + Copies the elements of the to an , starting at a particular index. + The one-dimensional that is the destination of the elements copied from . The must have zero-based indexing. + The zero-based index in at which copying begins. + + + Removes the first occurrence of a specific object from the . + The object to remove from the . + + if was successfully removed from the ; otherwise, . This method also returns if is not found in the original . + + + Adds an element with the provided key and value to the immutable dictionary. + The object to use as the key of the element to add. + The object to use as the value of the element to add. + + is . + An element with the same key already exists in the . + The is read-only. + + + Removes the element with the specified key from the generic dictionary. + The key of the element to remove. + + is . + The is read-only. + + if the element is successfully removed; otherwise, . This method also returns if was not found in the original generic dictionary. + + + Returns an enumerator that iterates through the collection. + An enumerator that can be used to iterate through the collection. + + + Copies the elements of the dictionary to an array, starting at a particular array index. + The one-dimensional array that is the destination of the elements copied from the dictionary. The array must have zero-based indexing. + The zero-based index in at which copying begins. + + + Adds an element with the provided key and value to the immutable dictionary object. + The object to use as the key of the element to add. + The object to use as the value of the element to add. + + + Clears this instance. + The dictionary object is read-only. + + + Determines whether the immutable dictionary object contains an element with the specified key. + The key to locate in the dictionary object. + + if the dictionary contains an element with the key; otherwise, . + + + Returns an object for the immutable dictionary object. + An enumerator object for the dictionary object. + + + Removes the element with the specified key from the immutable dictionary object. + The key of the element to remove. + + + Returns an enumerator that iterates through a collection. + An enumerator object that can be used to iterate through the collection. + + + See the interface. + Key of the entry to be added. + Value of the entry to be added. + A new immutable dictionary that contains the additional key/value pair. + + + See the interface. + Sequence of key/value pairs to be added to the dictionary. + A new immutable dictionary that contains the additional key/value pairs. + + + Retrieves an empty dictionary that has the same ordering and key-value comparison rules as this dictionary instance. + The immutable dictionary instance. + + + See the interface. + Key of the entry to be removed. + A new immutable dictionary with the specified element removed; or this instance if the specified key cannot be found in the dictionary. + + + See the interface. + Sequence of keys to be removed. + A new immutable dictionary with the specified keys removed; or this instance if the specified keys cannot be found in the dictionary. + + + See the interface. + Key of entry to be added. + Value of the entry to be added. + A new immutable dictionary that contains the specified key/value pair. + + + Applies a given set of key-value pairs to an immutable dictionary, replacing any conflicting keys in the resulting dictionary. + The key-value pairs to set on the map. Any keys that conflict with existing keys will replace the previous values. + A copy of the immutable dictionary with updated key-value pairs. + + + Creates an immutable dictionary with the same contents as this dictionary that can be efficiently mutated across multiple operations by using standard mutable interfaces. + A collection with the same contents as this dictionary that can be efficiently mutated across multiple operations by using standard mutable interfaces. + + + Determines whether this dictionary contains a specified key. + The key to search for. + The matching key located in the dictionary if found, or equalkey if no match is found. + + if a match for is found; otherwise, . + + + Gets the value associated with the specified key. + The key whose value will be retrieved. + When this method returns, contains the value associated with the specified key, if the key is found; otherwise, contains the default value for the type of the parameter. This parameter is passed uninitialized. + + is null. + + if the object that implements the dictionary contains an element with the specified key; otherwise, . + + + Gets an instance of the immutable dictionary that uses the specified key comparer. + The key comparer to use. + An instance of the immutable dictionary that uses the given comparer. + + + Gets an instance of the immutable dictionary that uses the specified key and value comparers. + The key comparer to use. + The value comparer to use. + An instance of the immutable dictionary that uses the given comparers. + + + Gets the number of key/value pairs in the immutable dictionary. + The number of key/value pairs in the dictionary. + + + Gets a value that indicates whether this instance of the immutable dictionary is empty. + + if this instance is empty; otherwise, . + + + Gets the associated with the specified key. + The type of the key. + The value associated with the specified key. If no results are found, the operation throws an exception. + + + Gets the key comparer for the immutable dictionary. + The key comparer. + + + Gets the keys in the immutable dictionary. + The keys in the immutable dictionary. + + + Gets a value indicating whether the is read-only. + + if the is read-only; otherwise, . + + + Gets or sets the with the specified key. + The type of the key. + An object of type associated with the . + + + Gets the keys. + A collection containing the keys. + + + Gets the values. + A collection containing the values. + + + Gets a value indicating whether access to the is synchronized (thread safe). + + if access to the is synchronized (thread safe); otherwise, . + + + Gets an object that can be used to synchronize access to the . + An object that can be used to synchronize access to the . + + + Gets a value indicating whether the object has a fixed size. + + if the object has a fixed size; otherwise, . + + + Gets a value indicating whether the is read-only. + + if the is read-only; otherwise, . + + + Gets or sets the element with the specified key. + The key. + The value stored under the specified key. + + + Gets an containing the keys of the . + An containing the keys of the object that implements . + + + Gets an containing the values in the . + An containing the values in the object that implements . + + + Gets the value comparer used to determine whether values are equal. + The value comparer used to determine whether values are equal. + + + Gets the values in the immutable dictionary. + The values in the immutable dictionary. + + + Represents a hash map that mutates with little or no memory allocations and that can produce or build on immutable hash map instances very efficiently. + + NuGet package: System.Collections.Immutable (about immutable collections and how to install) + + + + + Adds an element that has the specified key and value to the immutable dictionary. + The key of the element to add. + The value of the element to add. + + is null. + An element with the same key already exists in the dictionary. + The dictionary is read-only. + + + Adds the specified item to the immutable dictionary. + The object to add to the dictionary. + The dictionary is read-only. + + + Adds a sequence of values to this collection. + The items to add to this collection. + + + Removes all items from the immutable dictionary. + The dictionary is read-only. + + + Determines whether the immutable dictionary contains a specific value. + The object to locate in the dictionary. + + if is found in the dictionary; otherwise, . + + + Determines whether the immutable dictionary contains an element that has the specified key. + The key to locate in the dictionary. + + is null. + + if the dictionary contains an element with the key; otherwise, . + + + Determines whether the immutable dictionary contains an element that has the specified value. + The value to locate in the immutable dictionary. The value can be for reference types. + + if the dictionary contains an element with the specified value; otherwise, . + + + Returns an enumerator that iterates through the immutable dictionary. + An enumerator that can be used to iterate through the collection. + + + Gets the value for a given key if a matching key exists in the dictionary. + The key to search for. + The value for the key, or default(TValue) if no matching key was found. + + + Gets the value for a given key if a matching key exists in the dictionary. + The key to search for. + The default value to return if no matching key is found in the dictionary. + The value for the key, or if no matching key was found. + + + Removes the element with the specified key from the immutable dictionary. + The key of the element to remove. + + is null. + The dictionary is read-only. + + if the element is successfully removed; otherwise, . This method also returns if was not found in the dictionary. + + + Removes the first occurrence of a specific object from the immutable dictionary. + The object to remove from the dictionary. + The dictionary is read-only. + + if was successfully removed from the dictionary; otherwise, . This method also returns false if is not found in the dictionary. + + + Removes any entries with keys that match those found in the specified sequence from the immutable dictionary. + The keys for entries to remove from the dictionary. + + + Copies the elements of the dictionary to an array of type , starting at the specified array index. + The one-dimensional array that is the destination of the elements copied from the dictionary. The array must have zero-based indexing. + The zero-based index in at which copying begins. + + + Returns an enumerator that iterates through the collection. + An enumerator that can be used to iterate through the collection. + + + Copies the elements of the dictionary to an array of type , starting at the specified array index. + The one-dimensional array of type that is the destination of the elements copied from the dictionary. The array must have zero-based indexing. + The zero-based index in at which copying begins. + + + Adds an element with the provided key and value to the dictionary object. + The key of the element to add. + The value of the element to add. + + + Determines whether the dictionary object contains an element with the specified key. + The key to locate. + + if the dictionary contains an element with the key; otherwise, . + + + Returns an object for the dictionary. + + An object for the dictionary. + + + Removes the element with the specified key from the dictionary. + The key of the element to remove. + + + Returns an enumerator that iterates through a collection. + An enumerator object that can be used to iterate through the collection. + + + Creates an immutable dictionary based on the contents of this instance. + An immutable dictionary. + + + Determines whether this dictionary contains a specified key. + The key to search for. + The matching key located in the dictionary if found, or equalkey if no match is found. + + if a match for is found; otherwise, . + + + Returns the value associated with the specified key. + The key whose value will be retrieved. + When this method returns, contains the value associated with the specified key, if the key is found; otherwise, returns the default value for the type of the parameter. This parameter is passed uninitialized. + + is null. + + if the object that implements the immutable dictionary contains an element with the specified key; otherwise, . + + + Gets the number of elements contained in the immutable dictionary. + The number of elements contained in the immutable dictionary. + + + Gets or sets the element with the specified key. + The element to get or set. + + is . + The property is being retrieved, and is not found. + The property is being set, and the is read-only. + The element that has the specified key. + + + Gets or sets the key comparer. + The key comparer. + + + Gets a collection that contains the keys of the immutable dictionary. + A collection that contains the keys of the object that implements the immutable dictionary. + + + Gets a value that indicates whether the collection is read-only. + + if the collection is read-only; otherwise, . + + + Gets a collection containing the keys of the generic dictionary. + A collection containing the keys of the object that implements the generic dictionary. + + + Gets a collection containing the values in the generic dictionary. + A collection containing the values in the object that implements the generic dictionary. + + + Gets a value that indicates whether access to the is synchronized (thread safe). + + if access to the is synchronized (thread safe); otherwise, . + + + Gets an object that can be used to synchronize access to the . + An object that can be used to synchronize access to the . + + + Gets a value that indicates whether the object has a fixed size. + + if the object has a fixed size; otherwise, . + + + Gets a value that indicates whether the is read-only. + + if the is read-only; otherwise, . + + + Gets or sets the element with the specified key. + The key. + Value stored under specified key. + + + Gets an containing the keys of the . + An containing the keys of the object that implements . + + + Gets an containing the values in the . + An containing the values in the object that implements . + + + Gets or sets the value comparer. + The value comparer. + + + Gets a collection that contains the values of the immutable dictionary. + A collection that contains the values of the object that implements the dictionary. + + + Enumerates the contents of the immutable dictionary without allocating any memory. + + NuGet package: System.Collections.Immutable (about immutable collections and how to install) + + + + + Releases the resources used by the current instance of the class. + + + Advances the enumerator to the next element of the immutable dictionary. + The dictionary was modified after the enumerator was created. + + if the enumerator was successfully advanced to the next element; if the enumerator has passed the end of the dictionary. + + + Sets the enumerator to its initial position, which is before the first element in the dictionary. + The dictionary was modified after the enumerator was created. + + + Gets the element at the current position of the enumerator. + The element in the dictionary at the current position of the enumerator. + + + Gets the current element. + Current element in enumeration. + + + Provides a set of initialization methods for instances of the class. + + NuGet package: System.Collections.Immutable (about immutable collections and how to install) + + + Creates an empty immutable hash set. + The type of items to be stored in the immutable hash set. + An empty immutable hash set. + + + Creates a new immutable hash set that contains the specified item. + The item to prepopulate the hash set with. + The type of items in the immutable hash set. + A new immutable hash set that contains the specified item. + + + Creates a new immutable hash set that contains the specified array of items. + An array that contains the items to prepopulate the hash set with. + The type of items in the immutable hash set. + A new immutable hash set that contains the specified items. + + + Creates an empty immutable hash set that uses the specified equality comparer. + The object to use for comparing objects in the set for equality. + The type of items in the immutable hash set. + An empty immutable hash set. + + + Creates a new immutable hash set that contains the specified item and uses the specified equality comparer for the set type. + The object to use for comparing objects in the set for equality. + The item to prepopulate the hash set with. + The type of items in the immutable hash set. + A new immutable hash set that contains the specified item. + + + Creates a new immutable hash set that contains the items in the specified collection and uses the specified equality comparer for the set type. + The object to use for comparing objects in the set for equality. + An array that contains the items to prepopulate the hash set with. + The type of items stored in the immutable hash set. + A new immutable hash set that contains the specified items. + + + Creates a new immutable collection prefilled with the specified items. + The equality comparer. + The items to prepopulate. + The type of items stored by the collection. + The new immutable collection. + + + Creates a new immutable collection prefilled with the specified items. + The items to prepopulate. + The type of items stored by the collection. + The new immutable collection. + + + Creates a new immutable hash set builder. + The type of items stored by the collection. + The immutable hash set builder. + + + Creates a new immutable hash set builder. + The object to use for comparing objects in the set for equality. + The type of items stored by the collection. + The new immutable hash set builder. + + + Creates a new immutable hash set prefilled with the specified items. + The items to add to the hash set. + The type of items stored by the collection. + The new immutable hash set that contains the specified items. + + + Creates a new immutable hash set that contains the specified items and uses the specified equality comparer for the set type. + The object to use for comparing objects in the set for equality. + The items add to the collection before immutability is applied. + The type of items stored in the collection. + The new immutable hash set. + + + Enumerates a sequence and produces an immutable hash set of its contents. + The sequence to enumerate. + The type of the elements in the sequence. + An immutable hash set that contains the items in the specified sequence. + + + Enumerates a sequence, produces an immutable hash set of its contents, and uses the specified equality comparer for the set type. + The sequence to enumerate. + The object to use for comparing objects in the set for equality. + The type of the elements in the sequence. + An immutable hash set that contains the items in the specified sequence and uses the specified equality comparer. + + + Creates an immutable hash set from the current contents of the builder's set. + The builder to create the immutable hash set from. + The type of the elements in the hash set. + An immutable hash set that contains the current contents in the builder's set. + + + Represents an immutable, unordered hash set. + + NuGet package: System.Collections.Immutable (about immutable collections and how to install) + The type of elements in the hash set. + + + Gets an immutable hash set for this type that uses the default . + + + Adds the specified element to the hash set. + The element to add to the set. + A hash set that contains the added value and any values previously held by the object. + + + Retrieves an empty immutable hash set that has the same sorting and ordering semantics as this instance. + An empty hash set that has the same sorting and ordering semantics as this instance. + + + Determines whether this immutable hash set contains the specified element. + The object to locate in the immutable hash set. + + if is found in the ; otherwise, . + + + Removes the elements in the specified collection from the current immutable hash set. + The collection of items to remove from this set. + A new set with the items removed; or the original set if none of the items were in the set. + + + Returns an enumerator that iterates through the collection. + An enumerator that can be used to iterate through the collection. + + + Creates an immutable hash set that contains elements that exist in both this set and the specified set. + The collection to compare to the current set. + A new immutable set that contains any elements that exist in both sets. + + + Determines whether the current immutable hash set is a proper (strict) subset of a specified collection. + The collection to compare to the current set. + + if the current set is a proper subset of the specified collection; otherwise, . + + + Determines whether the current immutable hash set is a proper (strict) superset of a specified collection. + The collection to compare to the current set. + + if the current set is a proper superset of the specified collection; otherwise, . + + + Determines whether the current immutable hash set is a subset of a specified collection. + The collection to compare to the current set. + + if the current set is a subset of the specified collection; otherwise, . + + + Determines whether the current immutable hash set is a superset of a specified collection. + The collection to compare to the current set. + + if the current set is a superset of the specified collection; otherwise, . + + + Determines whether the current immutable hash set overlaps with the specified collection. + The collection to compare to the current set. + + if the current set and the specified collection share at least one common element; otherwise, . + + + Removes the specified element from this immutable hash set. + The element to remove. + A new set with the specified element removed, or the current set if the element cannot be found in the set. + + + Determines whether the current immutable hash set and the specified collection contain the same elements. + The collection to compare to the current set. + + if the sets are equal; otherwise, . + + + Creates an immutable hash set that contains only elements that are present either in the current set or in the specified collection, but not both. + The collection to compare to the current set. + A new set that contains the elements that are present only in the current set or in the specified collection, but not both. + + + Adds an item to the set. + The object to add to the set. + The set is read-only. + + + Removes all items from this set. + The set is read-only. + + + Copies the elements of the set to an array, starting at a particular index. + The one-dimensional array that is the destination of the elements copied from the set. The array must have zero-based indexing. + The zero-based index in at which copying begins. + + + Removes the first occurrence of a specific object from the set. + The object to remove from the set. + + if the element is successfully removed; otherwise, . + + + Returns an enumerator that iterates through the collection. + An enumerator that iterates through the collection. + + + Adds an element to the current set and returns a value that indicates whether the element was successfully added. + The element to add to the collection. + + if the element is added to the set; if the element is already in the set. + + + Removes all elements in the specified collection from the current set. + The collection of items to remove. + + + Modifies the current set so that it contains only elements that are also in a specified collection. + The collection to compare to the current collection. + + + Modifies the current set so that it contains only elements that are present either in the current set or in the specified collection, but not both. + The collection to compare to the current set. + + + Modifies the current set so that it contains all elements that are present in either the current set or in the specified collection. + The collection to compare to the current set. + + + Copies the elements of the set to an array, starting at a particular index. + The one-dimensional array that is the destination of the elements copied from the set. The array must have zero-based indexing. + The zero-based index in at which copying begins. + + + Returns an enumerator that iterates through a set. + An enumerator that can be used to iterate through the set. + + + Adds the specified element to this immutable set. + The element to add. + A new set with the element added, or this set if the element is already in the set. + + + Retrieves an empty set that has the same sorting and ordering semantics as this instance. + An empty set that has the same sorting or ordering semantics as this instance. + + + Removes the elements in the specified collection from the current set. + The collection of items to remove from this set. + A new set with the items removed; or the original set if none of the items were in the set. + + + Creates an immutable set that contains elements that exist in both this set and the specified set. + The collection to compare to the current set. + A new immutable set that contains any elements that exist in both sets. + + + Removes the specified element from this immutable set. + The element to remove. + A new set with the specified element removed, or the current set if the element cannot be found in the set. + + + Creates an immutable set that contains only elements that are present either in the current set or in the specified collection, but not both. + The collection to compare to the current set. + A new set that contains the elements that are present only in the current set or in the specified collection, but not both. + + + Creates a new immutable set that contains all elements that are present in either the current set or in the specified collection. + The collection to add elements from. + A new immutable set with the items added; or the original set if all the items were already in the set. + + + Creates an immutable hash set that has the same contents as this set and can be efficiently mutated across multiple operations by using standard mutable interfaces. + A set with the same contents as this set that can be efficiently mutated across multiple operations by using standard mutable interfaces. + + + Searches the set for a given value and returns the equal value it finds, if any. + The value to search for. + The value from the set that the search found, or the original value if the search yielded no match. + A value indicating whether the search was successful. + + + Creates a new immutable hash set that contains all elements that are present in either the current set or in the specified collection. + The collection to add elements from. + A new immutable hash set with the items added; or the original set if all the items were already in the set. + + + Gets an instance of the immutable hash set that uses the specified equality comparer for its search methods. + The equality comparer to use. + An instance of this immutable hash set that uses the given comparer. + + + Gets the number of elements in the immutable hash set. + The number of elements in the hash set. + + + Gets a value that indicates whether the current immutable hash set is empty. + + if this instance is empty; otherwise, . + + + Gets the object that is used to obtain hash codes for the keys and to check the equality of values in the immutable hash set. + The comparer used to obtain hash codes for the keys and check equality. + + + See the interface. + + if the is read-only; otherwise, . + + + See the interface. + + if access to the is synchronized (thread safe); otherwise, . + + + See . + An object that can be used to synchronize access to the . + + + Represents a hash set that mutates with little or no memory allocations and that can produce or build on immutable hash set instances very efficiently. + + NuGet package: System.Collections.Immutable (about immutable collections and how to install) + + + + Adds the specified item to the immutable hash set. + The item to add. + + if the item did not already belong to the collection; otherwise, . + + + Removes all items from the immutable hash set. + The hash set is read-only. + + + Determines whether the immutable hash set contains a specific value. + The object to locate in the hash set. + + if is found in the hash set ; otherwise, . + + + Removes all elements in the specified collection from the current hash set. + The collection of items to remove from the set. + + + Returns an enumerator that iterates through the immutable hash set. + An enumerator that can be used to iterate through the set. + + + Modifies the current set so that it contains only elements that are also in a specified collection. + The collection to compare to the current set. + + + Determines whether the current set is a proper (strict) subset of a specified collection. + The collection to compare to the current set. + + if the current set is a proper subset of ; otherwise, . + + + Determines whether the current set is a proper (strict) superset of a specified collection. + The collection to compare to the current set. + + if the current set is a proper superset of ; otherwise, . + + + Determines whether the current set is a subset of a specified collection. + The collection to compare to the current set. + + if the current set is a subset of ; otherwise, . + + + Determines whether the current set is a superset of a specified collection. + The collection to compare to the current set. + + if the current set is a superset of ; otherwise, . + + + Determines whether the current set overlaps with the specified collection. + The collection to compare to the current set. + + if the current set and share at least one common element; otherwise, . + + + Removes the first occurrence of a specific object from the immutable hash set. + The object to remove from the set. + The set is read-only. + + if was successfully removed from the set ; otherwise, . This method also returns if is not found in the original set. + + + Determines whether the current set and the specified collection contain the same elements. + The collection to compare to the current set. + + if the current set is equal to ; otherwise, . + + + Modifies the current set so that it contains only elements that are present either in the current set or in the specified collection, but not both. + The collection to compare to the current set. + + + Adds an item to the hash set. + The object to add to the set. + The set is read-only. + + + Copies the elements of the hash set to an array, starting at a particular array index. + The one-dimensional array that is the destination of the elements copied from the hash set. The array must have zero-based indexing. + The zero-based index in at which copying begins. + + + Returns an enumerator that iterates through the collection. + An enumerator that can be used to iterate through the collection. + + + Returns an enumerator that iterates through a collection. + An enumerator that can be used to iterate through the collection. + + + Creates an immutable hash set based on the contents of this instance. + An immutable set. + + + Searches the set for a given value and returns the equal value it finds, if any. + The value for which to search. + The value from the set that the search found, or the original value if the search yielded no match. + A value indicating whether the search was successful. + + + Modifies the current set so that it contains all elements that are present in both the current set and in the specified collection. + The collection to compare to the current set. + + + Gets the number of elements contained in the immutable hash set. + The number of elements contained in the immutable hash set. + + + Gets or sets the key comparer. + The key comparer. + + + Gets a value indicating whether the is read-only. + + if the is read-only; otherwise, . + + + Enumerates the contents of the immutable hash set without allocating any memory. + + NuGet package: System.Collections.Immutable (about immutable collections and how to install) + + + + Releases the resources used by the current instance of the class. + + + Advances the enumerator to the next element of the immutable hash set. + The hash set was modified after the enumerator was created. + + if the enumerator was successfully advanced to the next element; if the enumerator has passed the end of the hash set. + + + Sets the enumerator to its initial position, which is before the first element in the hash set. + The hash set was modified after the enumerator was created. + + + Gets the element at the current position of the enumerator. + The element at the current position of the enumerator. + + + Gets the current element. + The element in the collection at the current position of the enumerator. + + + Contains interlocked exchange mechanisms for immutable collections. + + NuGet package: System.Collections.Immutable (about immutable collections and how to install) + + + Obtains the value from a dictionary after having added it or updated an existing entry. + The variable or field to atomically update if the specified is not in the dictionary. + The key for the value to add or update. + The value to use if no previous value exists. + The function that receives the key and prior value and returns the new value with which to update the dictionary. + The type of key stored by the dictionary. + The type of value stored by the dictionary. + The added or updated value. + + + Obtains the value from a dictionary after having added it or updated an existing entry. + The variable or field to atomically update if the specified is not in the dictionary. + The key for the value to add or update. + The function that receives the key and returns a new value to add to the dictionary when no value previously exists. + The function that receives the key and prior value and returns the new value with which to update the dictionary. + The type of key stored by the dictionary. + The type of value stored by the dictionary. + The added or updated value. + + + Atomically enqueues an element to the end of a queue. + The variable or field to atomically update. + The value to enqueue. + The type of items contained in the collection. + + + Gets the value for the specified key from the dictionary, or if the key was not found, adds a new value to the dictionary. + The variable or field to atomically update if the specified key is not in the dictionary. + The key for the value to get or add. + The value to add to the dictionary the key is not found. + The type of the keys contained in the collection. + The type of the values contained in the collection. + The value at the specified key or if the key was not present. + + + Gets the value for the specified key from the dictionary, or if the key was not found, adds a new value to the dictionary. + The variable or field to atomically update if the specified is not in the dictionary. + The key for the value to retrieve or add. + The function to execute to obtain the value to insert into the dictionary if the key is not found. This delegate will not be invoked more than once. + The type of the keys contained in the collection. + The type of the values contained in the collection. + The value at the specified key or if the key was not present. + + + Gets the value for the specified key from the dictionary, or if the key was not found, adds a new value to the dictionary. + The variable or field to update if the specified is not in the dictionary. + The key for the value to retrieve or add. + The function to execute to obtain the value to insert into the dictionary if the key is not found. + The argument to pass to the value factory. + The type of the keys contained in the collection. + The type of the values contained in the collection. + The type of the argument supplied to the value factory. + The value at the specified key or if the key was not present. + + + Compares two immutable arrays for equality and, if they are equal, replaces one of the arrays. + The destination, whose value is compared with and possibly replaced. + The value that replaces the destination value if the comparison results in equality. + The value that is compared to the value at . + The type of element stored by the array. + The original value in . + + + Sets an array to the specified array and returns a reference to the original array, as an atomic operation. + The array to set to the specified value. + The value to which the parameter is set. + The type of element stored by the array. + The original value of . + + + Sets an array to the specified array if the array has not been initialized. + The array to set to the specified value. + The value to which the parameter is set, if it's not initialized. + The type of element stored by the array. + + if the array was assigned the specified value; otherwise, . + + + Pushes a new element onto the stack. + The stack to update. + The value to push on the stack. + The type of items in the stack. + + + Adds the specified key and value to the dictionary if the key is not in the dictionary. + The dictionary to update with the specified key and value. + The key to add, if is not already defined in the dictionary. + The value to add. + The type of the keys contained in the collection. + The type of the values contained in the collection. + + if the key is not in the dictionary; otherwise, . + + + Atomically removes and returns the specified element at the head of the queue, if the queue is not empty. + The variable or field to atomically update. + Set to the value from the head of the queue, if the queue not empty. + The type of items in the queue. + + if the queue is not empty and the head element is removed; otherwise, . + + + Removes an element from the top of the stack, if there is an element to remove. + The stack to update. + Receives the value removed from the stack, if the stack is not empty. + The type of items in the stack. + + if an element is removed from the stack; otherwise, . + + + Removes the element with the specified key, if the key exists. + The dictionary to update. + The key to remove. + Receives the value of the removed item, if the dictionary is not empty. + The type of the keys contained in the collection. + The type of the values contained in the collection. + + if the key was found and removed; otherwise, . + + + Sets the specified key to the specified value if the specified key already is set to a specific value. + The dictionary to update. + The key to update. + The new value to set. + The current value for in order for the update to succeed. + The type of the keys contained in the collection. + The type of the values contained in the collection. + + if and are present in the dictionary and comparison was updated to ; otherwise, . + + + Mutates a value in-place with optimistic locking transaction semantics via a specified transformation function. The transformation is retried as many times as necessary to win the optimistic locking race. + The variable or field to be changed, which may be accessed by multiple threads. + A function that mutates the value. This function should be side-effect free, as it may run multiple times when races occur with other threads. + The type of data. + + if the location's value is changed by applying the result of the function; if the location's value remained the same because the last invocation of returned the existing value. + + + Mutates an immutable array in-place with optimistic locking transaction semantics via a specified transformation function. + The transformation is retried as many times as necessary to win the optimistic locking race. + The immutable array to be changed. + A function that produces the new array from the old. This function should be side-effect free, as it may run multiple times when races occur with other threads. + The type of data in the immutable array. + + if the location's value is changed by applying the result of the function; if the location's value remained the same because the last invocation of returned the existing value. + + + Mutates a value in-place with optimistic locking transaction semantics via a specified transformation function. The transformation is retried as many times as necessary to win the optimistic locking race. + The variable or field to be changed, which may be accessed by multiple threads. + A function that mutates the value. This function should be side-effect free, as it may run multiple times when races occur with other threads. + The argument to pass to . + The type of data. + The type of argument passed to the . + + if the location's value is changed by applying the result of the function; if the location's value remained the same because the last invocation of returned the existing value. + + + Mutates an immutable array in-place with optimistic locking transaction semantics via a specified transformation function. + The transformation is retried as many times as necessary to win the optimistic locking race. + The immutable array to be changed. + A function that produces the new array from the old. This function should be side-effect free, as it may run multiple times when races occur with other threads. + The argument to pass to . + The type of data in the immutable array. + The type of argument passed to the . + + if the location's value is changed by applying the result of the function; if the location's value remained the same because the last invocation of returned the existing value. + + + Provides a set of initialization methods for instances of the class. + + NuGet package: System.Collections.Immutable (about immutable collections and how to install) + + + Creates an empty immutable list. + The type of items to be stored in the . + An empty immutable list. + + + Creates a new immutable list that contains the specified item. + The item to prepopulate the list with. + The type of items in the . + A new that contains the specified item. + + + Creates a new immutable list that contains the specified array of items. + An array that contains the items to prepopulate the list with. + The type of items in the . + A new immutable list that contains the specified items. + + + Creates a new immutable list that contains the items from the specified span of items. + A span that contains the items to prepopulate the list with. + The type of items stored by the collection. + A new immutable list that contains the specified items. + + + Creates a new immutable list builder. + The type of items stored by the collection. + The immutable collection builder. + + + Creates a new immutable list that contains the specified items. + The items to add to the list. + The type of items in the . + An immutable list that contains the specified items. + + + Searches for the specified object and returns the zero-based index of the first occurrence within the list. + The list to search. + The object to locate in the list. The value can be null for reference types. + The type of items in the list. + The zero-based index of the first occurrence of item within the range of elements in the list that extends from index to the last element, if found; otherwise, -1. + + + Searches for the specified object and returns the zero-based index of the first occurrence within the list. + The list to search. + The object to locate in the Immutable list. The value can be null for reference types. + The equality comparer to use in the search. + The type of items in the list. + The zero-based index of the first occurrence of item within the range of elements in the immutable list that extends from index to the last element, if found; otherwise, -1. + + + Searches for the specified object and returns the zero-based index of the first occurrence within the range of elements in the immutable list that extends from the specified index to the last element. + The list to search. + The object to locate in the Immutable list. The value can be null for reference types. + The zero-based starting index of the search. 0 (zero) is valid in an empty list. + The type of items in the list. + The zero-based index of the first occurrence of item within the range of elements in the Immutable list that extends from index to the last element, if found; otherwise, -1. + + + Searches for the specified object and returns the zero-based index of the first occurrence within the range of elements in the immutable list that extends from the specified index to the last element. + The list to search. + The object to locate in the Immutable list. The value can be null for reference types. + The zero-based starting index of the search. 0 (zero) is valid in an empty list. + The number of elements in the section to search. + The type of items in the list. + The zero-based index of the first occurrence of item within the range of elements in the Immutable list that extends from index to the last element, if found; otherwise, -1. + + + Searches for the specified object and returns the zero-based index of the last occurrence within the entire immutable list. + The list to search. + The object to locate in the Immutable list. The value can be null for reference types. + The type of items in the list. + The zero-based index of the last occurrence of item within the entire the Immutable list, if found; otherwise, -1. + + + Searches for the specified object and returns the zero-based index of the last occurrence within the entire immutable list. + The list to search. + The object to locate in the Immutable list. The value can be null for reference types. + The equality comparer to use in the search. + The type of items in the list. + The zero-based index of the last occurrence of item within the entire the Immutable list, if found; otherwise, -1. + + + Searches for the specified object and returns the zero-based index of the last occurrence within the range of elements in the immutable list that extends from the first element to the specified index. + The list to search. + The object to locate in the Immutable list. The value can be null for reference types. + The zero-based starting index of the backward search. + The type of items in the list. + The zero-based index of the last occurrence of item within the range of elements in the Immutable list that extends from the first element to index, if found; otherwise, -1. + + + Searches for the specified object and returns the zero-based index of the last occurrence within the range of elements in the immutable list that extends from the first element to the specified index. + The list to search. + The object to locate in the Immutable list. The value can be null for reference types. + The zero-based starting index of the backward search. + The number of elements in the section to search. + The type of items in the list. + The zero-based index of the last occurrence of item within the range of elements in the Immutable list that extends from the first element to index, if found; otherwise, -1. + + + Removes the specified value from this list. + The list to search. + The value to remove. + The type of items in the list. + A new immutable list with the element removed, or this list if the element is not in this list. + + + Removes the specified values from this list. + The list to search. + The items to remove if matches are found in this list. + The type of items in the list. + A new immutable list with the elements removed. + + + Replaces the first equal element in the list with the specified element. + The list to search. + The element to replace. + The element to replace the old element with. + The type of items in the list. + + does not exist in the list. + The new list -- even if the value being replaced is equal to the new value for that position. + + + Enumerates a sequence and produces an immutable list of its contents. + The sequence to enumerate. + The type of the elements in the sequence. + An immutable list that contains the items in the specified sequence. + + + Creates an immutable list from the current contents of the builder's collection. + The builder to create the immutable list from. + The type of the elements in the list. + An immutable list that contains the current contents in the builder's collection. + + + Represents an immutable list, which is a strongly typed list of objects that can be accessed by index. + + NuGet package: System.Collections.Immutable (about immutable collections and how to install) + The type of elements in the list. + + + Gets an empty immutable list. + + + Adds the specified object to the end of the immutable list. + The object to add. + A new immutable list with the object added. + + + Adds the elements of the specified collection to the end of the immutable list. + The collection whose elements will be added to the end of the list. + A new immutable list with the elements added. + + + Searches the entire sorted list for an element using the default comparer and returns the zero-based index of the element. + The object to locate. The value can be for reference types. + The default comparer cannot find a comparer implementation of the for type T. + The zero-based index of item in the sorted List, if item is found; otherwise, a negative number that is the bitwise complement of the index of the next element that is larger than item or, if there is no larger element, the bitwise complement of . + + + Searches the entire sorted list for an element using the specified comparer and returns the zero-based index of the element. + The object to locate. The value can be null for reference types. + The comparer implementation to use when comparing elements or null to use the default comparer. + comparer is , and the default comparer cannot find an comparer implementation for type T. + The zero-based index of item in the sorted List, if item is found; otherwise, a negative number that is the bitwise complement of the index of the next element that is larger than item or, if there is no larger element, the bitwise complement of . + + + Searches a range of elements in the sorted list for an element using the specified comparer and returns the zero-based index of the element. + The zero-based starting index of the range to search. + The length of the range to search. + The object to locate. The value can be null for reference types. + The comparer implementation to use when comparing elements, or to use the default comparer. + index is less than 0 or is less than 0. + index and do not denote a valid range in the list. + + is , and the default comparer cannot find an comparer implementation for type T. + The zero-based index of item in the sorted list, if item is found; otherwise, a negative number that is the bitwise complement of the index of the next element that is larger than item or, if there is no larger element, the bitwise complement of . + + + Removes all elements from the immutable list. + An empty list that retains the same sort or unordered semantics that this instance has. + + + Determines whether this immutable list contains the specified value. + The value to locate. + + if the list contains the specified value; otherwise, . + + + Converts the elements in the current immutable list to another type, and returns a list containing the converted elements. + A delegate that converts each element from one type to another type. + The type of the elements of the target array. + A list of the target type containing the converted elements from the current . + + + Copies the entire immutable list to a compatible one-dimensional array, starting at the beginning of the target array. + The one-dimensional array that is the destination of the elements copied from the immutable list. The array must have zero-based indexing. + + + Copies the entire immutable list to a compatible one-dimensional array, starting at the specified index of the target array. + The one-dimensional array that is the destination of the elements copied from the immutable list. The array must have zero-based indexing. + The zero-based index in at which copying begins. + + + Copies a range of elements from the immutable list to a compatible one-dimensional array, starting at the specified index of the target array. + The zero-based index in the source immutable list at which copying begins. + The one-dimensional array that is the destination of the elements copied from the immutable list. The array must have zero-based indexing. + The zero-based index in array at which copying begins. + The number of elements to copy. + + + Determines whether the immutable list contains elements that match the conditions defined by the specified predicate. + The delegate that defines the conditions of the elements to search for. + + if the immutable list contains one or more elements that match the conditions defined by the specified predicate; otherwise, . + + + Searches for an element that matches the conditions defined by the specified predicate, and returns the first occurrence within the entire immutable list. + The delegate that defines the conditions of the element to search for. + The first element that matches the conditions defined by the specified predicate, if found; otherwise, the default value for type . + + + Retrieves all the elements that match the conditions defined by the specified predicate. + The delegate that defines the conditions of the elements to search for. + An immutable list that contains all the elements that match the conditions defined by the specified predicate, if found; otherwise, an empty immutable list. + + + Searches for an element that matches the conditions defined by the specified predicate, and returns the zero-based index of the first occurrence within the range of elements in the immutable list that starts at the specified index and contains the specified number of elements. + The zero-based starting index of the search. + The number of elements in the section to search. + The delegate that defines the conditions of the element to search for. + The zero-based index of the first occurrence of an element that matches the conditions defined by match, if found; otherwise, ?1. + + + Searches for an element that matches the conditions defined by the specified predicate, and returns the zero-based index of the first occurrence within the range of elements in the immutable list that extends from the specified index to the last element. + The zero-based starting index of the search. + The delegate that defines the conditions of the element to search for. + The zero-based index of the first occurrence of an element that matches the conditions defined by match, if found; otherwise, ?1. + + + Searches for an element that matches the conditions defined by the specified predicate, and returns the zero-based index of the first occurrence within the entire immutable list. + The delegate that defines the conditions of the element to search for. + The zero-based index of the first occurrence of an element that matches the conditions defined by match, if found; otherwise, -1. + + + Searches for an element that matches the conditions defined by the specified predicate, and returns the last occurrence within the entire immutable list. + The delegate that defines the conditions of the element to search for. + The last element that matches the conditions defined by the specified predicate, if found; otherwise, the default value for type . + + + Searches for an element that matches the conditions defined by the specified predicate, and returns the zero-based index of the last occurrence within the range of elements in the immutable list that contains the specified number of elements and ends at the specified index. + The zero-based starting index of the backward search. + The number of elements in the section to search. + The delegate that defines the conditions of the element to search for. + The zero-based index of the last occurrence of an element that matches the conditions defined by , if found; otherwise, ?1. + + + Searches for an element that matches the conditions defined by the specified predicate, and returns the zero-based index of the last occurrence within the range of elements in the immutable list that extends from the first element to the specified index. + The zero-based starting index of the backward search. + The delegate that defines the conditions of the element to search for. + The zero-based index of the last occurrence of an element that matches the conditions defined by , if found; otherwise, ?1. + + + Searches for an element that matches the conditions defined by the specified predicate, and returns the zero-based index of the last occurrence within the entire immutable list. + The delegate that defines the conditions of the element to search for. + The zero-based index of the last occurrence of an element that matches the conditions defined by , if found; otherwise, ?1. + + + Performs the specified action on each element of the immutable list. + The delegate to perform on each element of the immutable list. + + + Returns an enumerator that iterates through the immutable list. + An enumerator that can be used to iterate through the immutable list. + + + Creates a shallow copy of a range of elements in the source immutable list. + The zero-based index at which the range starts. + The number of elements in the range. + A shallow copy of a range of elements in the source immutable list. + + + Searches for the specified object and returns the zero-based index of the first occurrence within the entire immutable list. + The object to locate in the immutable list. The value can be for reference types. + The zero-based index of the first occurrence of within the entire immutable list, if found; otherwise, ?1. + + + Searches for the specified object and returns the zero-based index of the first occurrence within the range of elements in the list that starts at the specified index and contains the specified number of elements. + The object to locate in the list The value can be null for reference types. + The zero-based starting index of the search. 0 (zero) is valid in an empty list. + The number of elements in the section to search. + The equality comparer to use in the search. + The zero-based index of the first occurrence of item within the range of elements in the list that starts at index and contains count number of elements, if found; otherwise, -1. + + + Inserts the specified object into the immutable list at the specified index. + The zero-based index at which to insert the object. + The object to insert. + The new immutable list after the object is inserted. + + + Inserts the elements of a collection into the immutable list at the specified index. + The zero-based index at which to insert the elements. + The collection whose elements should be inserted. + The new immutable list after the elements are inserted. + + + Gets a read-only reference to the element of the set at the given . + The 0-based index of the element in the set to return. + + is negative or not less than . + A read-only reference to the element at the given position. + + + Searches for the specified object and returns the zero-based index of the last occurrence within the range of elements in the list that contains the specified number of elements and ends at the specified index. + The object to locate in the list. The value can be null for reference types. + The zero-based starting index of the backward search. + The number of elements in the section to search. + The equality comparer to use in the search. + The zero-based index of the last occurrence of item within the range of elements in the list that contains count number of elements and ends at index, if found; otherwise, -1. + + + Removes the first occurrence of the specified object from this immutable list. + The object to remove. + A new list with the object removed, or this list if the specified object is not in this list. + + + Removes the first occurrence of the object that matches the specified value from this immutable list. + The value of the element to remove from the list. + The equality comparer to use in the search. + A new list with the object removed, or this list if the specified object is not in this list. + + + Removes all the elements that match the conditions defined by the specified predicate. + The delegate that defines the conditions of the elements to remove. + The new list with the elements removed. + + + Removes the element at the specified index. + The zero-based index of the element to remove. + A new list with the element removed. + + + Removes a range of elements from this immutable list. + The collection whose elements should be removed if matches are found in this list. + A new list with the elements removed. + + + Removes the specified values from this list. + The items to remove if matches are found in this list. + The equality comparer to use in the search. + A new list with the elements removed. + + + Removes a range of elements, starting from the specified index and containing the specified number of elements, from this immutable list. + The starting index to begin removal. + The number of elements to remove. + A new list with the elements removed. + + + Replaces the specified element in the immutable list with a new element. + The element to replace. + The element to replace with. + + does not exist in the immutable list. + The new list with the replaced element, even if it is equal to the old element. + + + Replaces the specified element in the immutable list with a new element. + The element to replace in the list. + The element to replace with. + The comparer to use to check for equality. + A new list with the object replaced, or this list if the specified object is not in this list. + + + Reverses the order of the elements in the entire immutable list. + The reversed list. + + + Reverses the order of the elements in the specified range of the immutable list. + The zero-based starting index of the range to reverse. + The number of elements in the range to reverse. + The reversed list. + + + Replaces an element at a given position in the immutable list with the specified element. + The position in the list of the element to replace. + The element to replace the old element with. + The new list with the replaced element, even if it is equal to the old element at that position. + + + Sorts the elements in the entire immutable list using the default comparer. + The sorted list. + + + Sorts the elements in the entire immutable list using the specified comparer. + The implementation to use when comparing elements, or to use the default comparer (). + The sorted list. + + + Sorts the elements in the entire immutable list using the specified comparer. + The delegate to use when comparing elements. + + is . + The sorted list. + + + Sorts a range of elements in the immutable list using the specified comparer. + The zero-based starting index of the range to sort. + The length of the range to sort. + The implementation to use when comparing elements, or to use the default comparer (). + The sorted list. + + + Adds the specified item to the immutable list. + The item to add. + Always thrown. + + + Removes all items from the immutable list. + + + + Removes the first occurrence of a specific object from the immutable list. + The object to remove. + Always thrown. + + if was successfully removed from the list; otherwise, . This method also returns if is not found in the original list. + + + Returns an enumerator that iterates through the immutable list. + An enumerator that can be used to iterate through the list. + + + Inserts an object in the immutable list at the specified index. + The zero-based index at which should be inserted. + The object to insert. + + + + Removes the value at the specified index. + The zero-based index of the item to remove. + + + + Copies the entire immutable list to a compatible one-dimensional array, starting at the specified array index. + The one-dimensional array that is the destination of the elements copied from immutable list. + The zero-based index in at which copying begins. + + + Returns an enumerator that iterates through the immutable list. + An enumerator that can be used to iterate through the list. + + + Adds an item to the immutable list. + The object to add to the list. + Always thrown. + The position into which the new element was inserted, or -1 to indicate that the item was not inserted into the list. + + + Removes all items from the immutable list. + Always thrown. + + + Determines whether the immutable list contains a specific value. + The object to locate in the list. + + + if the object is found in the list; otherwise, . + + + Determines the index of a specific item in the immutable list. + The object to locate in the list. + + The index of if found in the list; otherwise, -1. + + + Inserts an item into the immutable list at the specified index. + The zero-based index at which should be inserted. + The object to insert into the list. + Always thrown. + + + Removes the first occurrence of a specific object from the immutable list. + The object to remove from the list. + Always thrown. + + + Removes the item at the specified index of the immutable list. + The zero-based index of the item to remove. + Always thrown. + + + Adds the specified value to this immutable list. + The value to add. + A new list with the element added. + + + Adds the specified values to this immutable list. + The values to add. + A new list with the elements added. + + + Retrieves an empty list that has the same sorting and ordering semantics as this instance. + An empty list that has the same sorting and ordering semantics as this instance. + + + Inserts the specified element at the specified index in the immutable list. + The index at which to insert the value. + The element to insert. + A new immutable list that includes the specified element. + + + Inserts the specified elements at the specified index in the immutable list. + The index at which to insert the elements. + The elements to insert. + A new immutable list that includes the specified elements. + + + Removes the element with the specified value from the list. + The value of the element to remove from the list. + The comparer to use to compare elements for equality. + A new with the specified element removed. + + + Removes all the elements that match the conditions defined by the specified predicate. + The delegate that defines the conditions of the elements to remove. + A new immutable list with the elements removed. + + + Removes the element at the specified index of the immutable list. + The index of the element to remove. + A new list with the element removed. + + + Removes a range of elements from this immutable list that match the items specified. + The range of items to remove from the list, if found. + The equality comparer to use to compare elements. + + or is . + An immutable list with the items removed. + + + Removes the specified number of elements at the specified location from this list. + The starting index of the range of elements to remove. + The number of elements to remove. + A new list with the elements removed. + + + Replaces an element in the list with the specified element. + The element to replace. + The element to replace the old element with. + The equality comparer to use in the search. + + does not exist in the list. + The new list. + + + Replaces an element in the list at a given position with the specified element. + The position in the list of the element to replace. + The element to replace the old element with. + The new list. + + + Creates a list that has the same contents as this list and can be efficiently mutated across multiple operations using standard mutable interfaces. + The created list with the same contents as this list. + + + Determines whether every element in the immutable list matches the conditions defined by the specified predicate. + The delegate that defines the conditions to check against the elements. + + if every element in the immutable list matches the conditions defined by the specified predicate; otherwise, . If the list has no elements, the return value is . + + + Gets the number of elements contained in the list. + The number of elements in the list. + + + Gets a value that indicates whether this list is empty. + + if the list is empty; otherwise, . + + + Gets the element at the specified index of the list. + The index of the element to retrieve. + In a get operation, is negative or not less than . + The element at the specified index. + + + Gets a value indicating whether the is read-only. + + if the is read-only; otherwise, . + + + Gets or sets the value at the specified index. + The zero-based index of the item to access. + Thrown from getter when is negative or not less than . + Always thrown from the setter. + Value stored in the specified index. + + + This type is immutable, so it is always thread-safe. See the interface. + Boolean value determining whether the collection is thread-safe. + + + See . + Object used for synchronizing access to the collection. + + + Gets a value indicating whether the has a fixed size. + + if the has a fixed size; otherwise, . + + + Gets a value indicating whether the is read-only. + + if the is read-only; otherwise, . + + + Gets or sets the at the specified index. + The index. + Thrown from getter when is negative or not less than . + Always thrown from the setter. + The value at the specified index. + + + Represents a list that mutates with little or no memory allocations and that can produce or build on immutable list instances very efficiently. + + NuGet package: System.Collections.Immutable (about immutable collections and how to install) + + + + Adds an item to the immutable list. + The item to add to the list. + + + Adds a series of elements to the end of this list. + The elements to add to the end of the list. + + + Searches the entire for an element using the default comparer and returns the zero-based index of the element. + The object to locate. The value can be null for reference types. + The default comparer cannot find an implementation of the generic interface or the interface for type T. + The zero-based index of item in the , if item is found; otherwise, a negative number that is the bitwise complement of the index of the next element that is larger than . + + + Searches the entire for an element using the specified comparer and returns the zero-based index of the element. + The object to locate. This value can be null for reference types. + The implementation to use when comparing elements, or for the default comparer. + + is , and the default comparer cannot find an implementation of the generic interface or the interface for type T. + The zero-based index of item in the , if item is found; otherwise, a negative number that is the bitwise complement of the index of the next element that is larger than . + + + Searches the specified range of the for an element using the specified comparer and returns the zero-based index of the element. + The zero-based starting index of the range to search. + The length of the range to search. + The object to locate. This value can be null for reference types. + The implementation to use when comparing elements, or for the default comparer. + + is less than 0. +-or- + + is less than 0. + + and do not denote a valid range in the . + + is , and the default comparer cannot find an implementation of the generic interface or the interface for type T. + The zero-based index of item in the , if item is found; otherwise, a negative number that is the bitwise complement of the index of the next element that is larger than . + + + Removes all items from the immutable list. + + + Determines whether the immutable list contains a specific value. + The object to locate in the list. + + if item is found in the list; otherwise, . + + + Creates a new immutable list from the list represented by this builder by using the converter function. + The converter function. + The type of the output of the delegate converter function. + A new immutable list from the list represented by this builder. + + + Copies the entire immutable list to a compatible one-dimensional array, starting at the beginning of the target array. + The one-dimensional array that is the destination of the elements copied from the immutable list. The array must have zero-based indexing. + + + Copies the entire immutable list to a compatible one-dimensional array, starting at the specified index of the target array. + The one-dimensional array that is the destination of the elements copied from the immutable list. The array must have zero-based indexing. + The zero-based index in array at which copying begins. + + + Copies the entire immutable list to a compatible one-dimensional array, starting at the specified index of the target array. + The zero-based index in the source immutable list at which copying begins. + The one-dimensional array that is the destination of the elements copied from the immutable list. The array must have zero-based indexing. + The zero-based index in at which copying begins. + The number of elements to copy. + + + Determines whether the immutable list contains elements that match the conditions defined by the specified predicate. + The delegate that defines the conditions of the elements to search for. + + if the immutable list contains one or more elements that match the conditions defined by the specified predicate; otherwise, . + + + Searches for an element that matches the conditions defined by the specified predicate, and returns the first occurrence within the entire immutable list. + The delegate that defines the conditions of the element to search for. + The first element that matches the conditions defined by the specified predicate, if found; otherwise, the default value for type . + + + Retrieves all the elements that match the conditions defined by the specified predicate. + The delegate that defines the conditions of the elements to search for. + An immutable list containing all the elements that match the conditions defined by the specified predicate, if found; otherwise, an empty immutable list. + + + Searches for an element that matches the conditions defined by the specified predicate, and returns the zero-based index of the first occurrence within the range of elements in the immutable list that starts at the specified index and contains the specified number of elements. + The zero-based starting index of the search. + The number of elements in the section to search. + The delegate that defines the conditions of the element to search for. + The zero-based index of the first occurrence of an element that matches the conditions defined by , if found; otherwise, -1. + + + Searches for an element that matches the conditions defined by the specified predicate, and returns the zero-based index of the first occurrence within the range of elements in the immutable list that extends from the specified index to the last element. + The zero-based starting index of the search. + The delegate that defines the conditions of the element to search for. + The zero-based index of the first occurrence of an element that matches the conditions defined by , if found; otherwise, -1. + + + Searches for an element that matches the conditions defined by the specified predicate, and returns the zero-based index of the first occurrence within the entire immutable list. + The delegate that defines the conditions of the element to search for. + The zero-based index of the first occurrence of an element that matches the conditions defined by , if found; otherwise, -1. + + + Searches for an element that matches the conditions defined by the specified predicate, and returns the last occurrence within the entire immutable list. + The delegate that defines the conditions of the element to search for. + The last element that matches the conditions defined by the specified predicate, found; otherwise, the default value for type . + + + Searches for an element that matches the conditions defined by the specified predicate, and returns the zero-based index of the last occurrence within the range of elements in the immutable list that contains the specified number of elements and ends at the specified index. + The zero-based starting index of the backward search. + The number of elements in the section to search. + The delegate that defines the conditions of the element to search for. + The zero-based index of the last occurrence of an element that matches the conditions defined by , if found; otherwise, -1. + + + Searches for an element that matches the conditions defined by the specified predicate, and returns the zero-based index of the last occurrence within the range of elements in the immutable list that extends from the first element to the specified index. + The zero-based starting index of the backward search. + The delegate that defines the conditions of the element to search for. + The zero-based index of the last occurrence of an element that matches the conditions defined by , if found; otherwise, -1. + + + Searches for an element that matches the conditions defined by the specified predicate, and returns the zero-based index of the last occurrence within the entire immutable list. + The delegate that defines the conditions of the element to search for. + The zero-based index of the last occurrence of an element that matches the conditions defined by , if found; otherwise, -1. + + + Performs the specified action on each element of the list. + The delegate to perform on each element of the list. + + + Returns an enumerator that iterates through the collection. + An enumerator that can be used to iterate through the list. + + + Creates a shallow copy of a range of elements in the source immutable list. + The zero-based index at which the range starts. + The number of elements in the range. + A shallow copy of a range of elements in the source immutable list. + + + Searches for the specified object and returns the zero-based index of the first occurrence within the range of elements in the immutable list. + The object to locate in the immutable list. The value can be for reference types. + The zero-based index of the first occurrence of within the range of elements in the immutable list, if found; otherwise, -1. + + + Searches for the specified object and returns the zero-based index of the first occurrence within the range of elements in the immutable list that extends from the specified index to the last element. + The object to locate in the immutable list. The value can be for reference types. + The zero-based starting index of the search. 0 (zero) is valid in an empty list. + The zero-based index of the first occurrence of item within the range of elements in the immutable list that extends from to the last element, if found; otherwise, -1. + + + Searches for the specified object and returns the zero-based index of the first occurrence within the range of elements in the immutable list that starts at the specified index and contains the specified number of elements. + The object to locate in the immutable list. The value can be for reference types. + The zero-based starting index of the search. 0 (zero) is valid in an empty list. + The number of elements in the section to search. + The zero-based index of the first occurrence of item within the range of elements in the immutable list that starts at and contains number of elements, if found; otherwise, -1. + + + Searches for the specified object and returns the zero-based index of the first occurrence within the range of elements in the that starts at the specified index and contains the specified number of elements. + The object to locate in the immutable list. The value can be for reference types. + The zero-based starting index of the search. 0 (zero) is valid in an empty list. + The number of elements to search. + The value comparer to use for comparing elements for equality. + The zero-based index of the first occurrence of item within the range of elements in the immutable list that starts at and contains number of elements, if found; otherwise, -1 + + + Inserts an item to the immutable list at the specified index. + The zero-based index at which should be inserted. + The object to insert into the immutable list. + + + Inserts the elements of a collection into the immutable list at the specified index. + The zero-based index at which the new elements should be inserted. + The collection whose elements should be inserted into the immutable list. The collection itself cannot be , but it can contain elements that are null, if type T is a reference type. + + + Gets a read-only reference to the value for a given into the list. + The index of the desired element. + A read-only reference to the value at the specified . + + + Searches for the specified object and returns the zero-based index of the last occurrence within the entire immutable list. + The object to locate in the immutable list. The value can be for reference types. + The zero-based index of the last occurrence of within the entire immutable list, if found; otherwise, -1. + + + Searches for the specified object and returns the zero-based index of the last occurrence within the range of elements in the immutable list that extends from the first element to the specified index. + The object to locate in the immutable list. The value can be for reference types. + The zero-based starting index of the backward search. + The zero-based index of the last occurrence of within the range of elements in the immutable list that extends from the first element to , if found; otherwise, -1. + + + Searches for the specified object and returns the zero-based index of the last occurrence within the range of elements in the immutable list that contains the specified number of elements and ends at the specified index. + The object to locate in the immutable list. The value can be for reference types. + The zero-based starting index of the backward search. + The number of elements in the section to search. + The zero-based index of the last occurrence of within the range of elements in the immutable list that contains number of elements and ends at , if found; otherwise, -1. + + + Searches for the specified object and returns the zero-based index of the last occurrence within the range of elements in the immutable list that contains the specified number of elements and ends at the specified index. + The object to locate in the immutable list. The value can be for reference types. + The zero-based starting index of the search. 0 (zero) is valid in an empty list. + The number of elements to search. + The value comparer to use for comparing elements for equality. + The zero-based index of the first occurrence of item within the range of elements in the immutable list that starts at and contains number of elements, if found; otherwise, -1 + + + Removes the first occurrence of a specific object from the immutable list. + The object to remove from the list. + + if item was successfully removed from the list; otherwise, . This method also returns if item is not found in the list. + + + Removes the first occurrence matching the specified value from this list. + The item to remove. + The equality comparer to use in the search. + If , is used. + A value indicating whether the specified element was found and removed from the collection. + + + Removes all the elements that match the conditions defined by the specified predicate. + The delegate that defines the conditions of the elements to remove. + The number of elements removed from the immutable list. + + + Removes the item at the specified index of the immutable list. + The zero-based index of the item to remove from the list. + + + Removes any first occurrences of the specified values from this list. + The items to remove if matches are found in this list. + + + Removes any first occurrences of the specified values from this list. + The items to remove if matches are found in this list. + The equality comparer to use in the search. + If , is used. + + + Removes the specified range of values from this list. + The starting index to begin removal. + The number of elements to remove. + + + Replaces the first equal element in the list with the specified element. + The element to replace. + The element to replace the old element with. + The old value does not exist in the list. + + + Replaces the first equal element in the list with the specified element. + The element to replace. + The element to replace the old element with. + The equality comparer to use in the search. + If , is used. + The old value does not exist in the list. + + + Reverses the order of the elements in the entire immutable list. + + + Reverses the order of the elements in the specified range of the immutable list. + The zero-based starting index of the range to reverse. + The number of elements in the range to reverse. + + + Sorts the elements in the entire immutable list by using the default comparer. + + + Sorts the elements in the entire immutable list by using the specified comparer. + The implementation to use when comparing elements, or to use the default comparer (). + + + Sorts the elements in the entire immutable list by using the specified comparison object. + The object to use when comparing elements. + + is . + + + Sorts the elements in a range of elements in the immutable list by using the specified comparer. + The zero-based starting index of the range to sort. + The length of the range to sort. + The implementation to use when comparing elements, or to use the default comparer (). + + + Returns an enumerator that iterates through the collection. + An enumerator that can be used to iterate through the collection. + + + Copies the elements of the list to an array, starting at a particular array index. + The one-dimensional array that is the destination of the elements copied from the list. The array must have zero-based indexing. + The zero-based index in at which copying begins. + + + + Returns an enumerator that iterates through the collection. + An enumerator that can be used to iterate through the collection. + + + Adds an item to the list. + The object to add to the list. + + The position into which the new element was inserted, or -1 to indicate that the item was not inserted into the collection. + + + Removes all items from the list. + + + + Determines whether the list contains a specific value. + The object to locate in the list. + + + if the is found in the list; otherwise, . + + + Determines the index of a specific item in the list. + The object to locate in the list. + + The index of if found in the list; otherwise, -1. + + + Inserts an item to the list at the specified index. + The zero-based index at which should be inserted. + The object to insert into the list. + + + + Removes the first occurrence of a specific object from the list. + The object to remove from the list. + + + + Creates an immutable list based on the contents of this instance. + An immutable list. + + + Determines whether every element in the immutable list matches the conditions defined by the specified predicate. + The delegate that defines the conditions to check against the elements. + + if every element in the immutable list matches the conditions defined by the specified predicate; otherwise, . If the list has no elements, the return value is . + + + Gets the number of elements in this immutable list. + The number of elements in this list. + + + Gets or sets the value for a given index in the list. + The index of the item to get or set. + The value at the specified index. + + + Gets a value that indicates whether this instance is read-only. + Always . + + + Gets a value that indicates whether access to the is synchronized (thread safe). + + if access to the is synchronized (thread safe); otherwise, . + + + Gets an object that can be used to synchronize access to the . + An object that can be used to synchronize access to the . + + + Gets a value that indicates whether the has a fixed size. + + if the has a fixed size; otherwise, . + + + Gets a value that indicates whether the is read-only. + + if the is read-only; otherwise, . + + + Gets or sets the at the specified index. + The index. + The object at the specified index. + + + Enumerates the contents of a binary tree. + + NuGet package: System.Collections.Immutable (about immutable collections and how to install) + + + + Releases the resources used by the current instance of the class. + + + Advances enumeration to the next element of the immutable list. + + if the enumerator was successfully advanced to the next element; if the enumerator has passed the end of the list. + + + Sets the enumerator to its initial position, which is before the first element in the immutable list. + + + Gets the element at the current position of the enumerator. + The element at the current position of the enumerator. + + + The current element. + The element in the collection at the current position of the enumerator. + + + Provides a set of initialization methods for instances of the class. + + NuGet package: System.Collections.Immutable (about immutable collections and how to install) + + + Creates an empty immutable queue. + The type of items to be stored in the immutable queue. + An empty immutable queue. + + + Creates a new immutable queue that contains the specified item. + The item to prepopulate the queue with. + The type of items in the immutable queue. + A new immutable queue that contains the specified item. + + + Creates a new immutable queue that contains the specified array of items. + An array that contains the items to prepopulate the queue with. + The type of items in the immutable queue. + A new immutable queue that contains the specified items. + + + Creates a new immutable queue that contains the specified array of items. + A span that contains the items to prepopulate the queue with. + The type of items in the immutable queue. + A new immutable queue that contains the specified items. + + + Creates a new immutable queue that contains the specified items. + The items to add to the queue before immutability is applied. + The type of elements in the queue. + An immutable queue that contains the specified items. + + + Removes the item at the beginning of the immutable queue, and returns the new queue. + The queue to remove the item from. + When this method returns, contains the item from the beginning of the queue. + The type of elements in the immutable queue. + The stack is empty. + The new queue with the item removed. + + + Represents an immutable queue. + + NuGet package: System.Collections.Immutable (about immutable collections and how to install) + The type of elements in the queue. + + + Removes all objects from the immutable queue. + The empty immutable queue. + + + Removes the element at the beginning of the immutable queue, and returns the new queue. + The queue is empty. + The new immutable queue; never . + + + Removes the item at the beginning of the immutable queue, and returns the new queue. + When this method returns, contains the element from the beginning of the queue. + The queue is empty. + The new immutable queue with the beginning element removed. + + + Adds an element to the end of the immutable queue, and returns the new queue. + The element to add. + The new immutable queue. + + + Returns an enumerator that iterates through the immutable queue. + An enumerator that can be used to iterate through the queue. + + + Returns the element at the beginning of the immutable queue without removing it. + The queue is empty. + The element at the beginning of the queue. + + + Gets a read-only reference to the element at the front of the queue. + The queue is empty. + Read-only reference to the element at the front of the queue. + + + Returns an enumerator that iterates through the collection. + An enumerator that can be used to iterate through the collection. + + + Returns an enumerator that iterates through a collection. + An object that can be used to iterate through the collection. + + + Removes all elements from the immutable queue. + The empty immutable queue. + + + Removes the element at the beginning of the immutable queue, and returns the new queue. + The queue is empty. + The new immutable queue; never . + + + Adds an element to the end of the immutable queue, and returns the new queue. + The element to add. + The new immutable queue. + + + Gets an empty immutable queue. + An empty immutable queue. + + + Gets a value that indicates whether this immutable queue is empty. + + NuGet package: System.Collections.Immutable (about immutable collections and how to install) + + if this queue is empty; otherwise, . + + + Enumerates the contents of an immutable queue without allocating any memory. + + NuGet package: System.Collections.Immutable (about immutable collections and how to install) + + + + Advances the enumerator to the next element of the immutable queue. + + if the enumerator was successfully advanced to the next element; if the enumerator has passed the end of the queue. + + + Gets the element at the current position of the enumerator. + The element at the current position of the enumerator. + + + Provides a set of initialization methods for instances of the class. + + NuGet package: System.Collections.Immutable (about immutable collections and how to install) + + + Creates an empty immutable sorted dictionary. + The type of keys stored by the dictionary. + The type of values stored by the dictionary. + An empty immutable sorted dictionary. + + + Creates an empty immutable sorted dictionary that uses the specified key comparer. + The implementation to use to determine the equality of keys in the dictionary. + The type of keys stored by the dictionary. + The type of values stored by the dictionary. + An empty immutable sorted dictionary. + + + Creates an empty immutable sorted dictionary that uses the specified key and value comparers. + The implementation to use to determine the equality of keys in the dictionary. + The implementation to use to determine the equality of values in the dictionary. + The type of keys stored by the dictionary. + The type of values stored by the dictionary. + An empty immutable sorted dictionary. + + + Creates a new immutable sorted dictionary builder. + The type of keys stored by the dictionary. + The type of values stored by the dictionary. + The immutable collection builder. + + + Creates a new immutable sorted dictionary builder. + The key comparer. + The type of keys stored by the dictionary. + The type of values stored by the dictionary. + The immutable collection builder. + + + Creates a new immutable sorted dictionary builder. + The key comparer. + The value comparer. + The type of keys stored by the dictionary. + The type of values stored by the dictionary. + The immutable collection builder. + + + Creates a new immutable sorted dictionary from the specified range of items with the specified key comparer. + The comparer implementation to use to evaluate keys for equality and sorting. + The items to add to the sorted dictionary. + The type of keys stored in the dictionary. + The type of values stored in the dictionary. + The new immutable sorted dictionary that contains the specified items and uses the specified key comparer. + + + Creates a new immutable sorted dictionary from the specified range of items with the specified key and value comparers. + The comparer implementation to use to compare keys for equality and sorting. + The comparer implementation to use to compare values for equality. + The items to add to the sorted dictionary before it's immutable. + The type of keys stored in the dictionary. + The type of values stored in the dictionary. + An immutable sorted dictionary that contains the specified items and uses the specified comparers. + + + Creates an immutable sorted dictionary that contains the specified items and uses the default comparer. + The items to add to the sorted dictionary before it's immutable. + The type of keys stored in the dictionary. + The type of values stored in the dictionary. + An immutable sorted dictionary that contains the specified items. + + + Enumerates a sequence of key/value pairs and produces an immutable sorted dictionary of its contents. + The sequence of key/value pairs to enumerate. + The type of the keys in the dictionary. + The type of the values in the dictionary. + An immutable sorted dictionary that contains the key/value pairs in the specified sequence. + + + Enumerates a sequence of key/value pairs and produces an immutable dictionary of its contents by using the specified key comparer. + The sequence of key/value pairs to enumerate. + The key comparer to use when building the immutable dictionary. + The type of the keys in the dictionary. + The type of the values in the dictionary. + An immutable sorted dictionary that contains the key/value pairs in the specified sequence. + + + Enumerates a sequence of key/value pairs and produces an immutable sorted dictionary of its contents by using the specified key and value comparers. + The sequence of key/value pairs to enumerate. + The key comparer to use when building the immutable dictionary. + The value comparer to use for the immutable dictionary. + The type of the keys in the dictionary. + The type of the values in the dictionary. + An immutable sorted dictionary that contains the key/value pairs in the specified sequence. + + + Creates an immutable sorted dictionary from the current contents of the builder's dictionary. + The builder to create the immutable sorted dictionary from. + The type of the keys in the dictionary. + The type of the values in the dictionary. + An immutable sorted dictionary that contains the current contents in the builder's dictionary. + + + Enumerates and transforms a sequence, and produces an immutable sorted dictionary of its contents. + The sequence to enumerate to generate the dictionary. + The function that will produce the key for the dictionary from each sequence element. + The function that will produce the value for the dictionary from each sequence element. + The type of the elements in the sequence. + The type of the keys in the resulting dictionary. + The type of the values in the resulting dictionary. + An immutable sorted dictionary that contains the items in the specified sequence. + + + Enumerates and transforms a sequence, and produces an immutable sorted dictionary of its contents by using the specified key comparer. + The sequence to enumerate to generate the dictionary. + The function that will produce the key for the dictionary from each sequence element. + The function that will produce the value for the dictionary from each sequence element. + The key comparer to use for the dictionary. + The type of the elements in the sequence. + The type of the keys in the resulting dictionary. + The type of the values in the resulting dictionary. + An immutable dictionary that contains the items in the specified sequence. + + + Enumerates and transforms a sequence, and produces an immutable sorted dictionary of its contents by using the specified key and value comparers. + The sequence to enumerate to generate the dictionary. + The function that will produce the key for the dictionary from each sequence element. + The function that will produce the value for the dictionary from each sequence element. + The key comparer to use for the dictionary. + The value comparer to use for the dictionary. + The type of the elements in the sequence. + The type of the keys in the resulting dictionary. + The type of the values in the resulting dictionary. + An immutable sorted dictionary that contains the items in the specified sequence. + + + Represents an immutable sorted dictionary. + + NuGet package: System.Collections.Immutable (about immutable collections and how to install) + The type of the key contained in the dictionary. + The type of the value contained in the dictionary. + + + Gets an empty immutable sorted dictionary. + + + Adds an element with the specified key and value to the immutable sorted dictionary. + The key of the entry to add. + The value of entry to add. + The given key already exists in the dictionary but has a different value. + A new immutable sorted dictionary that contains the additional key/value pair. + + + Adds the specific key/value pairs to the immutable sorted dictionary. + The key/value pairs to add. + One of the given keys already exists in the dictionary but has a different value. + A new immutable dictionary that contains the additional key/value pairs. + + + Retrieves an empty immutable sorted dictionary that has the same ordering and key/value comparison rules as this dictionary instance. + An empty dictionary with equivalent ordering and key/value comparison rules. + + + Determines whether this immutable sorted dictionary contains the specified key/value pair. + The key/value pair to locate. + + if the specified key/value pair is found in the dictionary; otherwise, . + + + Determines whether this immutable sorted map contains the specified key. + The key to locate. + + if the immutable dictionary contains the specified key; otherwise, . + + + Determines whether the immutable sorted dictionary contains an element with the specified value. + The value to locate. The value can be for reference types. + + if the dictionary contains an element with the specified value; otherwise, . + + + Returns an enumerator that iterates through the immutable sorted dictionary. + An enumerator that can be used to iterate through the dictionary. + + + Removes the element with the specified value from the immutable sorted dictionary. + The value of the element to remove. + A new immutable dictionary with the specified element removed; or this instance if the specified value cannot be found in the dictionary. + + + Removes the elements with the specified keys from the immutable sorted dictionary. + The keys of the elements to remove. + A new immutable dictionary with the specified keys removed; or this instance if the specified keys cannot be found in the dictionary. + + + Sets the specified key and value in the immutable sorted dictionary, possibly overwriting an existing value for the given key. + The key of the entry to add. + The key value to set. + A new immutable sorted dictionary that contains the specified key/value pair. + + + Sets the specified key/value pairs in the immutable sorted dictionary, possibly overwriting existing values for the keys. + The key/value pairs to set in the dictionary. If any of the keys already exist in the dictionary, this method will overwrite their previous values. + An immutable dictionary that contains the specified key/value pairs. + + + Adds an item to the . + The object to add to the . + + + Removes all items from the . + + + Copies the elements of the to an , starting at a particular index. + The one-dimensional that is the destination of the elements copied from . The must have zero-based indexing. + The zero-based index in at which copying begins. + + + Removes the first occurrence of a specific object from the . + The object to remove from the . + + if was successfully removed from the ; otherwise, . This method also returns if is not found in the original . + + + Adds an element with the provided key and value to the generic dictionary. + The object to use as the key of the element to add. + The object to use as the value of the element to add. + + is . + An element with the same key already exists in the . + The is read-only. + + + Removes the element with the specified key from the generic dictionary. + The key of the element to remove. + + is . + The is read-only. + + if the element is successfully removed; otherwise, . This method also returns if was not found in the original generic dictionary. + + + Returns an enumerator that iterates through the collection. + An enumerator that can be used to iterate through the collection. + + + Copies the elements of the dictionary to an array, starting at a particular array index. + The one-dimensional array that is the destination of the elements copied from the dictionary. The array must have zero-based indexing. + The zero-based index in at which copying begins. + + + Adds an element with the provided key and value to the dictionary object. + The object to use as the key of the element to add. + The object to use as the value of the element to add. + + + Clears this instance. + The dictionary object is read-only. + + + Determines whether the immutable dictionary object contains an element with the specified key. + The key to locate in the dictionary object. + + if the dictionary contains an element with the key; otherwise, . + + + Returns an object for the immutable dictionary object. + An enumerator object for the dictionary object. + + + Removes the element with the specified key from the immutable dictionary object. + The key of the element to remove. + + + Returns an enumerator that iterates through a collection. + An enumerator object that can be used to iterate through the collection. + + + See the interface. + Key of the entry to be added. + Value of the entry to be added. + The instance. + + + See the interface. + Sequence of key/value pairs to be added. + The instance. + + + See the interface. + The instance. + + + See the interface. + Key of entry to be removed. + The instance. + + + See the interface. + Sequence of keys to be removed. + The instance. + + + See the interface. + Key of entry to be updated. + Value of entry to be updated. + The instance. + + + Applies a given set of key-value pairs to an immutable dictionary, replacing any conflicting keys in the resulting dictionary. + A set of key-value pairs to set on the map. + The instance. + + + Creates an immutable sorted dictionary with the same contents as this dictionary that can be efficiently mutated across multiple operations by using standard mutable interfaces. + A collection with the same contents as this dictionary. + + + Determines whether this dictionary contains a specified key. + The key to search for. + The matching key located in the dictionary if found, or equalkey if no match is found. + + if a match for is found; otherwise, . + + + Gets the value associated with the specified key. + The key whose value will be retrieved. + When this method returns, contains the value associated with the specified key, if the key is found; otherwise, contains the default value for the type of the parameter. + + if the dictionary contains an element with the specified key; otherwise, . + + + Returns a read-only reference to the value associated with the provided . + Key of the entry to be looked up. + The is not present. + A read-only reference to the value associated with the provided . + + + Gets an instance of the immutable sorted dictionary that uses the specified key comparer. + The key comparer to use. + An instance of the immutable dictionary that uses the given comparer. + + + Gets an instance of the immutable sorted dictionary that uses the specified key and value comparers. + The key comparer to use. + The value comparer to use. + An instance of the immutable dictionary that uses the given comparers. + + + Gets the number of key/value pairs in the immutable sorted dictionary. + The number of key/value pairs in the dictionary. + + + Gets a value that indicates whether this instance of the immutable sorted dictionary is empty. + + if this instance is empty; otherwise, . + + + Gets the associated with the specified key. + The key to retrieve the value for. + The value associated with the specified key. If no results are found, the operation throws an exception. + + + Gets the key comparer for the immutable sorted dictionary. + The key comparer for the dictionary. + + + Gets the keys in the immutable sorted dictionary. + The keys in the immutable dictionary. + + + Gets a value indicating whether the is read-only. + + if the is read-only; otherwise, . + + + Gets or sets the with the specified key. + The object to use as the key of the element to access. + An object of type associated with the . + + + Gets the keys. + A collection containing the keys. + + + Gets the values. + A collection containing the values. + + + Gets a value indicating whether access to the is synchronized (thread safe). + + if access to the is synchronized (thread-safe); otherwise, . + + + Gets an object that can be used to synchronize access to the . + An object that can be used to synchronize access to the . + + + Gets a value indicating whether the object has a fixed size. + + if the object has a fixed size; otherwise, . + + + Gets a value indicating whether the is read-only. + + if the is read-only; otherwise, . + + + Gets or sets the element with the specified key. + The key of the element to be accessed. + Value stored under the specified key. + + + Gets an containing the keys of the . + An containing the keys of the object that implements . + + + Gets an containing the values in the . + An containing the values in the object that implements . + + + Gets the value comparer used to determine whether values are equal. + The value comparer used to determine whether values are equal. + + + Gets the values in the immutable sorted dictionary. + The values in the dictionary. + + + Represents a sorted dictionary that mutates with little or no memory allocations and that can produce or build on immutable sorted dictionary instances very efficiently. + + NuGet package: System.Collections.Immutable (about immutable collections and how to install) + + + + + Adds an element that has the specified key and value to the immutable sorted dictionary. + The key of the element to add. + The value of the element to add. + + + Adds the specified item to the immutable sorted dictionary. + The object to add to the dictionary. + + + Adds a sequence of values to the immutable sorted dictionary. + The items to add to the dictionary. + + + Removes all items from the immutable sorted dictionary. + + + Determines whether the immutable sorted dictionary contains a specific value. + The object to locate in the dictionary. + + if is found in the dictionary; otherwise, . + + + Determines whether the immutable sorted dictionary contains an element with the specified key. + The key to locate in the dictionary. + + if the dictionary contains an element with the key; otherwise, . + + + Determines whether the immutable sorted dictionary contains an element with the specified value. + The value to locate in the dictionary. The value can be for reference types. + + if the immutable sorted dictionary contains an element with the specified value; otherwise, . + + + Returns an enumerator that iterates through the immutable sorted dictionary. + An enumerator that can be used to iterate through the dictionary. + + + Gets the value for a given key if a matching key exists in the dictionary; otherwise the default value. + The key to search for. + The value for the key, or default(TValue) if no matching key was found. + + + Gets the value for a given key if a matching key exists in the dictionary; otherwise the default value. + The key to search for. + The default value to return if no matching key is found in the dictionary. + The value for the key, or if no matching key was found. + + + Removes the element with the specified key from the immutable sorted dictionary. + The key of the element to remove. + + if the element is successfully removed; otherwise, . This method also returns if was not found in the original dictionary. + + + Removes the first occurrence of a specific object from the immutable sorted dictionary. + The object to remove from the dictionary. + + if was successfully removed from the dictionary; otherwise, . This method also returns if is not found in the dictionary. + + + Removes any entries with keys that match those found in the specified sequence from the immutable sorted dictionary. + The keys for entries to remove from the dictionary. + + + See . + The one-dimensional array that is the destination of the elements copied from the dictionary. The array must have zero-based indexing. + The zero-based index in at which copying begins. + + + See . + An enumerator that can be used to iterate through the collection. + + + Copies the elements of the dictionary to an array, starting at a particular array index. + + NuGet package: System.Collections.Immutable (about immutable collections and how to install) + The one-dimensional array that is the destination of the elements copied from the dictionary. The array must have zero-based indexing. + The zero-based index in at which copying begins. + + + Adds an element with the provided key and value to the dictionary object. + The key of the element to add. + The value of the element to add. + + + Determines whether the dictionary object contains an element with the specified key. + The key to locate. + + if the dictionary contains an element with the key; otherwise, . + + + Returns an object for the dictionary. + An object for the dictionary. + + + Removes the element with the specified key from the dictionary. + The key of the element to remove. + + + Returns an enumerator that iterates through a collection. + An enumerator object that can be used to iterate through the collection. + + + Creates an immutable sorted dictionary based on the contents of this instance. + An immutable sorted dictionary. + + + Determines whether this dictionary contains a specified key. + The key to search for. + The matching key located in the dictionary if found, or equalkey if no match is found. + + if a match for is found; otherwise, . + + + Gets the value associated with the specified key. + The key whose value will be retrieved. + When this method returns, contains the value associated with the specified key, if the key is found; otherwise, contains the default value for the type of the parameter. This parameter is passed uninitialized. + + if the object that implements the dictionary contains an element with the specified key; otherwise, . + + + Returns a read-only reference to the value associated with the provided . + Key of the entry to be looked up. + The is not present. + A read-only reference to the value associated with the provided . + + + Gets the number of elements in this immutable sorted dictionary. + The number of elements in this dictionary. + + + Gets or sets the value for a specified key in the immutable sorted dictionary. + The key to retrieve the value for. + The value associated with the given key. + + + Gets or sets the key comparer. + The key comparer. + + + Gets a strongly typed, read-only collection of elements. + A strongly typed, read-only collection of elements. + + + Gets a value that indicates whether this instance is read-only. + Always . + + + Returns a collection containing all keys stored in the dictionary. See . + A collection containing all keys stored in the dictionary. + + + Returns a collection containing all values stored in the dictionary. See . + A collection containing all values stored in the dictionary. + + + Gets a value that indicates whether access to the is synchronized (thread safe). + + if access to the is synchronized (thread safe); otherwise, . + + + Gets an object that can be used to synchronize access to the . + An object that can be used to synchronize access to the . + + + Gets a value that indicates whether the object has a fixed size. + + if the object has a fixed size; otherwise, . + + + Gets a value that indicates whether the is read-only. + + if the is read-only; otherwise, . + + + Gets or sets the element with the specified key. + The key. + The value associated with the specified key. + + + Gets an containing the keys of the . + An containing the keys of the object that implements . + + + Gets an containing the values in the . + An containing the values in the object that implements . + + + Gets or sets the value comparer. + The value comparer. + + + Gets a collection that contains the values of the immutable sorted dictionary. + A collection that contains the values of the object that implements the dictionary. + + + Enumerates the contents of a binary tree. + + NuGet package: System.Collections.Immutable (about immutable collections and how to install) + + + + + Releases the resources used by the current instance of the class. + + + Advances the enumerator to the next element of the immutable sorted dictionary. + + if the enumerator was successfully advanced to the next element; if the enumerator has passed the end of the sorted dictionary. + + + Sets the enumerator to its initial position, which is before the first element in the immutable sorted dictionary. + + + Gets the element at the current position of the enumerator. + The element at the current position of the enumerator. + + + The current element. + The element in the collection at the current position of the enumerator. + + + Provides a set of initialization methods for instances of the class. + + NuGet package: System.Collections.Immutable (about immutable collections and how to install) + + + Creates an empty immutable sorted set. + The type of items to be stored in the immutable set. + An empty immutable sorted set. + + + Creates a new immutable sorted set that contains the specified item. + The item to prepopulate the set with. + The type of items in the immutable set. + A new immutable set that contains the specified item. + + + Creates a new immutable sorted set that contains the specified array of items. + An array that contains the items to prepopulate the set with. + The type of items in the immutable set. + A new immutable set that contains the specified items. + + + Creates an empty immutable sorted set that uses the specified comparer. + The implementation to use when comparing items in the set. + The type of items in the immutable set. + An empty immutable set. + + + Creates a new immutable sorted set that contains the specified item and uses the specified comparer. + The implementation to use when comparing items in the set. + The item to prepopulate the set with. + The type of items stored in the immutable set. + A new immutable set that contains the specified item. + + + Creates a new immutable sorted set that contains the specified array of items and uses the specified comparer. + The implementation to use when comparing items in the set. + An array that contains the items to prepopulate the set with. + The type of items in the immutable set. + A new immutable set that contains the specified items. + + + Creates a new immutable collection prefilled with the specified items. + The comparer. + The items to prepopulate. + The type of items stored by the collection. + The new immutable collection. + + + Creates a new immutable sorted set that contains the specified array of items. + A span that contains the items to prepopulate the set with. + The type of items in the immutable set. + A new immutable set that contains the specified items. + + + Returns a collection that can be used to build an immutable sorted set. + The type of items stored by the collection. + The immutable collection builder. + + + Returns a collection that can be used to build an immutable sorted set. + The comparer used to compare items in the set for equality. + The type of items stored by the collection. + The immutable collection. + + + Creates a new immutable collection that contains the specified items. + The comparer to use to compare elements in this set. + The items to add to the set before it's immutable. + The type of items stored by the collection. + The new immutable set that contains the specified items. + + + Creates a new immutable collection that contains the specified items. + The items to add to the set with before it's immutable. + The type of items stored by the collection. + The new immutable set that contains the specified items. + + + Enumerates a sequence and produces an immutable sorted set of its contents. + The sequence to enumerate. + The type of the elements in the sequence. + An immutable sorted set that contains the items in the specified sequence. + + + Enumerates a sequence, produces an immutable sorted set of its contents, and uses the specified comparer. + The sequence to enumerate. + The comparer to use for initializing and adding members to the sorted set. + The type of the elements in the sequence. + An immutable sorted set that contains the items in the specified sequence. + + + Creates an immutable sorted set from the current contents of the builder's set. + The builder to create the immutable sorted set from. + The type of the elements in the immutable sorted set. + An immutable sorted set that contains the current contents in the builder's set. + + + Represents an immutable sorted set implementation. + +NuGet package: System.Collections.Immutable (about immutable collections and how to install) + The type of elements in the set. + + + Gets an empty immutable sorted set. + + + Adds the specified value to this immutable sorted set. + The value to add. + A new set with the element added, or this set if the element is already in this set. + + + Removes all elements from the immutable sorted set. + An empty set with the elements removed. + + + Determines whether this immutable sorted set contains the specified value. + The value to check for. + + if the set contains the specified value; otherwise, . + + + Removes a specified set of items from this immutable sorted set. + The items to remove from this set. + A new set with the items removed; or the original set if none of the items were in the set. + + + Returns an enumerator that iterates through the immutable sorted set. + An enumerator that can be used to iterate through the set. + + + Gets the position within this immutable sorted set that the specified value appears in. + The value whose position is being sought. + The index of the specified in the sorted set, if is found. If is not found and is less than one or more elements in this set, this method returns a negative number that is the bitwise complement of the index of the first element that is larger than value. If is not found and is greater than any of the elements in the set, this method returns a negative number that is the bitwise complement of the index of the last element plus 1. + + + Creates an immutable sorted set that contains elements that exist both in this set and in the specified set. + The set to intersect with this one. + A new immutable sorted set that contains any elements that exist in both sets. + + + Determines whether the current immutable sorted set is a proper (strict) subset of the specified collection. + The collection to compare to the current set. + + if the current set is a proper subset of ; otherwise, . + + + Determines whether the current immutable sorted set is a proper superset of a specified collection. + The collection to compare to the current set. + + if the current set is a proper superset of ; otherwise, . + + + Determines whether the current immutable sorted set is a subset of a specified collection. + The collection to compare to the current set. + + if the current set is a subset of ; otherwise, . + + + Determines whether the current immutable sorted set is a superset of a specified collection. + The collection to compare to the current set. + + if the current set is a superset of ; otherwise, . + + + Gets a read-only reference of the element of the set at the given . + The 0-based index of the element in the set to return. + A read-only reference of the element at the given position. + + + Determines whether the current immutable sorted set and a specified collection share common elements. + The collection to compare to the current set. + + if the current set and share at least one common element; otherwise, . + + + Removes the specified value from this immutable sorted set. + The element to remove. + A new immutable sorted set with the element removed, or this set if the element was not found in the set. + + + Returns an that iterates over this immutable sorted set in reverse order. + An enumerator that iterates over the immutable sorted set in reverse order. + + + Determines whether the current immutable sorted set and the specified collection contain the same elements. + The collection to compare to the current set. + + if the sets are equal; otherwise, . + + + Creates an immutable sorted set that contains elements that exist either in this set or in a given sequence, but not both. + The other sequence of items. + The new immutable sorted set. + + + Adds the specified value to the collection. + The value to add. + + + Removes all the items from the collection. + + + Copies the elements of the collection to an array, starting at a particular array index. + The one-dimensional array that is the destination of the elements copied from collection. The array must have zero-based indexing. + The zero-based index in at which copying begins. + + + Removes the first occurrence of a specific object from the collection. + The object to remove from the collection. + + if was successfully removed from the collection; otherwise, . + + + Returns an enumerator that iterates through the collection. + An enumerator that can be used to iterate through the collection. + + + Inserts an item in the set at the specified index. + The zero-based index at which should be inserted. + The object to insert into the set. + + + Removes the item at the specified index. + The zero-based index of the item to remove. + + + Adds an element to the current set and returns a value to indicate if the element was successfully added. + The element to add to the set. + + if the element is added to the set; if the element is already in the set. + + + Removes all elements in the specified collection from the current set. + The collection of items to remove from the set. + + + Modifies the current set so that it contains only elements that are also in a specified collection. + The collection to compare to the current set. + + + Modifies the current set so that it contains only elements that are present either in the current set or in the specified collection, but not both. + The collection to compare to the current set. + + + Modifies the current set so that it contains all elements that are present in either the current set or the specified collection. + The collection to compare to the current set. + + + Copies the elements of the set to an array, starting at a particular array index. + The one-dimensional array that is the destination of the elements copied from the set. The array must have zero-based indexing. + The zero-based index in at which copying begins. + + + Returns an enumerator that iterates through a collection. + An enumerator object that can be used to iterate through the collection. + + + Adds an item to the set. + The object to add to the set. + The set is read-only or has a fixed size. + The position into which the new element was inserted, or -1 to indicate that the item was not inserted into the collection. + + + Removes all items from the set. + Thrown in all cases. + + + Determines whether the set contains a specific value. + The object to locate in the set. + + if the object is found in the set; otherwise, . + + + Determines the index of a specific item in the set. + The object to locate in the set. + The index of if found in the list; otherwise, -1. + + + Inserts an item into the set at the specified index. + The zero-based index at which should be inserted. + The object to insert into the set. + The set is read-only or has a fixed size. + + + Removes the first occurrence of a specific object from the set. + The object to remove from the set. + The set is read-only or has a fixed size. + + + Removes the item at the specified index of the set. + The zero-based index of the item to remove. + The set is read-only or has a fixed size. + + + Adds the specified element to this immutable set. + The element to add. + A new set with the element added, or this set if the element is already in the set. + + + Retrieves an empty immutable set that has the same sorting and ordering semantics as this instance. + An empty set that has the same sorting and ordering semantics as this instance. + + + Removes the elements in the specified collection from the current immutable set. + The items to remove from this set. + The new set with the items removed; or the original set if none of the items were in the set. + + + Creates an immutable set that contains elements that exist in both this set and the specified set. + The collection to compare to the current set. + A new immutable set that contains any elements that exist in both sets. + + + Removes the specified element from this immutable set. + The element to remove. + A new set with the specified element removed, or the current set if the element cannot be found in the set. + + + Creates an immutable set that contains only elements that are present either in the current set or in the specified collection, but not both. + The collection to compare to the current set. + A new set that contains the elements that are present only in the current set or in the specified collection, but not both. + + + Creates a new immutable set that contains all elements that are present in either the current set or in the specified collection. + The collection to add elements from. + A new immutable set with the items added; or the original set if all the items were already in the set. + + + Creates a collection that has the same contents as this immutable sorted set that can be efficiently manipulated by using standard mutable interfaces. + The sorted set builder. + + + Searches the set for a given value and returns the equal value it finds, if any. + The value to search for. + The value from the set that the search found, or the original value if the search yielded no match. + A value indicating whether the search was successful. + + + Adds a given set of items to this immutable sorted set. + The items to add. + The new set with the items added; or the original set if all the items were already in the set. + + + Returns the immutable sorted set that has the specified key comparer. + The comparer to check for. + The immutable sorted set that has the specified key comparer. + + + Gets the number of elements in the immutable sorted set. + The number of elements in the immutable sorted set. + + + Gets a value that indicates whether this immutable sorted set is empty. + + if this set is empty; otherwise, . + + + Gets the element of the immutable sorted set at the given index. + The index of the element to retrieve from the sorted set. + The element at the given index. + + + Gets the comparer used to sort keys in the immutable sorted set. + The comparer used to sort keys. + + + Gets the maximum value in the immutable sorted set, as defined by the comparer. + The maximum value in the set. + + + Gets the minimum value in the immutable sorted set, as defined by the comparer. + The minimum value in the set. + + + Returns true, since immutable collections are always read-only. See the interface. + A boolean value indicating whether the collection is read-only. + + + See the interface. + The zero-based index of the item to access. + The element stored at the specified index. + + + Returns true, since immutable collections are always thread-safe. See the interface. + A boolean value indicating whether the collection is thread-safe. + + + See . + Object used for synchronizing access to the collection. + + + Gets a value that indicates whether the has a fixed size. + + if the has a fixed size; otherwise, . + + + Gets a value that indicates whether the is read-only. + + if the is read-only; otherwise, . + + + Gets or sets the at the specified index. + The index. + + The . + + + Represents a sorted set that enables changes with little or no memory allocations, and efficiently manipulates or builds immutable sorted sets. + + NuGet package: System.Collections.Immutable (about immutable collections and how to install) + + + + Adds an element to the current set and returns a value to indicate whether the element was successfully added. + The element to add to the set. + + if the element is added to the set; if the element is already in the set. + + + Removes all elements from this set. + + + Determines whether the set contains the specified object. + The object to locate in the set. + + if is found in the set; otherwise, . + + + Removes the specified set of items from the current set. + The collection of items to remove from the set. + + + Returns an enumerator that iterates through the set. + A enumerator that can be used to iterate through the set. + + + Searches for the first index within this set that the specified value is contained. + The value to locate within the set. + The index of the specified in the sorted set, if is found. If is not found and is less than one or more elements in this set, returns a negative number that is the bitwise complement of the index of the first element that's larger than . If is not found and is greater than any of the elements in the set, returns a negative number that is the bitwise complement of (the index of the last element plus 1). + + + Modifies the current set so that it contains only elements that are also in a specified collection. + The collection to compare to the current set. + + + Determines whether the current set is a proper (strict) subset of a specified collection. + The collection to compare to the current set. + + if the current set is a proper subset of ; otherwise, . + + + Determines whether the current set is a proper (strict) superset of a specified collection. + The collection to compare to the current set. + + if the current set is a proper superset of ; otherwise, . + + + Determines whether the current set is a subset of a specified collection. + The collection is compare to the current set. + + if the current set is a subset of ; otherwise, . + + + Determines whether the current set is a superset of a specified collection. + The collection to compare to the current set. + + if the current set is a superset of ; otherwise, . + + + Gets a read-only reference to the element of the set at the given . + The 0-based index of the element in the set to return. + A read-only reference to the element at the given position. + + + Determines whether the current set overlaps with the specified collection. + The collection to compare to the current set. + + if the current set and share at least one common element; otherwise, . + + + Removes the first occurrence of the specified object from the set. + The object to remove from the set. + + if was removed from the set; if was not found in the set. + + + Returns an enumerator that iterates over the immutable sorted set in reverse order. + An enumerator that iterates over the set in reverse order. + + + Determines whether the current set and the specified collection contain the same elements. + The collection to compare to the current set. + + if the current set is equal to ; otherwise, . + + + Modifies the current set so that it contains only elements that are present either in the current set or in the specified collection, but not both. + The collection to compare to the current set. + + + Adds an element to the current set and returns a value to indicate whether the element was successfully added. + The element to add to the set. + + + Copies the elements of the collection to an array, starting at a particular array index. + The one-dimensional array that is the destination of the elements copied from collection. The array must have zero-based indexing. + The zero-based index in at which copying begins. + + + Returns an enumerator that iterates through the collection. + A enumerator that can be used to iterate through the collection. + + + Copies the elements of the set to an array, starting at a particular array index. + The one-dimensional array that is the destination of the elements copied from the set. The array must have zero-based indexing. + The zero-based index in at which copying begins. + + + Returns an enumerator that iterates through the collection. + A enumerator that can be used to iterate through the collection. + + + Creates an immutable sorted set based on the contents of this instance. + An immutable set. + + + Searches the set for a given value and returns the equal value it finds, if any. + The value for which to search. + The value from the set that the search found, or the original value if the search yielded no match. + A value indicating whether the search was successful. + + + Modifies the current set so that it contains all elements that are present in both the current set and in the specified collection. + The collection to compare to the current state. + + + Gets the number of elements in the immutable sorted set. + The number of elements in this set. + + + Gets the element of the set at the given index. + The 0-based index of the element in the set to return. + The element at the given position. + + + Gets or sets the object that is used to determine equality for the values in the immutable sorted set. + The comparer that is used to determine equality for the values in the set. + + + Gets the maximum value in the immutable sorted set, as defined by the comparer. + The maximum value in the set. + + + Gets the minimum value in the immutable sorted set, as defined by the comparer. + The minimum value in the set. + + + Gets a value that indicates whether this instance is read-only. + Always . + + + Gets a value that indicates whether access to the is synchronized (thread-safe). + + if access to the is synchronized (thread-safe); otherwise, . + + + Gets an object that can be used to synchronize access to the . + An object that can be used to synchronize access to the . + + + Enumerates the contents of a binary tree. + + NuGet package: System.Collections.Immutable (about immutable collections and how to install) + + + + Releases the resources used by the current instance of the class. + + NuGet package: System.Collections.Immutable (about immutable collections and how to install) + + + Advances the enumerator to the next element of the immutable sorted set. + + NuGet package: System.Collections.Immutable (about immutable collections and how to install) + + if the enumerator was successfully advanced to the next element; if the enumerator has passed the end of the sorted set. + + + Sets the enumerator to its initial position, which is before the first element in the immutable sorted set. + + NuGet package: System.Collections.Immutable (about immutable collections and how to install) + + + Gets the element at the current position of the enumerator. + + NuGet package: System.Collections.Immutable (about immutable collections and how to install) + The element at the current position of the enumerator. + + + The current element. + The element in the collection at the current position of the enumerator. + + + Provides a set of initialization methods for instances of the class. + + NuGet package: System.Collections.Immutable (about immutable collections and how to install) + + + Creates an empty immutable stack. + The type of items to be stored in the immutable stack. + An empty immutable stack. + + + Creates a new immutable stack that contains the specified item. + The item to prepopulate the stack with. + The type of items in the immutable stack. + A new immutable collection that contains the specified item. + + + Creates a new immutable stack that contains the specified array of items. + An array that contains the items to prepopulate the stack with. + The type of items in the immutable stack. + A new immutable stack that contains the specified items. + + + Creates a new immutable stack that contains the specified array of items. + A span that contains the items to prepopulate the stack with. + The type of items in the immutable stack. + A new immutable stack that contains the specified items. + + + Creates a new immutable stack that contains the specified items. + The items to add to the stack before it's immutable. + The type of items in the stack. + An immutable stack that contains the specified items. + + + Removes the specified item from an immutable stack. + The stack to modify. + The item to remove from the stack. + The type of items contained in the stack. + The stack is empty. + A stack; never . + + + Represents an immutable stack. + + NuGet package: System.Collections.Immutable (about immutable collections and how to install) + The type of element on the stack. + + + Removes all objects from the immutable stack. + An empty immutable stack. + + + Returns an enumerator that iterates through the immutable stack. + An enumerator that can be used to iterate through the stack. + + + Returns the object at the top of the stack without removing it. + The stack is empty. + The object at the top of the stack. + + + Gets a read-only reference to the element on the top of the stack. + The stack is empty. + A read-only reference to the element on the top of the stack. + + + Removes the element at the top of the immutable stack and returns the stack after the removal. + The stack is empty. + A stack; never . + + + Removes the specified element from the immutable stack and returns the stack after the removal. + The value to remove from the stack. + A stack; never . + + + Inserts an object at the top of the immutable stack and returns the new stack. + The object to push onto the stack. + The new stack. + + + Returns an enumerator that iterates through the collection. + An enumerator that can be used to iterate through the collection. + + + Returns an enumerator that iterates through a collection. + An object that can be used to iterate through the collection. + + + Removes all elements from the immutable stack. + The empty immutable stack. + + + Removes the element at the top of the immutable stack and returns the new stack. + The stack is empty. + The new stack; never . + + + Inserts an element at the top of the immutable stack and returns the new stack. + The element to push onto the stack. + The new stack. + + + Gets an empty immutable stack. + An empty immutable stack. + + + Gets a value that indicates whether this instance of the immutable stack is empty. + + if this instance is empty; otherwise, . + + + Enumerates the contents of an immutable stack without allocating any memory. + + NuGet package: System.Collections.Immutable (about immutable collections and how to install) + + + + Advances the enumerator to the next element of the immutable stack. + + if the enumerator was successfully advanced to the next element; if the enumerator has passed the end of the stack. + + + Gets the element at the current position of the enumerator. + The element at the current position of the enumerator. + + + LINQ extension method overrides that offer greater efficiency for than the standard LINQ methods + + NuGet package: System.Collections.Immutable (about immutable collections and how to install) + + + Applies a function to a sequence of elements in a cumulative way. + The collection to apply the function to. + A function to be invoked on each element, in a cumulative way. + The type of element contained by the collection. + The final value after the cumulative function has been applied to all elements. + + + Applies a function to a sequence of elements in a cumulative way. + The collection to apply the function to. + The initial accumulator value. + A function to be invoked on each element, in a cumulative way. + The type of the accumulated value. + The type of element contained by the collection. + The final accumulator value. + + + Applies a function to a sequence of elements in a cumulative way. + The collection to apply the function to. + The initial accumulator value. + A function to be invoked on each element, in a cumulative way. + A function to transform the final accumulator value into the result type. + The type of the accumulated value. + The type of result returned by the result selector. + The type of element contained by the collection. + The final accumulator value. + + + Gets a value indicating whether all elements in this array match a given condition. + The array to check for matches. + The predicate. + The type of element contained by the collection. + + if every element of the source sequence passes the test in the specified predicate; otherwise, . + + + Returns a value indicating whether this collection contains any elements. + The builder to check for matches. + The type of elements in the array. + + if the array builder contains any elements; otherwise, . + + + Gets a value indicating whether the array contains any elements. + The array to check for elements. + The type of element contained by the collection. + + if the array contains an elements; otherwise, . + + + Gets a value indicating whether the array contains any elements that match a specified condition. + The array to check for elements. + The delegate that defines the condition to match to an element. + The type of element contained by the collection. + + if an element matches the specified condition; otherwise, . + + + Returns the element at a specified index in the array. + The array to find an element in. + The index for the element to retrieve. + The type of element contained by the collection. + The item at the specified index. + + + Returns the element at a specified index in a sequence or a default value if the index is out of range. + The array to find an element in. + The index for the element to retrieve. + The type of element contained by the collection. + The item at the specified index, or the default value if the index is not found. + + + Returns the first element in the collection. + The builder to retrieve an item from. + The type of items in the array. + If the array is empty. + The first item in the list. + + + Returns the first element in an array. + The array to get an item from. + The type of element contained by the collection. + If the array is empty. + The first item in the array. + + + Returns the first element in a sequence that satisfies a specified condition. + The array to get an item from. + The delegate that defines the conditions of the element to search for. + The type of element contained by the collection. + If the array is empty. + The first item in the list if it meets the condition specified by . + + + Returns the first element in the collection, or the default value if the collection is empty. + The builder to retrieve an element from. + The type of item in the builder. + The first item in the list, if found; otherwise the default value for the item type. + + + Returns the first element of a sequence, or a default value if the sequence contains no elements. + The array to retrieve items from. + The type of element contained by the collection. + The first item in the list, if found; otherwise the default value for the item type. + + + Returns the first element of the sequence that satisfies a condition or a default value if no such element is found. + The array to retrieve elements from. + The delegate that defines the conditions of the element to search for. + The type of element contained by the collection. + The first item in the list, if found; otherwise the default value for the item type. + + + Returns the last element in the collection. + The builder to retrieve elements from. + The type of item in the builder. + The collection is empty. + The last element in the builder. + + + Returns the last element of the array. + The array to retrieve items from. + The type of element contained by the array. + The collection is empty. + The last element in the array. + + + Returns the last element of a sequence that satisfies a specified condition. + The array to retrieve elements from. + The delegate that defines the conditions of the element to retrieve. + The type of element contained by the collection. + The collection is empty. + The last element of the array that satisfies the condition. + + + Returns the last element in the collection, or the default value if the collection is empty. + The builder to retrieve an element from. + The type of item in the builder. + The last element of a sequence, or a default value if the sequence contains no elements. + + + Returns the last element of a sequence, or a default value if the sequence contains no elements. + The array to retrieve items from. + The type of element contained by the collection. + The last element of a sequence, or a default value if the sequence contains no elements. + + + Returns the last element of a sequence that satisfies a condition or a default value if no such element is found. + The array to retrieve an element from. + The delegate that defines the conditions of the element to search for. + The type of element contained by the collection. + The last element of a sequence, or a default value if the sequence contains no elements. + + + Projects each element of a sequence into a new form. + The immutable array to select items from. + A transform function to apply to each element. + The type of element contained by the collection. + The type of the result element. + An whose elements are the result of invoking the transform function on each element of source. + + + Projects each element of a sequence to an , flattens the resulting sequences into one sequence, and invokes a result selector function on each element therein. + The immutable array. + A transform function to apply to each element of the input sequence. + A transform function to apply to each element of the intermediate sequence. + The type of the elements of . + The type of the intermediate elements collected by . + The type of the elements of the resulting sequence. + An whose elements are the result of invoking the one-to-many transform function on each element of and then mapping each of those sequence elements and their corresponding source element to a result element. + + + Determines whether two sequences are equal according to an equality comparer. + The array to use for comparison. + The items to use for comparison. + The comparer to use to check for equality. + The type of element in the compared array. + The type of element contained by the collection. + + to indicate the sequences are equal; otherwise, . + + + Determines whether two sequences are equal according to an equality comparer. + The array to use for comparison. + The items to use for comparison. + The comparer to use to check for equality. + The type of element in the compared array. + The type of element contained by the collection. + + to indicate the sequences are equal; otherwise, . + + + Determines whether two sequences are equal according to an equality comparer. + The array to use for comparison. + The items to use for comparison. + The comparer to use to check for equality. + The type of element in the compared array. + The type of element contained by the collection. + + to indicate the sequences are equal; otherwise, . + + + Returns the only element of a sequence, and throws an exception if there is not exactly one element in the sequence. + The array to retrieve the element from. + The type of element contained by the collection. + The element in the sequence. + + + Returns the only element of a sequence that satisfies a specified condition, and throws an exception if more than one such element exists. + The immutable array to return a single element from. + The function to test whether an element should be returned. + The type of element contained by the collection. + Returns . + + + Returns the only element of the array, or a default value if the sequence is empty; this method throws an exception if there is more than one element in the sequence. + The array. + The type of element contained by the collection. + + contains more than one element. + The element in the array, or the default value if the array is empty. + + + Returns the only element of a sequence that satisfies a specified condition or a default value if no such element exists; this method throws an exception if more than one element satisfies the condition. + The array to get the element from. + The condition the element must satisfy. + The type of element contained by the collection. + More than one element satisfies the condition in . + The element if it satisfies the specified condition; otherwise the default element. + + + Copies the contents of this array to a mutable array. + The immutable array to copy into a mutable one. + The type of element contained by the collection. + The newly instantiated array. + + + Creates a dictionary based on the contents of this array. + The array to create a dictionary from. + The key selector. + The type of the key. + The type of element contained by the collection. + The newly initialized dictionary. + + + Creates a dictionary based on the contents of this array. + The array to create a dictionary from. + The key selector. + The comparer to initialize the dictionary with. + The type of the key. + The type of element contained by the collection. + The newly initialized dictionary. + + + Creates a dictionary based on the contents of this array. + The array to create a dictionary from. + The key selector. + The element selector. + The type of the key. + The type of the element. + The type of element contained by the collection. + The newly initialized dictionary. + + + Creates a dictionary based on the contents of this array. + The array to create a dictionary from. + The key selector. + The element selector. + The comparer to initialize the dictionary with. + The type of the key. + The type of the element. + The type of element contained by the collection. + The newly initialized dictionary. + + + Filters a sequence of values based on a predicate. + The array to filter. + The condition to use for filtering the array content. + The type of element contained by the collection. + Returns that contains elements that meet the condition. + + + An unsafe class that provides a set of methods to access the underlying data representations of immutable collections. + + + Gets the underlying array for an input value. + The input value to get the underlying array from. + The type of elements in the input value. + The underlying array for , if present. + + + Gets an value wrapping the input array. + The input array to wrap in the returned value. + The type of elements in the input array. + An value wrapping . + + + \ No newline at end of file diff --git a/db_lab/bin/Debug/System.Diagnostics.DiagnosticSource.dll b/db_lab/bin/Debug/System.Diagnostics.DiagnosticSource.dll new file mode 100644 index 0000000000000000000000000000000000000000..354f5f554725498d7f7f7f4622a0fad5dc7a9d65 GIT binary patch literal 189088 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 literal 0 HcmV?d00001 diff --git a/db_lab/bin/Debug/System.Diagnostics.DiagnosticSource.xml b/db_lab/bin/Debug/System.Diagnostics.DiagnosticSource.xml new file mode 100644 index 0000000..d94e6d2 --- /dev/null +++ b/db_lab/bin/Debug/System.Diagnostics.DiagnosticSource.xml @@ -0,0 +1,1886 @@ + + + + System.Diagnostics.DiagnosticSource + + + + Represents an operation with context to be used for logging. + + + Occurs when the value changes. + + + Initializes a new instance of the class. + The name of the operation. + + + Updates the to have a new baggage item with the specified key and value. + The baggage key. + The baggage value. + + for convenient chaining. + + + Adds the specified activity event to the events list. + The activity event to add. + + for convenient chaining. + + + Updates the activity to have a tag with an additional and . + The tag key name. + The tag value mapped to the input key. + + for convenient chaining. + + + Updates the to have a new tag with the provided and . + The tag key. + The tag value. + + for convenient chaining. + + + Stops the activity if it is already started and notifies any event listeners. Nothing will happen otherwise. + + + When overriden by a derived type, this method releases any allocated resources. + + if the method is being called from the finalizer; if calling from user code. + + + Enumerates the objects attached to this Activity object. + + . + + + Enumerates the objects attached to this Activity object. + + . + + + Enumerates the tags attached to this Activity object. + + . + + + Returns the value of a key-value pair added to the activity with . + The baggage key. + The value of the key-value-pair item if it exists, or if it does not exist. + + + Returns the object mapped to the specified property name. + The name associated to the object. + The object mapped to the property name, if one is found; otherwise, . + + + Returns the value of the Activity tag mapped to the input key/>. + Returns if that key does not exist. + The tag key string. + The tag value mapped to the input key. + + + Add or update the Activity baggage with the input key and value. + If the input value is - if the collection has any baggage with the same key, then this baggage will get removed from the collection. + - otherwise, nothing will happen and the collection will not change. + If the input value is not - if the collection has any baggage with the same key, then the value mapped to this key will get updated with the new input value. + - otherwise, the key and value will get added as a new baggage to the collection. + Baggage item will be updated/removed only if it was originaly added to the current activity. Items inherited from the parents will not be changed/removed, new item would be added to current activity baggage instead. + The baggage key name + The baggage value mapped to the input key + + for convenient chaining. + + + Attaches any custom object to this activity. If the specified was previously associated with another object, the property will be updated to be associated with the new instead. It is recommended to use a unique property name to avoid conflicts with anyone using the same value. + The name to associate the value with. + The object to attach and map to the property name. + + + Updates the to set its as the difference between and the specified stop time. + The UTC stop time. + + for convenient chaining. + + + Sets the ID format on this before it is started. + One of the enumeration values that specifies the format of the property. + + for convenient chaining. + + + Sets the parent ID using the W3C convention of a TraceId and a SpanId. + The parent activity's TraceId. + The parent activity's SpanId. + One of the enumeration values that specifies flags defined by the W3C standard that are associated with an activity. + + for convenient chaining. + + + Updates this to indicate that the with an ID of caused this . + The ID of the parent operation. + + for convenient chaining. + + + Sets the start time of this . + The start time in UTC. + + for convenient chaining. + + + Sets the status code and description on the current activity object. + The status code + The error status description + + for convenient chaining. + + + Adds or update the activity tag with the input key and value. + The tag key name. + The tag value mapped to the input key. + + for convenient chaining. + + + Starts the activity. + + for convenient chaining. + + + Stops the activity. + + + Gets or sets the flags (defined by the W3C ID specification) associated with the activity. + the flags associated with the activity. + + + Gets a collection of key/value pairs that represents information that is passed to children of this . + Information that's passed to children of this . + + + Gets the context of the activity. Context becomes valid only if the activity has been started. + The context of the activity, if the activity has been started; otherwise, returns the default context. + + + Gets or sets the current operation () for the current thread. This flows across async calls. + The current operation for the current thread. + + + Gets or sets the default ID format for the . + + + Gets or sets the display name of the activity. + A string that represents the activity display name. + + + Gets the duration of the operation. + The delta between and the end time if the has ended ( or was called), or if the has not ended and was not called. + + + Gets the list of all the activity events attached to this activity. + An enumeration of activity events attached to this activity. If the activity has no events, returns an empty enumeration. + + + Gets or sets a value that detrmines if the is always used to define the default ID format. + + to always use the ; otherwise, . + + + Gets a value that indicates whether the parent context was created from remote propagation. + + + Gets an identifier that is specific to a particular request. + The activity ID. + + + Gets the format for the . + The format for the . + + + Gets or sets a value that indicates whether this activity should be populated with all the propagation information, as well as all the other properties, such as links, tags, and events. + + if the activity should be populated; otherwise. + + + Gets a value that indicates whether this object is stopped or not. + + + Gets the relationship between the activity, its parents, and its children in a trace. + One of the enumeration values that indicate relationship between the activity, its parents, and its children in a trace. + + + Gets the list of all the activity links attached to this activity. + An enumeration of activity links attached to this activity. If the activity has no links, returns an empty enumeration. + + + Gets the operation name. + The name of the operation. + + + Gets the parent that created this activity. + The parent of this , if it is from the same process, or if this instance has no parent (it is a root activity) or if the parent is from outside the process. + + + Gets the ID of this activity's parent. + The parent ID, if one exists, or if it does not. + + + Gets the parent's . + The parent's . + + + Gets a value that indicates whether the W3CIdFlags.Recorded flag is set. + + if the W3CIdFlags.Recorded flag is set; otherwise, . + + + Gets the root ID of this . + The root ID, or if the current instance has either a or an . + + + Gets the activity source associated with this activity. + + + Gets the SPAN part of the . + The ID for the SPAN part of , if the has the W3C format; otherwise, a zero . + + + Gets the time when the operation started. + The UTC time that the operation started. + + + Gets status code of the current activity object. + + + Gets the status description of the current activity object. + + + Gets the list of tags that represent information to log along with the activity. This information is not passed on to the children of this activity. + A key-value pair enumeration of tags and objects. + + + Gets a collection of key/value pairs that represent information that will be logged along with the to the logging system. + Information that will be logged along with the to the logging system. + + + Gets the TraceId part of the . + The ID for the TraceId part of the , if the ID has the W3C format; otherwise, a zero TraceId. + + + When starting an Activity which does not have a parent context, the Trace Id will automatically be generated using random numbers. + TraceIdGenerator can be used to override the runtime's default Trace Id generation algorithm. + + + Gets or sets the W3C header. + The W3C header. + + + Enumerates the data stored on an object. + Type being enumerated. + + + Returns an enumerator that iterates through the data stored on an Activity object. + + . + + + Advances the enumerator to the next element of the data. + + if the enumerator was successfully advanced to the next element; if the enumerator has passed the end of the collection. + + + Gets the element at the current position of the enumerator. + + + Provides data for the event. + + + Gets the object after the event. + + + Gets the object before the event. + + + A representation that conforms to the W3C TraceContext specification. It contains two identifiers: a TraceId and a SpanId, along with a set of common TraceFlags and system-specific TraceState values. + + + Construct a new activity context instance using the specified arguments. + A trace identifier. + A span identifier. + Contain details about the trace. + Carries system-specific configuration data. + Indicates if the context is propagated from a remote parent. + + + Indicates whether the current object is equal to another object of the same type. + The object to compare to this instance. + + if the current object is equal to the parameter; otherwise, . + + + Determines whether this instance and a specified object have the same value. + The object to compare to this instance. + + if the current object is equal to the parameter; otherwise, . + + + Provides a hash function for the current that's suitable for hashing algorithms and data structures, such as hash tables. + A hash code for the current . + + + Determines whether two specified values are equal. + The first value to compare. + The second value to compare. + + if and are equal; otherwise, . + + + Determines whether two specified values are not equal. + The first value to compare. + The second value to compare. + + if and are not equal; otherwise, . + + + Parses a W3C trace context headers to an object. + The W3C trace parent header. + The trace state. + The trace parent is invalid. + The object created from the parsing operation. + + + Tries to parse the W3C trace context headers to the object. + The W3C trace parent header. + The W3C trace state. + + to propagate the context from the remote parent; otherwise, . + When this method returns, contains the object created from the parsing operation. + + if the operation succeeds; otherwise. + + + Tries to parse the W3C trace context headers to an object. + The W3C trace parent header. + The W3C trace state. + When this method returns , the object created from the parsing operation. + + if the parsing was successful; otherwise. + + + Indicates if the activity context was propagated from a remote parent. + + if it was propagated from a remote parent; otherwise. + + + The Id of the request as known by the caller. + The Span Id in the context. + + + The flags defined by the W3C standard along with the ID for the activity. + The context tracing flags. + + + The trace identifier. + The tracing identifier in the context. + + + Holds the W3C 'tracestate' header. + A string representing the W3C 'tracestate' header. + + + Encapsulates all the information that is sent to the activity listener, to make decisions about the creation of the activity instance, as well as its state. + +The possible generic type parameters are or . + The type of the property. Should be either or . + + + Gets the activity kind which the activity will be created with. + One of the enumeration values that represent an activity kind. + + + Gets the enumeration of activity links that the activity will be created with. + An enumeration of activity links. + + + Gets the name to use as OperationName of the activity that will get created. + A string representing the activity name. + + + Gets the parent context or parent Id that the activity will get created with. + The parent of the activity, represented either as a or as an . + + + Gets the collection that is used to add more tags during the sampling process. The added tags are also added to the created Activity if it is decided that it should be created by the callbacks. + The Activity tags collection. + + + Gets the activity source that creates the activity. + An activity source object. + + + Gets the tags that the activity will be created with. + A key-value pair enumeration of tags associated with the activity. + + + Gets the trace Id to use in the Activity object if it is decided that it should be created by callbacks. + The trace Id. + + + Gets or initializes the trace state to use when creating the Activity. + + + Represents an event containing a name and a timestamp, as well as an optional list of tags. + + + Initializes a new activity event instance using the specified name and the current time as the event timestamp. + The event name. + + + Initializes a new activity event instance using the specified name, timestamp and tags. + The event name. + The event timestamp. Timestamp must only be used for the events that happened in the past, not at the moment of this call. + The event tags. + + + Enumerate the tags attached to this object. + + . + + + Gets the activity event name. + A string representing the activity event name. + + + Gets the collection of tags associated with the event. + A key-value pair enumeration containing the tags associated with the event. + + + Gets the activity event timestamp. + A datetime offset representing the activity event timestamp. + + + Specifies the format of the property. + + + The hierarchical format. + + + An unknown format. + + + The W3C format. + + + Describes the relationship between the activity, its parents and its children in a trace. + + + Outgoing request to the external component. + + + Output received from an external component. + + + Internal operation within an application, as opposed to operations with remote parents or children. This is the default value. + + + Output provided to external components. + + + Requests incoming from external component. + + + Activities may be linked to zero or more activity context instances that are causally related. + +Activity links can point to activity contexts inside a single trace or across different traces. + +Activity links can be used to represent batched operations where an activity was initiated by multiple initiating activities, each representing a single incoming item being processed in the batch. + + + Constructs a new activity link, which can be linked to an activity. + The trace activity context. + The key-value pair list of tags associated to the activity context. + + + Enumerate the tags attached to this object. + + . + + + Indicates whether the current activity link is equal to another activity link. + The activity link to compare. + + if the current activity link is equal to ; otherwise, . + + + Indicates whether the current activity link is equal to another object. + The object to compare. + + if the current activity link is equal to ; otherwise, . + + + Provides a hash function for the current that's suitable for hashing algorithms and data structures, such as hash tables. + A hash code for the current . + + + Determines whether two specified values are equal. + The first value to compare. + The second value to compare. + + if and are equal; otherwise, . + + + Determines whether two specified values are not equal. + The first value to compare. + The second value to compare. + + if and are not equal; otherwise, . + + + Retrieves the activity context inside this activity link. + + + Retrieves the key-value pair enumeration of tags attached to the activity context. + An enumeration of tags attached to the activity context. + + + Allows listening to the start and stop activity events and gives the opportunity to decide creating an activity for sampling scenarios. + + + Construct a new activity listener object to start listeneing to the activity events. + + + Unregisters this activity listener object from listening to activity events. + + + Gets or sets the callback used to listen to the activity start event. + An activity callback instance used to listen to the activity start event. + + + Gets or sets the callback used to listen to the activity stop event. + An activity callback instance used to listen to the activity stop event. + + + Gets or sets the callback that is used to decide if creating objects with a specific data state is allowed. + A sample activity instance. + + + Gets or sets the callback that is used to decide if creating objects with a specific data state is allowed. + A sample activity instance. + + + Gets or sets the callback that allows deciding if activity object events that were created using the activity source object should be listened or not. + + to listen events; otherwise. + + + Enumeration values used by to indicate the amount of data to collect for the related . Requesting more data causes a greater performance overhead. + + + The activity object should be populated with all the propagation information and also all other properties such as Links, Tags, and Events. Using this value causes to return . + + + The activity object should be populated the same as the case. Additionally, Activity.Recorded is set to . For activities using the W3C trace ids, this sets a flag bit in the ID that will be propagated downstream requesting that the trace is recorded everywhere. + + + The activity object does not need to be created. + + + The activity object needs to be created. It will have a Name, a Source, an Id and Baggage. Other properties are unnecessary and will be ignored by this listener. + + + Provides APIs to create and start objects and to register objects to listen to the events. + + + Constructs an activity source object with the specified . + The name of the activity source object. + The version of the component publishing the tracing info. + + + Adds a listener to the activity starting and stopping events. + The activity listener object to use for listening to the activity events. + + + Creates a new object if there is any listener to the Activity, returns otherwise. + The operation name of the Activity + The + The created object or if there is no any event listener. + + + Creates a new object if there is any listener to the Activity, returns otherwise. + If the Activity object is created, it will not automatically start. Callers will need to call to start it. + The operation name of the Activity. + The + The parent object to initialize the created Activity object with. + The optional tags list to initialize the created Activity object with. + The optional list to initialize the created Activity object with. + The default Id format to use. + The created object or if there is no any listener. + + + Creates a new object if there is any listener to the Activity, returns otherwise. + The operation name of the Activity. + The + The parent Id to initialize the created Activity object with. + The optional tags list to initialize the created Activity object with. + The optional list to initialize the created Activity object with. + The default Id format to use. + The created object or if there is no any listener. + + + Disposes the activity source object, removes the current instance from the global list, and empties the listeners list. + + + Checks if there are any listeners for this activity source. + + if there is a listener registered for this activity source; otherwise, . + + + Creates and starts a new object if there is any listener to the Activity events, returns otherwise. + The + The parent object to initialize the created Activity object with. + The optional tags list to initialize the created Activity object with. + The optional list to initialize the created Activity object with. + The optional start timestamp to set on the created Activity object. + The operation name of the Activity. + The created object or if there is no any listener. + + + Creates a new activity if there are active listeners for it, using the specified name and activity kind. + The operation name of the activity. + The activity kind. + The created activity object, if it had active listeners, or if it has no event listeners. + + + Creates a new activity if there are active listeners for it, using the specified name, activity kind, parent activity context, tags, optional activity link and optional start time. + The operation name of the activity. + The activity kind. + The parent object to initialize the created activity object with. + The optional tags list to initialize the created activity object with. + The optional list to initialize the created activity object with. + The optional start timestamp to set on the created activity object. + The created activity object, if it had active listeners, or if it has no event listeners. + + + Creates a new activity if there are active listeners for it, using the specified name, activity kind, parent Id, tags, optional activity links and optional start time. + The operation name of the activity. + The activity kind. + The parent Id to initialize the created activity object with. + The optional tags list to initialize the created activity object with. + The optional list to initialize the created activity object with. + The optional start timestamp to set on the created activity object. + The created activity object, if it had active listeners, or if it has no event listeners. + + + Returns the activity source name. + A string that represents the activity source name. + + + Returns the activity source version. + A string that represents the activity source version. + + + Represents a formatted based on a W3C standard. + + + Copies the 8 bytes of the current to a specified span. + The span to which the 8 bytes of the SpanID are to be copied. + + + Creates a new value from a read-only span of eight bytes. + A read-only span of eight bytes. + + does not contain eight bytes. + The new span ID. + + + Creates a new value from a read-only span of 16 hexadecimal characters. + A span that contains 16 hexadecimal characters. + + does not contain 16 hexadecimal characters. + +-or- + +The characters in are not all lower-case hexadecimal characters or all zeros. + The new span ID. + + + Creates a new value from a read-only span of UTF8-encoded bytes. + A read-only span of UTF8-encoded bytes. + The new span ID. + + + Creates a new based on a random number (that is very likely to be unique). + The new span ID. + + + Determines whether this instance and the specified instance have the same value. + The instance to compare. + + if has the same hex value as the current instance; otherwise, . + + + the current instance and a specified object, which also must be an instance, have the same value. + The object to compare. + + if is an instance of and has the same hex value as the current instance; otherwise, . + + + Returns the hash code of the SpanId. + The hash code of the SpanId. + + + Determines whether two specified instances have the same value. + The first instance to compare. + The second instance to compare. + + if the SpanId of is the same as the SpanId of ; otherwise, . + + + Determine whether two specified instances have unequal values. + The first instance to compare. + The second instance to compare. + + if the SpanId of is different from the SpanId of ; otherwise, . + + + Returns a 16-character hexadecimal string that represents this span ID. + The 16-character hexadecimal string representation of this span ID. + + + Returns a 16-character hexadecimal string that represents this span ID. + The 16-character hexadecimal string representation of this span ID. + + + Define the status code of the Activity which indicate the status of the instrumented operation. + + + Status code indicating an error is encountered during the operation. + + + Status code indicating the operation has been validated and completed successfully. + + + Unset status code is the default value indicating the status code is not initialized. + + + ActivityTagsCollection is a collection class used to store tracing tags. + +This collection will be used with classes like and . + +This collection behaves as follows: +- The collection items will be ordered according to how they are added. +- Don't allow duplication of items with the same key. +- When using the indexer to store an item in the collection: + - If the item has a key that previously existed in the collection and the value is , the collection item matching the key will be removed from the collection. + - If the item has a key that previously existed in the collection and the value is not , the new item value will replace the old value stored in the collection. + - Otherwise, the item will be added to the collection. +- Add method will add a new item to the collection if an item doesn't already exist with the same key. Otherwise, it will throw an exception. + + + Create a new instance of the collection. + + + Create a new instance of the collection and store the input list items in the collection. + Initial list to store in the collection. + + + Adds an item to the collection. + Key and value pair of the tag to add to the collection. + + already exists in the list. + + is . + + + Adds a tag with the provided key and value to the collection. This collection doesn't allow adding two tags with the same key. + The tag key. + The tag value. + + + Removes all items from the collection. + + + Determines whether the contains a specific value. + The object to locate in the . + + if is found in the ; otherwise, . + + + Determines whether the collection contains an element with the specified key. + The key to locate in the . + + if the collection contains tag with that key. otherwise. + + + Copies the elements of the collection to an array, starting at a particular array index. + The array that is the destination of the elements copied from collection. + The zero-based index in array at which copying begins. + + + Returns an enumerator that iterates through the collection. + An enumerator for the . + + + Removes the first occurrence of a specific item from the collection. + The tag key value pair to remove. + + if item was successfully removed from the collection; otherwise, . This method also returns if item is not found in the original collection. + + + Removes the tag with the specified key from the collection. + The tag key. + + if the item existed and removed. otherwise. + + + Returns an enumerator that iterates through the collection. + An enumerator that can be used to iterate through the collection. + + + Returns an enumerator that iterates through the collection. + An object that can be used to iterate through the collection. + + + Gets the value associated with the specified key. + The tag key. + The tag value. + When this method returns, the value associated with the specified key, if the key is found; otherwise, the default value for the type of the value parameter. This parameter is passed uninitialized. + + + Gets the number of elements contained in the collection. + The number of elements contained in the . + + + Gets a value indicating whether the collection is read-only. This always returns . + Always returns . + + + Gets or sets a specified collection item. + + When setting a value to this indexer property, the following behavior is observed: +- If the key previously existed in the collection and the value is , the collection item matching the key will get removed from the collection. +- If the key previously existed in the collection and the value is not , the value will replace the old value stored in the collection. +- Otherwise, a new item will get added to the collection. + The key of the value to get or set. + The object mapped to the key. + + + Get the list of the keys of all stored tags. + An containing the keys of the object that implements . + + + Get the list of the values of all stored tags. + An containing the values in the object that implements . + + + Enumerates the elements of an . + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + Advances the enumerator to the next element of the collection. + + if the enumerator was successfully advanced to the next element; if the enumerator has passed the end of the collection. + + + Sets the enumerator to its initial position, which is before the first element in the collection. + + + Gets the element in the collection at the current position of the enumerator. + The element in the collection at the current position of the enumerator. + + + Gets the element in the collection at the current position of the enumerator. + The element in the collection at the current position of the enumerator. + + + Specifies flags defined by the W3C standard that are associated with an activity. + + + The activity has not been marked. + + + The activity (or more likely its parents) has been marked as useful to record. + + + Represents a whose format is based on a W3C standard. + + + Copies the 16 bytes of the current to a specified span. + The span to which the 16 bytes of the trace ID are to be copied. + + + Creates a new value from a read-only span of 16 bytes. + A read-only span of 16 bytes. + + does not contain eight bytes. + The new trace ID. + + + Creates a new value from a read-only span of 32 hexadecimal characters. + A span that contains 32 hexadecimal characters. + + does not contain 16 hexadecimal characters. + +-or- + +The characters in are not all lower-case hexadecimal characters or all zeros. + The new trace ID. + + + Creates a new value from a read-only span of UTF8-encoded bytes. + A read-only span of UTF8-encoded bytes. + The new trace ID. + + + Creates a new based on a random number (that is very likely to be unique). + The new . + + + Determines whether the current instance and a specified are equal. + The instance to compare. + + if has the same hex value as the current instance; otherwise, . + + + Determines whether this instance and a specified object, which must also be an instance, have the same value. + The object to compare. + + if is an instance of and has the same hex value as the current instance; otherwise, . + + + Returns the hash code of the TraceId. + The hash code of the TraceId. + + + Determines whether two specified instances have the same value. + The first instance to compare. + The second instance to compare. + + if the TraceId of is the same as the TraceId of ; otherwise, . + + + Determines whether two specified instances have the same value. + The first instance to compare. + The second instance to compare. + + if the TraceId of is different from the TraceId of ; otherwise, . + + + Returns a 32-character hexadecimal string that represents this span ID. + The 32-character hexadecimal string representation of this trace ID. + + + Returns a 32-character hexadecimal string that represents this trace ID. + The 32-character hexadecimal string representation of this trace ID. + + + Provides an implementation of the abstract class that represents a named place to which a source sends its information (events). + + + Creates a new . + The name of this . + + + Disposes the NotificationListeners. + + + Determines whether there are any registered subscribers. + + if there are any registered subscribers, otherwise. + + + Checks whether the is enabled. + The name of the event to check. + + if notifications are enabled; otherwise, . + + + Checks if any subscriber to the diagnostic events is interested in receiving events with this name. Subscribers indicate their interest using a delegate provided in . + The name of the event to check. + The object that represents a context. + The object that represents a context. + + if it is enabled, otherwise. + + + Invokes the OnActivityExport method of all the subscribers. + The activity affected by an external event. + An object that represents the outgoing request. + + + Invokes the OnActivityImport method of all the subscribers. + The activity affected by an external event. + An object that represents the incoming request. + + + Adds a subscriber. + A subscriber. + A reference to an interface that allows the listener to stop receiving notifications before the has finished sending them. + + + Adds a subscriber, and optionally filters events based on their name and up to two context objects. + A subscriber. + A delegate that filters events based on their name and up to two context objects (which can be ), or to if an event filter is not desirable. + A reference to an interface that allows the listener to stop receiving notifications before the has finished sending them. + + + Adds a subscriber, optionally filters events based on their name and up to two context objects, and specifies methods to call when providers import or export activites from outside the process. + A subscriber. + A delegate that filters events based on their name and up to two context objects (which can be ), or if an event filter is not desirable. + An action delegate that receives the activity affected by an external event and an object that represents the incoming request. + An action delegate that receives the activity affected by an external event and an object that represents the outgoing request. + A reference to an interface that allows the listener to stop receiving notifications before the has finished sending them. + + + Adds a subscriber, and optionally filters events based on their name. + A subscriber. + A delegate that filters events based on their name (). The delegate should return if the event is enabled. + A reference to an interface that allows the listener to stop receiving notifications before the has finished sending them. + + + Returns a string with the name of this DiagnosticListener. + The name of this DiagnosticListener. + + + Logs a notification. + The name of the event to log. + An object that represents the payload for the event. + + + Gets the collection of listeners for this . + + + Gets the name of this . + The name of the . + + + An abstract class that allows code to be instrumented for production-time logging of rich data payloads for consumption within the process that was instrumented. + + + Initializes an instance of the class. + + + Verifies if the notification event is enabled. + The name of the event being written. + + if the notification event is enabled, otherwise. + + + Verifies it the notification event is enabled. + The name of the event being written. + An object that represents the additional context for IsEnabled. Consumers should expect to receive which may indicate that producer called pure IsEnabled(string) to check if consumer wants to get notifications for such events at all. Based on that, producer may call IsEnabled(string, object, object) again with non- context. + Optional. An object that represents the additional context for IsEnabled. by default. Consumers should expect to receive which may indicate that producer called pure IsEnabled(string) or producer passed all necessary context in . + + if the notification event is enabled, otherwise. + + + Transfers state from an activity to some event or operation, such as an outgoing HTTP request, that will occur outside the process. + The activity affected by an external event. + An object that represents the outgoing request. + + + Transfers state to an activity from some event or operation, such as an incoming request, that occurred outside the process. + The activity affected by an external event. + A payload that represents the incoming request. + + + Starts an and writes a start event. + The to be started. + An object that represent the value being passed as a payload for the event. + The started activity for convenient chaining. + + + + + + + + Stops the given , maintains the global activity, and notifies consumers that the was stopped. + The activity to be stopped. + An object that represents the value passed as a payload for the event. + + + + + + + + Provides a generic way of logging complex payloads. + The name of the event being written. + An object that represents the value being passed as a payload for the event. This is often an anonymous type which contains several sub-values. + + + + + + + + An implementation of determines if and how distributed context information is encoded and decoded as it traverses the network. + The encoding can be transported over any network protocol that supports string key-value pairs. For example, when using HTTP, each key-value pair is an HTTP header. + injects values into and extracts values from carriers as string key-value pairs. + + + Initializes an instance of the class. This constructor is protected and only meant to be called from parent classes. + + + Returns the default propagator object that will be initialized with. + An instance of the class. + + + Returns a propagator that does not transmit any distributed context information in outbound network messages. + An instance of the class. + + + Returns a propagator that attempts to act transparently, emitting the same data on outbound network requests that was received on the inbound request. + When encoding the outbound message, this propagator uses information from the request's root Activity, ignoring any intermediate Activities that may have been created while processing the request. + An instance of the class. + + + Extracts the baggage key-value pair list from an incoming request represented by the carrier. For example, from the headers of an HTTP request. + The medium from which values will be read. + The callback method to invoke to get the propagation baggage list from the carrier. + Returns the extracted key-value pair list from the carrier. + + + Extracts the trace ID and trace state from an incoming request represented by the carrier. For example, from the headers of an HTTP request. + The medium from which values will be read. + The callback method to invoke to get the propagation trace ID and state from the carrier. + When this method returns, contains the trace ID extracted from the carrier. + When this method returns, contains the trace state extracted from the carrier. + + + Injects the trace values stored in the object into a carrier. For example, into the headers of an HTTP request. + The Activity object has the distributed context to inject to the carrier. + The medium in which the distributed context will be stored. + The callback method to invoke to set a named key-value pair on the carrier. + + + Get or set the process-wide propagator object to use as the current selected propagator. + The currently selected process-wide propagator object. + + + Gets the set of field names this propagator is likely to read or write. + The list of fields that will be used by the DistributedContextPropagator. + + + Represents the callback method that's used in the extract methods of propagators. The callback is invoked to look up the value of a named field. + The medium used by propagators to read values from. + The propagation field name. + When this method returns, contains the value that corresponds to . The value is non- if there is only one value for the input field name. + When this method returns, contains a collection of values that correspond to . The value is non- if there is more than one value for the input field name. + + + Represents the callback method that's used in propagators' inject methods. This callback is invoked to set the value of a named field. + Propagators may invoke it multiple times in order to set multiple fields. + The medium used by propagators to write values to. + The propagation field name. + The value corresponding to . + + + Represents an instrument that supports adding non-negative values. For example, you might call counter.Add(1) each time a request is processed to track the total number of requests. Most metric viewers display counters using a rate (requests/sec), by default, but can also display a cumulative total. + The type that the counter represents. + + + Records the increment value of the measurement. + The increment measurement. + + + Records the increment value of the measurement. + The increment measurement. + A key-value pair tag associated with the measurement. + + + Records the increment value of the measurement. + The increment measurement. + A first key-value pair tag associated with the measurement. + A second key-value pair tag associated with the measurement. + + + Records the increment value of the measurement. + The increment measurement. + A first key-value pair tag associated with the measurement. + A second key-value pair tag associated with the measurement. + A third key-value pair tag associated with the measurement. + + + Records the increment value of the measurement. + The increment measurement. + A list of key-value pair tags associated with the measurement. + + + Adds the increment value of the measurement. + The measurement value. + The tags associated with the measurement. + + + Records the increment value of the measurement. + The increment measurement. + A span of key-value pair tags associated with the measurement. + + + Represents a metrics instrument that can be used to report arbitrary values that are likely to be statistically meaningful, for example, the request duration. Call to create a Histogram object. + The type that the histogram represents. + + + Records a measurement value. + The measurement value. + + + Records a measurement value. + The measurement value. + A key-value pair tag associated with the measurement. + + + Records a measurement value. + The measurement value. + A first key-value pair tag associated with the measurement. + A second key-value pair tag associated with the measurement. + + + Records a measurement value. + The measurement value. + A first key-value pair tag associated with the measurement. + A second key-value pair tag associated with the measurement. + A third key-value pair tag associated with the measurement. + + + Records a measurement value. + The measurement value. + A list of key-value pair tags associated with the measurement. + + + Records a measurement value. + The measurement value. + The tags associated with the measurement. + + + Records a measurement value. + The measurement value. + A span of key-value pair tags associated with the measurement. + + + + + + + Base class of all metrics instrument classes + + + Protected constructor to initialize the common instrument properties like the meter, name, description, and unit. + The meter that created the instrument. + The instrument name. Cannot be . + Optional instrument unit of measurements. + Optional instrument description. + + + + + + + + + + Activates the instrument to start recording measurements and to allow listeners to start listening to such measurements. + + + Gets the instrument description. + + + Gets a value that indicates if there are any listeners for this instrument. + + + Gets a value that indicates whether the instrument is an observable instrument. + + + Gets the Meter that created the instrument. + + + Gets the instrument name. + + + + Gets the instrument unit of measurements. + + + The base class for all non-observable instruments. + The type that the instrument represents. + + + Create the metrics instrument using the properties meter, name, description, and unit. + The meter that created the instrument. + The instrument name. Cannot be . + Optional instrument unit of measurements. + Optional instrument description. + + + + + + + + + + Records a measurement by notifying all objects that are listening to this instrument. + The measurement value. + + + Records a measurement by notifying all objects that are listening to this instrument. + The measurement value. + A key-value pair tag associated with the measurement. + + + Records a measurement by notifying all objects that are listening to this instrument. + The measurement value. + A first key-value pair tag associated with the measurement. + A second key-value pair tag associated with the measurement. + + + Records a measurement by notifying all objects that are listening to this instrument. + The measurement value. + A first key-value pair tag associated with the measurement. + A second key-value pair tag associated with the measurement. + A third key-value pair tag associated with the measurement. + + + Records a measurement by notifying all objects that are listening to this instrument. + The measurement value. + The tags associated with the measurement. + + + Records a measurement by notifying all objects that are listening to this instrument. + The measurement value. + A span of key-value pair tags associated with the measurement. + + + Stores one observed metrics value and its associated tags. This type is used by an Observable instrument's Observe() method when reporting current measurements. + The type that the measurement represents. + + + Initializes a new instance of using the specified value. + The measurement value. + + + Initializes a new instance of using the specified value and list of tags. + The measurement value. + The list of tags associated with the measurement. + + + Initializes a new instance of using the specified value and list of tags. + The measurement value. + The list of tags associated with the measurement. + + + Initializes a new instance of using the specified value and list of tags. + The measurement value. + The list of tags associated with the measurement. + + + Gets the measurement tags list. + + + Gets the measurement value. + + + A delegate to represent the Meterlistener callbacks that are used when recording measurements. + The instrument that sent the measurement. + The measurement value. + A span of key-value pair tags associated with the measurement. + The state object originally passed to method. + The type that the measurement represents. + + + Meter is the class responsible for creating and tracking the Instruments. + + + + + + Initializes a new instance of using the specified meter name. + The Meter name. + + + Initializes a new instance of using the specified meter name and version. + The Meter name. + The optional Meter version. + + + + + + + + + Create a metrics Counter object. + The instrument name. Cannot be . + Optional instrument unit of measurements. + Optional instrument description. + The numerical type of the measurement. + A new counter. + + + + + + + + + + Creates a Histogram, which is an instrument that can be used to report arbitrary values that are likely to be statistically meaningful. It is intended for statistics such as histograms, summaries, and percentiles. + The instrument name. Cannot be . + Optional instrument unit of measurements. + Optional instrument description. + The numerical type of the measurement. + A new histogram. + + + + + + + + + + Creates an ObservableCounter, which is an instrument that reports monotonically increasing values when the instrument is being observed. + The instrument name. Cannot be . + The callback to call to get the measurements when ObservableCounter{T}.Observe() is called by . + Optional instrument unit of measurements. + Optional instrument description. + The numerical type of the measurement.. + A new observable counter. + + + + + + + + + + + Creates an ObservableCounter, which is an instrument that reports monotonically increasing values when the instrument is being observed. + The instrument name. Cannot be . + The callback to call to get the measurements when ObservableCounter{T}.Observe() is called by . + Optional instrument unit of measurements. + Optional instrument description. + The numerical type of the measurement. + A new observable counter. + + + + + + + + + + + Creates an ObservableCounter, which is an instrument that reports monotonically increasing values when the instrument is being observed. + The instrument name. Cannot be . + The callback to call to get the measurements when ObservableCounter{T}.Observe() is called by + Optional instrument unit of measurements. + Optional instrument description. + The numerical type of the measurement. + A new observable counter. + + + + + + + + + + + Creates an ObservableGauge, which is an asynchronous instrument that reports non-additive values when the instrument is being observed. + The instrument name. Cannot be . + The callback to call to get the measurements when ObservableCounter{T}.Observe() is called by . + Optional instrument unit of measurements. + Optional instrument description. + The numerical type of the measurement. + A new observable gauge. + + + + + + + + + + + Creates an ObservableGauge, which is an asynchronous instrument that reports non-additive values when the instrument is being observed. + The instrument name. Cannot be . + The callback to call to get the measurements when ObservableCounter{T}.Observe() is called by . + Optional instrument unit of measurements. + Optional instrument description. + The numerical type of the measurement. + A new observable gauge. + + + + + + + + + + + Creates an ObservableGauge, which is an asynchronous instrument that reports non-additive values when the instrument is being observed. + The instrument name. Cannot be . + The callback to call to get the measurements when ObservableCounter{T}.Observe() is called by . + Optional instrument unit of measurements. + Optional instrument description. + The numerical type of the measurement. + A new observable gauge. + + + + + + + + + + + Creates an ObservableUpDownCounter object. ObservableUpDownCounter is an Instrument that reports increasing or decreasing values when the instrument is being observed. + The instrument name. Cannot be . + The callback to call to get the measurements when the is called by . + Optional instrument unit of measurements. + Optional instrument description. + The numerical type of the measurement. + A new observable up down counter. + + + + + + + + + + + Creates an ObservableUpDownCounter object. ObservableUpDownCounter is an Instrument that reports increasing or decreasing values when the instrument is being observed. + The instrument name. Cannot be . + The callback to call to get the measurements when the is called by . + Optional instrument unit of measurements. + Optional instrument description. + The numerical type of the measurement. + A new observable up down counter. + + + + + + + + + + + Creates an ObservableUpDownCounter object. ObservableUpDownCounter is an Instrument that reports increasing or decreasing values when the instrument is being observed. + The instrument name. Cannot be . + The callback to call to get the measurements when the is called by + Optional instrument unit of measurements. + Optional instrument description. + The numerical type of the measurement. + A new observable up down counter. + + + + + + + + + + + Create a metrics UpDownCounter object. + The instrument name. Cannot be . + Optional instrument unit of measurements. + Optional instrument description. + The numerical type of the measurement. + A new up down counter. + + + + + + + + + + Dispose the Meter which will disable all instruments created by this meter. + + + + + + Gets the Meter name. + The Meter name + + + + + Gets the Meter version. + The Meter version. + + + + + + + + + + The MeterListener is class used to listen to the metrics instrument measurements recording. + + + Initializes a new instance of the class. + + + Stops listening to a specific instrument measurement recording. + The instrument to stop listening to. + The state object originally passed to method. + + + Disposes the listeners which will stop it from listening to any instrument. + + + Starts listening to a specific instrument measurement recording. + The instrument to listen to. + A state object that will be passed back to the callback getting measurements events. + + + Calls all Observable instruments that the listener is listening to, and calls with every collected measurement. + + + Sets a callback for a specific numeric type to get the measurement recording notification from all instruments which enabled listening and was created with the same specified numeric type. + If a measurement of type T is recorded and a callback of type T is registered, that callback will be used. + The callback which can be used to get measurement recording of numeric type T. + The type of the numeric measurement. + + + Enables the listener to start listening to instruments measurement recording. + + + Gets or sets the callback to get notified when an instrument is published. + The callback to get notified when an instrument is published. + + + Gets or sets the callback to get notified when the measurement is stopped on some instrument. + This can happen when the Meter or the Listener is disposed or calling on the listener. + The callback to get notified when the measurement is stopped on some instrument. + + + + + + + + + + + Represents a metrics-observable instrument that reports monotonically increasing values when the instrument is being observed, for example, CPU time (for different processes, threads, user mode, or kernel mode). Call to create the observable counter object. + The type that the observable counter represents. + + + Represents an observable instrument that reports non-additive values when the instrument is being observed, for example, the current room temperature. Call to create the observable counter object. + + + + ObservableInstrument{T} is the base class from which all metrics observable instruments will inherit. + The type that the observable instrument represents. + + + Initializes a new instance of the class using the specified meter, name, description, and unit. + All classes that extend ObservableInstrument{T} must call this constructor when constructing objects of the extended class. + The meter that created the instrument. + The instrument name. cannot be . + Optional instrument unit of measurements. + Optional instrument description. + + + + + + + + + + Fetches the current measurements being tracked by this instrument. All classes extending ObservableInstrument{T} need to implement this method. + The current measurements tracked by this instrument. + + + Gets a value that indicates if the instrument is an observable instrument. + + if the instrument is metrics-observable; otherwise. + + + A metrics-observable instrument that reports increasing or decreasing values when the instrument is being observed. +Use this instrument to monitor the process heap size or the approximate number of items in a lock-free circular buffer, for example. +To create an ObservableUpDownCounter object, use the methods. + The type that the counter represents. + + + An instrument that supports reporting positive or negative metric values. + UpDownCounter may be used in scenarios like reporting the change in active requests or queue size. + The type that the UpDownCounter represents. + + + Records the delta value of the measurement. The delta can be positive, negative, or zero. + The amount to be added, which can be positive, negative, or zero. + + + Records the delta value of the measurement. The delta can be positive, negative, or zero. + The amount to be added, which can be positive, negative, or zero. + A key-value pair tag associated with the measurement. + + + Records the delta value of the measurement. The delta can be positive, negative, or zero. + The amount to be added, which can be positive, negative, or zero. + A first key-value pair tag associated with the measurement. + A second key-value pair tag associated with the measurement. + + + Records the delta value of the measurement. The delta can be positive, negative, or zero. + The amount to be added, which can be positive, negative, or zero. + A first key-value pair tag associated with the measurement. + A second key-value pair tag associated with the measurement. + A third key-value pair tag associated with the measurement. + + + Records the delta value of the measurement. The delta can be positive, negative, or zero. + The amount to be added, which can be positive, negative, or zero. + A list of key-value pair tags associated with the measurement. + + + Records the delta value of the measurement. The delta can be positive, negative, or zero. + The amount to be added, which can be positive, negative, or zero. + A of tags associated with the measurement. + + + Records the delta value of the measurement. The delta can be positive, negative, or zero. + The amount to be added, which can be positive, negative, or zero. + A span of key-value pair tags associated with the measurement. + + + A delegate that defines the signature of the callbacks used in the sampling process. + The Activity creation options used by callbacks to decide creating the Activity object or not. + The type of the requested parent to create the Activity object with. Should be either a string or an instance. + An object containing the sampling results, which indicate the amount of data to collect for the related . + + + Represents a list of tags that can be accessed by index. Provides methods to search, sort, and manipulate lists. + + + Initializes a new instance of using the specified . + A span of tags to initialize the list with. + + + Adds a tag to the list. + The key-value pair of the tag to add to the list. + + + Adds a tag with the specified and to the list. + The tag key. + The tag value. + + + Removes all elements from the . + + + Determines whether a tag is in the . + The tag to locate in the . + + if item is found in the ; otherwise, . + + + Copies the entire to a compatible one-dimensional array, starting at the specified index of the target array. + The one-dimensional Array that is the destination of the elements copied from . The Array must have zero-based indexing. + The zero-based index in at which copying begins. + + is . + + is less than 0 or greater than or equal to the length. + + + Copies the contents of this into a destination span. + The destination object. + + The number of elements in the source is greater than the number of elements that the destination span. + + + Returns an enumerator that iterates through the . + An enumerator that iterates through the . + + + Searches for the specified tag and returns the zero-based index of the first occurrence within the entire . + The tag to locate in the . + The zero-based index of the first ocurrence of in the tag list. + + + Inserts an element into the at the specified index. + The zero-based index at which the item should be inserted. + The tag to insert. + + is less than 0 or is greater than . + + + Removes the first occurrence of a specific object from the . + The tag to remove from the . + + if is successfully removed; otherwise, . This method also returns if was not found in the . + + + Removes the element at the specified index of the . + The zero-based index of the element to remove. + + index is less than 0 or is greater than . + + + Returns an enumerator that iterates through the . + An enumerator that iterates through the . + + + Gets the number of tags contained in the . + The number of elements contained in the . + + + Gets a value indicating whether the is read-only. This property will always return . + + Always returns . + + + Gets or sets the tags at the specified index. + The item index. + + is not a valid index in the . + The element at the specified index. + + + An enumerator for traversing a tag list collection. + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + Advances the enumerator to the next element of the collection. + + if the enumerator was successfully advanced to the next element; if the enumerator has passed the end of the collection. + + + Sets the enumerator to its initial position, which is before the first element in the collection. + + + Gets the element in the collection at the current position of the enumerator. + The element in the collection at the current position of the enumerator. + + + Gets the element in the collection at the current position of the enumerator. + The element in the collection at the current position of the enumerator. + + + \ No newline at end of file diff --git a/db_lab/bin/Debug/System.Memory.dll b/db_lab/bin/Debug/System.Memory.dll new file mode 100644 index 0000000000000000000000000000000000000000..46171997966f26bda11e58586c51b2817bde5cca GIT binary patch literal 142240 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 literal 0 HcmV?d00001 diff --git a/db_lab/bin/Debug/System.Memory.xml b/db_lab/bin/Debug/System.Memory.xml new file mode 100644 index 0000000..4d12fd7 --- /dev/null +++ b/db_lab/bin/Debug/System.Memory.xml @@ -0,0 +1,355 @@ + + + System.Memory + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/db_lab/bin/Debug/System.Numerics.Vectors.dll b/db_lab/bin/Debug/System.Numerics.Vectors.dll new file mode 100644 index 0000000000000000000000000000000000000000..08659724d4f8534ee97a543e93dd6d3c702fcd15 GIT binary patch literal 115856 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
    A56h=o3u)Ar^3va&BemI`C*}HC8>xqw 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 P)6yq*$X=&d&4~X8FD<25 literal 0 HcmV?d00001 diff --git a/db_lab/bin/Debug/System.Numerics.Vectors.xml b/db_lab/bin/Debug/System.Numerics.Vectors.xml new file mode 100644 index 0000000..da34d39 --- /dev/null +++ b/db_lab/bin/Debug/System.Numerics.Vectors.xml @@ -0,0 +1,2621 @@ + + + System.Numerics.Vectors + + + + Represents a 3x2 matrix. + + + Creates a 3x2 matrix from the specified components. + The value to assign to the first element in the first row. + The value to assign to the second element in the first row. + The value to assign to the first element in the second row. + The value to assign to the second element in the second row. + The value to assign to the first element in the third row. + The value to assign to the second element in the third row. + + + Adds each element in one matrix with its corresponding element in a second matrix. + The first matrix. + The second matrix. + The matrix that contains the summed values of value1 and value2. + + + Creates a rotation matrix using the given rotation in radians. + The amount of rotation, in radians. + The rotation matrix. + + + Creates a rotation matrix using the specified rotation in radians and a center point. + The amount of rotation, in radians. + The center point. + The rotation matrix. + + + Creates a scaling matrix from the specified X and Y components. + The value to scale by on the X axis. + The value to scale by on the Y axis. + The scaling matrix. + + + Creates a scaling matrix that scales uniformly with the specified scale with an offset from the specified center. + The uniform scale to use. + The center offset. + The scaling matrix. + + + Creates a scaling matrix that is offset by a given center point. + The value to scale by on the X axis. + The value to scale by on the Y axis. + The center point. + The scaling matrix. + + + Creates a scaling matrix that scales uniformly with the given scale. + The uniform scale to use. + The scaling matrix. + + + Creates a scaling matrix from the specified vector scale. + The scale to use. + The scaling matrix. + + + Creates a scaling matrix from the specified vector scale with an offset from the specified center point. + The scale to use. + The center offset. + The scaling matrix. + + + Creates a skew matrix from the specified angles in radians. + The X angle, in radians. + The Y angle, in radians. + The skew matrix. + + + Creates a skew matrix from the specified angles in radians and a center point. + The X angle, in radians. + The Y angle, in radians. + The center point. + The skew matrix. + + + Creates a translation matrix from the specified 2-dimensional vector. + The translation position. + The translation matrix. + + + Creates a translation matrix from the specified X and Y components. + The X position. + The Y position. + The translation matrix. + + + Returns a value that indicates whether this instance and another 3x2 matrix are equal. + The other matrix. + true if the two matrices are equal; otherwise, false. + + + Returns a value that indicates whether this instance and a specified object are equal. + The object to compare with the current instance. + true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false. + + + Calculates the determinant for this matrix. + The determinant. + + + Returns the hash code for this instance. + The hash code. + + + Gets the multiplicative identity matrix. + The multiplicative identify matrix. + + + Inverts the specified matrix. The return value indicates whether the operation succeeded. + The matrix to invert. + When this method returns, contains the inverted matrix if the operation succeeded. + true if matrix was converted successfully; otherwise, false. + + + Indicates whether the current matrix is the identity matrix. + true if the current matrix is the identity matrix; otherwise, false. + + + Performs a linear interpolation from one matrix to a second matrix based on a value that specifies the weighting of the second matrix. + The first matrix. + The second matrix. + The relative weighting of matrix2. + The interpolated matrix. + + + The first element of the first row. + + + + The second element of the first row. + + + + The first element of the second row. + + + + The second element of the second row. + + + + The first element of the third row. + + + + The second element of the third row. + + + + Returns the matrix that results from multiplying two matrices together. + The first matrix. + The second matrix. + The product matrix. + + + Returns the matrix that results from scaling all the elements of a specified matrix by a scalar factor. + The matrix to scale. + The scaling value to use. + The scaled matrix. + + + Negates the specified matrix by multiplying all its values by -1. + The matrix to negate. + The negated matrix. + + + Adds each element in one matrix with its corresponding element in a second matrix. + The first matrix. + The second matrix. + The matrix that contains the summed values. + + + Returns a value that indicates whether the specified matrices are equal. + The first matrix to compare. + The second matrix to compare. + true if value1 and value2 are equal; otherwise, false. + + + Returns a value that indicates whether the specified matrices are not equal. + The first matrix to compare. + The second matrix to compare. + true if value1 and value2 are not equal; otherwise, false. + + + Returns the matrix that results from multiplying two matrices together. + The first matrix. + The second matrix. + The product matrix. + + + Returns the matrix that results from scaling all the elements of a specified matrix by a scalar factor. + The matrix to scale. + The scaling value to use. + The scaled matrix. + + + Subtracts each element in a second matrix from its corresponding element in a first matrix. + The first matrix. + The second matrix. + The matrix containing the values that result from subtracting each element in value2 from its corresponding element in value1. + + + Negates the specified matrix by multiplying all its values by -1. + The matrix to negate. + The negated matrix. + + + Subtracts each element in a second matrix from its corresponding element in a first matrix. + The first matrix. + The second matrix. + The matrix containing the values that result from subtracting each element in value2 from its corresponding element in value1. + + + Returns a string that represents this matrix. + The string representation of this matrix. + + + Gets or sets the translation component of this matrix. + The translation component of the current instance. + + + Represents a 4x4 matrix. + + + Creates a object from a specified object. + A 3x2 matrix. + + + Creates a 4x4 matrix from the specified components. + The value to assign to the first element in the first row. + The value to assign to the second element in the first row. + The value to assign to the third element in the first row. + The value to assign to the fourth element in the first row. + The value to assign to the first element in the second row. + The value to assign to the second element in the second row. + The value to assign to the third element in the second row. + The value to assign to the third element in the second row. + The value to assign to the first element in the third row. + The value to assign to the second element in the third row. + The value to assign to the third element in the third row. + The value to assign to the fourth element in the third row. + The value to assign to the first element in the fourth row. + The value to assign to the second element in the fourth row. + The value to assign to the third element in the fourth row. + The value to assign to the fourth element in the fourth row. + + + Adds each element in one matrix with its corresponding element in a second matrix. + The first matrix. + The second matrix. + The matrix that contains the summed values of value1 and value2. + + + Creates a spherical billboard that rotates around a specified object position. + The position of the object that the billboard will rotate around. + The position of the camera. + The up vector of the camera. + The forward vector of the camera. + The created billboard. + + + Creates a cylindrical billboard that rotates around a specified axis. + The position of the object that the billboard will rotate around. + The position of the camera. + The axis to rotate the billboard around. + The forward vector of the camera. + The forward vector of the object. + The billboard matrix. + + + Creates a matrix that rotates around an arbitrary vector. + The axis to rotate around. + The angle to rotate around axis, in radians. + The rotation matrix. + + + Creates a rotation matrix from the specified Quaternion rotation value. + The source Quaternion. + The rotation matrix. + + + Creates a rotation matrix from the specified yaw, pitch, and roll. + The angle of rotation, in radians, around the Y axis. + The angle of rotation, in radians, around the X axis. + The angle of rotation, in radians, around the Z axis. + The rotation matrix. + + + Creates a view matrix. + The position of the camera. + The target towards which the camera is pointing. + The direction that is &quot;up&quot; from the camera&#39;s point of view. + The view matrix. + + + Creates an orthographic perspective matrix from the given view volume dimensions. + The width of the view volume. + The height of the view volume. + The minimum Z-value of the view volume. + The maximum Z-value of the view volume. + The orthographic projection matrix. + + + Creates a customized orthographic projection matrix. + The minimum X-value of the view volume. + The maximum X-value of the view volume. + The minimum Y-value of the view volume. + The maximum Y-value of the view volume. + The minimum Z-value of the view volume. + The maximum Z-value of the view volume. + The orthographic projection matrix. + + + Creates a perspective projection matrix from the given view volume dimensions. + The width of the view volume at the near view plane. + The height of the view volume at the near view plane. + The distance to the near view plane. + The distance to the far view plane. + The perspective projection matrix. + nearPlaneDistance is less than or equal to zero. + -or- + farPlaneDistance is less than or equal to zero. + -or- + nearPlaneDistance is greater than or equal to farPlaneDistance. + + + Creates a perspective projection matrix based on a field of view, aspect ratio, and near and far view plane distances. + The field of view in the y direction, in radians. + The aspect ratio, defined as view space width divided by height. + The distance to the near view plane. + The distance to the far view plane. + The perspective projection matrix. + fieldOfView is less than or equal to zero. + -or- + fieldOfView is greater than or equal to . + nearPlaneDistance is less than or equal to zero. + -or- + farPlaneDistance is less than or equal to zero. + -or- + nearPlaneDistance is greater than or equal to farPlaneDistance. + + + Creates a customized perspective projection matrix. + The minimum x-value of the view volume at the near view plane. + The maximum x-value of the view volume at the near view plane. + The minimum y-value of the view volume at the near view plane. + The maximum y-value of the view volume at the near view plane. + The distance to the near view plane. + The distance to the far view plane. + The perspective projection matrix. + nearPlaneDistance is less than or equal to zero. + -or- + farPlaneDistance is less than or equal to zero. + -or- + nearPlaneDistance is greater than or equal to farPlaneDistance. + + + Creates a matrix that reflects the coordinate system about a specified plane. + The plane about which to create a reflection. + A new matrix expressing the reflection. + + + Creates a matrix for rotating points around the X axis. + The amount, in radians, by which to rotate around the X axis. + The rotation matrix. + + + Creates a matrix for rotating points around the X axis from a center point. + The amount, in radians, by which to rotate around the X axis. + The center point. + The rotation matrix. + + + The amount, in radians, by which to rotate around the Y axis from a center point. + The amount, in radians, by which to rotate around the Y-axis. + The center point. + The rotation matrix. + + + Creates a matrix for rotating points around the Y axis. + The amount, in radians, by which to rotate around the Y-axis. + The rotation matrix. + + + Creates a matrix for rotating points around the Z axis. + The amount, in radians, by which to rotate around the Z-axis. + The rotation matrix. + + + Creates a matrix for rotating points around the Z axis from a center point. + The amount, in radians, by which to rotate around the Z-axis. + The center point. + The rotation matrix. + + + Creates a scaling matrix from the specified vector scale. + The scale to use. + The scaling matrix. + + + Creates a uniform scaling matrix that scale equally on each axis. + The uniform scaling factor. + The scaling matrix. + + + Creates a scaling matrix with a center point. + The vector that contains the amount to scale on each axis. + The center point. + The scaling matrix. + + + Creates a uniform scaling matrix that scales equally on each axis with a center point. + The uniform scaling factor. + The center point. + The scaling matrix. + + + Creates a scaling matrix from the specified X, Y, and Z components. + The value to scale by on the X axis. + The value to scale by on the Y axis. + The value to scale by on the Z axis. + The scaling matrix. + + + Creates a scaling matrix that is offset by a given center point. + The value to scale by on the X axis. + The value to scale by on the Y axis. + The value to scale by on the Z axis. + The center point. + The scaling matrix. + + + Creates a matrix that flattens geometry into a specified plane as if casting a shadow from a specified light source. + The direction from which the light that will cast the shadow is coming. + The plane onto which the new matrix should flatten geometry so as to cast a shadow. + A new matrix that can be used to flatten geometry onto the specified plane from the specified direction. + + + Creates a translation matrix from the specified 3-dimensional vector. + The amount to translate in each axis. + The translation matrix. + + + Creates a translation matrix from the specified X, Y, and Z components. + The amount to translate on the X axis. + The amount to translate on the Y axis. + The amount to translate on the Z axis. + The translation matrix. + + + Creates a world matrix with the specified parameters. + The position of the object. + The forward direction of the object. + The upward direction of the object. Its value is usually [0, 1, 0]. + The world matrix. + + + Attempts to extract the scale, translation, and rotation components from the given scale, rotation, or translation matrix. The return value indicates whether the operation succeeded. + The source matrix. + When this method returns, contains the scaling component of the transformation matrix if the operation succeeded. + When this method returns, contains the rotation component of the transformation matrix if the operation succeeded. + When the method returns, contains the translation component of the transformation matrix if the operation succeeded. + true if matrix was decomposed successfully; otherwise, false. + + + Returns a value that indicates whether this instance and another 4x4 matrix are equal. + The other matrix. + true if the two matrices are equal; otherwise, false. + + + Returns a value that indicates whether this instance and a specified object are equal. + The object to compare with the current instance. + true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false. + + + Calculates the determinant of the current 4x4 matrix. + The determinant. + + + Returns the hash code for this instance. + The hash code. + + + Gets the multiplicative identity matrix. + Gets the multiplicative identity matrix. + + + Inverts the specified matrix. The return value indicates whether the operation succeeded. + The matrix to invert. + When this method returns, contains the inverted matrix if the operation succeeded. + true if matrix was converted successfully; otherwise, false. + + + Indicates whether the current matrix is the identity matrix. + true if the current matrix is the identity matrix; otherwise, false. + + + Performs a linear interpolation from one matrix to a second matrix based on a value that specifies the weighting of the second matrix. + The first matrix. + The second matrix. + The relative weighting of matrix2. + The interpolated matrix. + + + The first element of the first row. + + + + The second element of the first row. + + + + The third element of the first row. + + + + The fourth element of the first row. + + + + The first element of the second row. + + + + The second element of the second row. + + + + The third element of the second row. + + + + The fourth element of the second row. + + + + The first element of the third row. + + + + The second element of the third row. + + + + The third element of the third row. + + + + The fourth element of the third row. + + + + The first element of the fourth row. + + + + The second element of the fourth row. + + + + The third element of the fourth row. + + + + The fourth element of the fourth row. + + + + Returns the matrix that results from multiplying two matrices together. + The first matrix. + The second matrix. + The product matrix. + + + Returns the matrix that results from scaling all the elements of a specified matrix by a scalar factor. + The matrix to scale. + The scaling value to use. + The scaled matrix. + + + Negates the specified matrix by multiplying all its values by -1. + The matrix to negate. + The negated matrix. + + + Adds each element in one matrix with its corresponding element in a second matrix. + The first matrix. + The second matrix. + The matrix that contains the summed values. + + + Returns a value that indicates whether the specified matrices are equal. + The first matrix to compare. + The second matrix to care + true if value1 and value2 are equal; otherwise, false. + + + Returns a value that indicates whether the specified matrices are not equal. + The first matrix to compare. + The second matrix to compare. + true if value1 and value2 are not equal; otherwise, false. + + + Returns the matrix that results from scaling all the elements of a specified matrix by a scalar factor. + The matrix to scale. + The scaling value to use. + The scaled matrix. + + + Returns the matrix that results from multiplying two matrices together. + The first matrix. + The second matrix. + The product matrix. + + + Subtracts each element in a second matrix from its corresponding element in a first matrix. + The first matrix. + The second matrix. + The matrix containing the values that result from subtracting each element in value2 from its corresponding element in value1. + + + Negates the specified matrix by multiplying all its values by -1. + The matrix to negate. + The negated matrix. + + + Subtracts each element in a second matrix from its corresponding element in a first matrix. + The first matrix. + The second matrix. + The matrix containing the values that result from subtracting each element in value2 from its corresponding element in value1. + + + Returns a string that represents this matrix. + The string representation of this matrix. + + + Transforms the specified matrix by applying the specified Quaternion rotation. + The matrix to transform. + The rotation t apply. + The transformed matrix. + + + Gets or sets the translation component of this matrix. + The translation component of the current instance. + + + Transposes the rows and columns of a matrix. + The matrix to transpose. + The transposed matrix. + + + Represents a three-dimensional plane. + + + Creates a object from a specified four-dimensional vector. + A vector whose first three elements describe the normal vector, and whose defines the distance along that normal from the origin. + + + Creates a object from a specified normal and the distance along the normal from the origin. + The plane&#39;s normal vector. + The plane&#39;s distance from the origin along its normal vector. + + + Creates a object from the X, Y, and Z components of its normal, and its distance from the origin on that normal. + The X component of the normal. + The Y component of the normal. + The Z component of the normal. + The distance of the plane along its normal from the origin. + + + Creates a object that contains three specified points. + The first point defining the plane. + The second point defining the plane. + The third point defining the plane. + The plane containing the three points. + + + The distance of the plane along its normal from the origin. + + + + Calculates the dot product of a plane and a 4-dimensional vector. + The plane. + The four-dimensional vector. + The dot product. + + + Returns the dot product of a specified three-dimensional vector and the normal vector of this plane plus the distance () value of the plane. + The plane. + The 3-dimensional vector. + The dot product. + + + Returns the dot product of a specified three-dimensional vector and the vector of this plane. + The plane. + The three-dimensional vector. + The dot product. + + + Returns a value that indicates whether this instance and a specified object are equal. + The object to compare with the current instance. + true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false. + + + Returns a value that indicates whether this instance and another plane object are equal. + The other plane. + true if the two planes are equal; otherwise, false. + + + Returns the hash code for this instance. + The hash code. + + + The normal vector of the plane. + + + + Creates a new object whose normal vector is the source plane&#39;s normal vector normalized. + The source plane. + The normalized plane. + + + Returns a value that indicates whether two planes are equal. + The first plane to compare. + The second plane to compare. + true if value1 and value2 are equal; otherwise, false. + + + Returns a value that indicates whether two planes are not equal. + The first plane to compare. + The second plane to compare. + true if value1 and value2 are not equal; otherwise, false. + + + Returns the string representation of this plane object. + A string that represents this object. + + + Transforms a normalized plane by a 4x4 matrix. + The normalized plane to transform. + The transformation matrix to apply to plane. + The transformed plane. + + + Transforms a normalized plane by a Quaternion rotation. + The normalized plane to transform. + The Quaternion rotation to apply to the plane. + A new plane that results from applying the Quaternion rotation. + + + Represents a vector that is used to encode three-dimensional physical rotations. + + + Creates a quaternion from the specified vector and rotation parts. + The vector part of the quaternion. + The rotation part of the quaternion. + + + Constructs a quaternion from the specified components. + The value to assign to the X component of the quaternion. + The value to assign to the Y component of the quaternion. + The value to assign to the Z component of the quaternion. + The value to assign to the W component of the quaternion. + + + Adds each element in one quaternion with its corresponding element in a second quaternion. + The first quaternion. + The second quaternion. + The quaternion that contains the summed values of value1 and value2. + + + Concatenates two quaternions. + The first quaternion rotation in the series. + The second quaternion rotation in the series. + A new quaternion representing the concatenation of the value1 rotation followed by the value2 rotation. + + + Returns the conjugate of a specified quaternion. + The quaternion. + A new quaternion that is the conjugate of value. + + + Creates a quaternion from a vector and an angle to rotate about the vector. + The vector to rotate around. + The angle, in radians, to rotate around the vector. + The newly created quaternion. + + + Creates a quaternion from the specified rotation matrix. + The rotation matrix. + The newly created quaternion. + + + Creates a new quaternion from the given yaw, pitch, and roll. + The yaw angle, in radians, around the Y axis. + The pitch angle, in radians, around the X axis. + The roll angle, in radians, around the Z axis. + The resulting quaternion. + + + Divides one quaternion by a second quaternion. + The dividend. + The divisor. + The quaternion that results from dividing value1 by value2. + + + Calculates the dot product of two quaternions. + The first quaternion. + The second quaternion. + The dot product. + + + Returns a value that indicates whether this instance and another quaternion are equal. + The other quaternion. + true if the two quaternions are equal; otherwise, false. + + + Returns a value that indicates whether this instance and a specified object are equal. + The object to compare with the current instance. + true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false. + + + Returns the hash code for this instance. + The hash code. + + + Gets a quaternion that represents no rotation. + A quaternion whose values are (0, 0, 0, 1). + + + Returns the inverse of a quaternion. + The quaternion. + The inverted quaternion. + + + Gets a value that indicates whether the current instance is the identity quaternion. + true if the current instance is the identity quaternion; otherwise, false. + + + Calculates the length of the quaternion. + The computed length of the quaternion. + + + Calculates the squared length of the quaternion. + The length squared of the quaternion. + + + Performs a linear interpolation between two quaternions based on a value that specifies the weighting of the second quaternion. + The first quaternion. + The second quaternion. + The relative weight of quaternion2 in the interpolation. + The interpolated quaternion. + + + Returns the quaternion that results from multiplying two quaternions together. + The first quaternion. + The second quaternion. + The product quaternion. + + + Returns the quaternion that results from scaling all the components of a specified quaternion by a scalar factor. + The source quaternion. + The scalar value. + The scaled quaternion. + + + Reverses the sign of each component of the quaternion. + The quaternion to negate. + The negated quaternion. + + + Divides each component of a specified by its length. + The quaternion to normalize. + The normalized quaternion. + + + Adds each element in one quaternion with its corresponding element in a second quaternion. + The first quaternion. + The second quaternion. + The quaternion that contains the summed values of value1 and value2. + + + Divides one quaternion by a second quaternion. + The dividend. + The divisor. + The quaternion that results from dividing value1 by value2. + + + Returns a value that indicates whether two quaternions are equal. + The first quaternion to compare. + The second quaternion to compare. + true if the two quaternions are equal; otherwise, false. + + + Returns a value that indicates whether two quaternions are not equal. + The first quaternion to compare. + The second quaternion to compare. + true if value1 and value2 are not equal; otherwise, false. + + + Returns the quaternion that results from scaling all the components of a specified quaternion by a scalar factor. + The source quaternion. + The scalar value. + The scaled quaternion. + + + Returns the quaternion that results from multiplying two quaternions together. + The first quaternion. + The second quaternion. + The product quaternion. + + + Subtracts each element in a second quaternion from its corresponding element in a first quaternion. + The first quaternion. + The second quaternion. + The quaternion containing the values that result from subtracting each element in value2 from its corresponding element in value1. + + + Reverses the sign of each component of the quaternion. + The quaternion to negate. + The negated quaternion. + + + Interpolates between two quaternions, using spherical linear interpolation. + The first quaternion. + The second quaternion. + The relative weight of the second quaternion in the interpolation. + The interpolated quaternion. + + + Subtracts each element in a second quaternion from its corresponding element in a first quaternion. + The first quaternion. + The second quaternion. + The quaternion containing the values that result from subtracting each element in value2 from its corresponding element in value1. + + + Returns a string that represents this quaternion. + The string representation of this quaternion. + + + The rotation component of the quaternion. + + + + The X value of the vector component of the quaternion. + + + + The Y value of the vector component of the quaternion. + + + + The Z value of the vector component of the quaternion. + + + + Represents a single vector of a specified numeric type that is suitable for low-level optimization of parallel algorithms. + The vector type. T can be any primitive numeric type. + + + Creates a vector whose components are of a specified type. + The numeric type that defines the type of the components in the vector. + + + Creates a vector from a specified array. + A numeric array. + values is null. + + + Creates a vector from a specified array starting at a specified index position. + A numeric array. + The starting index position from which to create the vector. + values is null. + index is less than zero. + -or- + The length of values minus index is less than . + + + Copies the vector instance to a specified destination array. + The array to receive a copy of the vector values. + destination is null. + The number of elements in the current vector is greater than the number of elements available in the destination array. + + + Copies the vector instance to a specified destination array starting at a specified index position. + The array to receive a copy of the vector values. + The starting index in destination at which to begin the copy operation. + destination is null. + The number of elements in the current instance is greater than the number of elements available from startIndex to the end of the destination array. + index is less than zero or greater than the last index in destination. + + + Returns the number of elements stored in the vector. + The number of elements stored in the vector. + Access to the property getter via reflection is not supported. + + + Returns a value that indicates whether this instance is equal to a specified vector. + The vector to compare with this instance. + true if the current instance and other are equal; otherwise, false. + + + Returns a value that indicates whether this instance is equal to a specified object. + The object to compare with this instance. + true if the current instance and obj are equal; otherwise, false. The method returns false if obj is null, or if obj is a vector of a different type than the current instance. + + + Returns the hash code for this instance. + The hash code. + + + Gets the element at a specified index. + The index of the element to return. + The element at index index. + index is less than zero. + -or- + index is greater than or equal to . + + + Returns a vector containing all ones. + A vector containing all ones. + + + Adds two vectors together. + The first vector to add. + The second vector to add. + The summed vector. + + + Returns a new vector by performing a bitwise And operation on each of the elements in two vectors. + The first vector. + The second vector. + The vector that results from the bitwise And of left and right. + + + Returns a new vector by performing a bitwise Or operation on each of the elements in two vectors. + The first vector. + The second vector. + The vector that results from the bitwise Or of the elements in left and right. + + + Divides the first vector by the second. + The first vector. + The second vector. + The vector that results from dividing left by right. + + + Returns a value that indicates whether each pair of elements in two specified vectors are equal. + The first vector to compare. + The second vector to compare. + true if left and right are equal; otherwise, false. + + + Returns a new vector by performing a bitwise XOr operation on each of the elements in two vectors. + The first vector. + The second vector. + The vector that results from the bitwise XOr of the elements in left and right. + + + Reinterprets the bits of the specified vector into a vector of type . + The vector to reinterpret. + The reinterpreted vector. + + + Reinterprets the bits of the specified vector into a vector of type . + The vector to reinterpret. + The reinterpreted vector. + + + Reinterprets the bits of the specified vector into a vector of type . + The vector to reinterpret. + The reinterpreted vector. + + + Reinterprets the bits of the specified vector into a vector of type . + The vector to reinterpret. + The reinterpreted vector. + + + Reinterprets the bits of the specified vector into a vector of type . + The vector to reinterpret. + The reinterpreted vector. + + + Reinterprets the bits of the specified vector into a vector of type . + The vector to reinterpret. + The reinterpreted vector. + + + Reinterprets the bits of the specified vector into a vector of type . + The vector to reinterpret. + The reinterpreted vector. + + + Reinterprets the bits of the specified vector into a vector of type . + The vector to reinterpret. + The reinterpreted vector. + + + Reinterprets the bits of the specified vector into a vector of type . + The vector to reinterpret. + The reinterpreted vector. + + + Reinterprets the bits of the specified vector into a vector of type . + The vector to reinterpret. + The reinterpreted vector. + + + Returns a value that indicates whether any single pair of elements in the specified vectors is equal. + The first vector to compare. + The second vector to compare. + true if any element pairs in left and right are equal. false if no element pairs are equal. + + + Multiplies two vectors together. + The first vector. + The second vector. + The product vector. + + + Multiplies a vector by a specified scalar value. + The source vector. + A scalar value. + The scaled vector. + + + Multiplies a vector by the given scalar. + The scalar value. + The source vector. + The scaled vector. + + + Returns a new vector whose elements are obtained by taking the one&#39;s complement of a specified vector&#39;s elements. + The source vector. + The one&#39;s complement vector. + + + Subtracts the second vector from the first. + The first vector. + The second vector. + The vector that results from subtracting right from left. + + + Negates a given vector. + The vector to negate. + The negated vector. + + + Returns the string representation of this vector using the specified format string to format individual elements and the specified format provider to define culture-specific formatting. + A or that defines the format of individual elements. + A format provider that supplies culture-specific formatting information. + The string representation of the current instance. + + + Returns the string representation of this vector using default formatting. + The string representation of this vector. + + + Returns the string representation of this vector using the specified format string to format individual elements. + A or that defines the format of individual elements. + The string representation of the current instance. + + + Returns a vector containing all zeroes. + A vector containing all zeroes. + + + Provides a collection of static convenience methods for creating, manipulating, combining, and converting generic vectors. + + + Returns a new vector whose elements are the absolute values of the given vector&#39;s elements. + The source vector. + The vector type. T can be any primitive numeric type. + The absolute value vector. + + + Returns a new vector whose values are the sum of each pair of elements from two given vectors. + The first vector. + The second vector. + The vector type. T can be any primitive numeric type. + The summed vector. + + + Returns a new vector by performing a bitwise And Not operation on each pair of corresponding elements in two vectors. + The first vector. + The second vector. + The vector type. T can be any primitive numeric type. + The resulting vector. + + + Reinterprets the bits of a specified vector into those of a vector of unsigned bytes. + The source vector. + The vector type. T can be any primitive numeric type. + The reinterpreted vector. + + + Reinterprets the bits of a specified vector into those of a double-precision floating-point vector. + The source vector. + The vector type. T can be any primitive numeric type. + The reinterpreted vector. + + + Reinterprets the bits of a specified vector into those of a vector of 16-bit integers. + The source vector. + The vector type. T can be any primitive numeric type. + The reinterpreted vector. + + + Reinterprets the bits of a specified vector into those of a vector of integers. + The source vector. + The vector type. T can be any primitive numeric type. + The reinterpreted vector. + + + Reinterprets the bits of a specified vector into those of a vector of long integers. + The source vector. + The vector type. T can be any primitive numeric type. + The reinterpreted vector. + + + Reinterprets the bits of a specified vector into those of a vector of signed bytes. + The source vector. + The vector type. T can be any primitive numeric type. + The reinterpreted vector. + + + Reinterprets the bits of a specified vector into those of a single-precision floating-point vector. + The source vector. + The vector type. T can be any primitive numeric type. + The reinterpreted vector. + + + Reinterprets the bits of a specified vector into those of a vector of unsigned 16-bit integers. + The source vector. + The vector type. T can be any primitive numeric type. + The reinterpreted vector. + + + Reinterprets the bits of a specified vector into those of a vector of unsigned integers. + The source vector. + The vector type. T can be any primitive numeric type. + The reinterpreted vector. + + + Reinterprets the bits of a specified vector into those of a vector of unsigned long integers. + The source vector. + The vector type. T can be any primitive numeric type. + The reinterpreted vector. + + + Returns a new vector by performing a bitwise And operation on each pair of elements in two vectors. + The first vector. + The second vector. + The vector type. T can be any primitive numeric type. + The resulting vector. + + + Returns a new vector by performing a bitwise Or operation on each pair of elements in two vectors. + The first vector. + The second vector. + The vector type. T can be any primitive numeric type. + The resulting vector. + + + Creates a new single-precision vector with elements selected between two specified single-precision source vectors based on an integral mask vector. + The integral mask vector used to drive selection. + The first source vector. + The second source vector. + The new vector with elements selected based on the mask. + + + Creates a new double-precision vector with elements selected between two specified double-precision source vectors based on an integral mask vector. + The integral mask vector used to drive selection. + The first source vector. + The second source vector. + The new vector with elements selected based on the mask. + + + Creates a new vector of a specified type with elements selected between two specified source vectors of the same type based on an integral mask vector. + The integral mask vector used to drive selection. + The first source vector. + The second source vector. + The vector type. T can be any primitive numeric type. + The new vector with elements selected based on the mask. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Returns a new vector whose values are the result of dividing the first vector&#39;s elements by the corresponding elements in the second vector. + The first vector. + The second vector. + The vector type. T can be any primitive numeric type. + The divided vector. + + + Returns the dot product of two vectors. + The first vector. + The second vector. + The vector type. T can be any primitive numeric type. + The dot product. + + + Returns a new integral vector whose elements signal whether the elements in two specified double-precision vectors are equal. + The first vector to compare. + The second vector to compare. + The resulting integral vector. + + + Returns a new integral vector whose elements signal whether the elements in two specified integral vectors are equal. + The first vector to compare. + The second vector to compare. + The resulting integral vector. + + + Returns a new vector whose elements signal whether the elements in two specified long integer vectors are equal. + The first vector to compare. + The second vector to compare. + The resulting long integer vector. + + + Returns a new integral vector whose elements signal whether the elements in two specified single-precision vectors are equal. + The first vector to compare. + The second vector to compare. + The resulting integral vector. + + + Returns a new vector of a specified type whose elements signal whether the elements in two specified vectors of the same type are equal. + The first vector to compare. + The second vector to compare. + The vector type. T can be any primitive numeric type. + The resulting vector. + + + Returns a value that indicates whether each pair of elements in the given vectors is equal. + The first vector to compare. + The second vector to compare. + The vector type. T can be any primitive numeric type. + true if all elements in left and right are equal; otherwise, false. + + + Returns a value that indicates whether any single pair of elements in the given vectors is equal. + The first vector to compare. + The second vector to compare. + The vector type. T can be any primitive numeric type. + true if any element pair in left and right is equal; otherwise, false. + + + Returns a new integral vector whose elements signal whether the elements in one double-precision floating-point vector are greater than their corresponding elements in a second double-precision floating-point vector. + The first vector to compare. + The second vector to compare. + The resulting integral vector. + + + Returns a new integral vector whose elements signal whether the elements in one integral vector are greater than their corresponding elements in a second integral vector. + The first vector to compare. + The second vector to compare. + The resulting integral vector. + + + Returns a new long integer vector whose elements signal whether the elements in one long integer vector are greater than their corresponding elements in a second long integer vector. + The first vector to compare. + The second vector to compare. + The resulting long integer vector. + + + Returns a new integral vector whose elements signal whether the elements in one single-precision floating-point vector are greater than their corresponding elements in a second single-precision floating-point vector. + The first vector to compare. + The second vector to compare. + The resulting integral vector. + + + Returns a new vector whose elements signal whether the elements in one vector of a specified type are greater than their corresponding elements in the second vector of the same time. + The first vector to compare. + The second vector to compare. + The vector type. T can be any primitive numeric type. + The resulting vector. + + + Returns a value that indicates whether all elements in the first vector are greater than the corresponding elements in the second vector. + The first vector to compare. + The second vector to compare. + The vector type. T can be any primitive numeric type. + true if all elements in left are greater than the corresponding elements in right; otherwise, false. + + + Returns a value that indicates whether any element in the first vector is greater than the corresponding element in the second vector. + The first vector to compare. + The second vector to compare. + The vector type. T can be any primitive numeric type. + true if any element in left is greater than the corresponding element in right; otherwise, false. + + + Returns a new integral vector whose elements signal whether the elements in one vector are greater than or equal to their corresponding elements in the single-precision floating-point second vector. + The first vector to compare. + The second vector to compare. + The resulting integral vector. + + + Returns a new long integer vector whose elements signal whether the elements in one long integer vector are greater than or equal to their corresponding elements in the second long integer vector. + The first vector to compare. + The second vector to compare. + The resulting long integer vector. + + + Returns a new integral vector whose elements signal whether the elements in one integral vector are greater than or equal to their corresponding elements in the second integral vector. + The first vector to compare. + The second vector to compare. + The resulting integral vector. + + + Returns a new integral vector whose elements signal whether the elements in one vector are greater than or equal to their corresponding elements in the second double-precision floating-point vector. + The first vector to compare. + The second vector to compare. + The resulting integral vector. + + + Returns a new vector whose elements signal whether the elements in one vector of a specified type are greater than or equal to their corresponding elements in the second vector of the same type. + The first vector to compare. + The second vector to compare. + The vector type. T can be any primitive numeric type. + The resulting vector. + + + Returns a value that indicates whether all elements in the first vector are greater than or equal to all the corresponding elements in the second vector. + The first vector to compare. + The second vector to compare. + The vector type. T can be any primitive numeric type. + true if all elements in left are greater than or equal to the corresponding elements in right; otherwise, false. + + + Returns a value that indicates whether any element in the first vector is greater than or equal to the corresponding element in the second vector. + The first vector to compare. + The second vector to compare. + The vector type. T can be any primitive numeric type. + true if any element in left is greater than or equal to the corresponding element in right; otherwise, false. + + + Gets a value that indicates whether vector operations are subject to hardware acceleration through JIT intrinsic support. + true if vector operations are subject to hardware acceleration; otherwise, false. + + + Returns a new integral vector whose elements signal whether the elements in one double-precision floating-point vector are less than their corresponding elements in a second double-precision floating-point vector. + The first vector to compare. + The second vector to compare. + The resulting integral vector. + + + Returns a new integral vector whose elements signal whether the elements in one integral vector are less than their corresponding elements in a second integral vector. + The first vector to compare. + The second vector to compare. + The resulting integral vector + + + Returns a new long integer vector whose elements signal whether the elements in one long integer vector are less than their corresponding elements in a second long integer vector. + The first vector to compare. + The second vector to compare. + The resulting long integer vector. + + + Returns a new integral vector whose elements signal whether the elements in one single-precision vector are less than their corresponding elements in a second single-precision vector. + The first vector to compare. + The second vector to compare. + The resulting integral vector. + + + Returns a new vector of a specified type whose elements signal whether the elements in one vector are less than their corresponding elements in the second vector. + The first vector to compare. + The second vector to compare. + The vector type. T can be any primitive numeric type. + The resulting vector. + + + Returns a value that indicates whether all of the elements in the first vector are less than their corresponding elements in the second vector. + The first vector to compare. + The second vector to compare. + The vector type. T can be any primitive numeric type. + true if all of the elements in left are less than the corresponding elements in right; otherwise, false. + + + Returns a value that indicates whether any element in the first vector is less than the corresponding element in the second vector. + The first vector to compare. + The second vector to compare. + The vector type. T can be any primitive numeric type. + true if any element in left is less than the corresponding element in right; otherwise, false. + + + Returns a new integral vector whose elements signal whether the elements in one double-precision floating-point vector are less than or equal to their corresponding elements in a second double-precision floating-point vector. + The first vector to compare. + The second vector to compare. + The resulting integral vector. + + + Returns a new integral vector whose elements signal whether the elements in one integral vector are less than or equal to their corresponding elements in a second integral vector. + The first vector to compare. + The second vector to compare. + The resulting integral vector. + + + Returns a new long integer vector whose elements signal whether the elements in one long integer vector are less or equal to their corresponding elements in a second long integer vector. + The first vector to compare. + The second vector to compare. + The resulting long integer vector. + + + Returns a new integral vector whose elements signal whether the elements in one single-precision floating-point vector are less than or equal to their corresponding elements in a second single-precision floating-point vector. + The first vector to compare. + The second vector to compare. + The resulting integral vector. + + + Returns a new vector whose elements signal whether the elements in one vector are less than or equal to their corresponding elements in the second vector. + The first vector to compare. + The second vector to compare. + The vector type. T can be any primitive numeric type. + The resulting vector. + + + Returns a value that indicates whether all elements in the first vector are less than or equal to their corresponding elements in the second vector. + The first vector to compare. + The second vector to compare. + The vector type. T can be any primitive numeric type. + true if all of the elements in left are less than or equal to the corresponding elements in right; otherwise, false. + + + Returns a value that indicates whether any element in the first vector is less than or equal to the corresponding element in the second vector. + The first vector to compare. + The second vector to compare. + The vector type. T can be any primitive numeric type. + true if any element in left is less than or equal to the corresponding element in right; otherwise, false. + + + Returns a new vector whose elements are the maximum of each pair of elements in the two given vectors. + The first vector to compare. + The second vector to compare. + The vector type. T can be any primitive numeric type. + The maximum vector. + + + Returns a new vector whose elements are the minimum of each pair of elements in the two given vectors. + The first vector to compare. + The second vector to compare. + The vector type. T can be any primitive numeric type. + The minimum vector. + + + Returns a new vector whose values are a scalar value multiplied by each of the values of a specified vector. + The scalar value. + The vector. + The vector type. T can be any primitive numeric type. + The scaled vector. + + + Returns a new vector whose values are the product of each pair of elements in two specified vectors. + The first vector. + The second vector. + The vector type. T can be any primitive numeric type. + The product vector. + + + Returns a new vector whose values are the values of a specified vector each multiplied by a scalar value. + The vector. + The scalar value. + The vector type. T can be any primitive numeric type. + The scaled vector. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Returns a new vector whose elements are the negation of the corresponding element in the specified vector. + The source vector. + The vector type. T can be any primitive numeric type. + The negated vector. + + + Returns a new vector whose elements are obtained by taking the one&#39;s complement of a specified vector&#39;s elements. + The source vector. + The vector type. T can be any primitive numeric type. + The resulting vector. + + + Returns a new vector whose elements are the square roots of a specified vector&#39;s elements. + The source vector. + The vector type. T can be any primitive numeric type. + The square root vector. + + + Returns a new vector whose values are the difference between the elements in the second vector and their corresponding elements in the first vector. + The first vector. + The second vector. + The vector type. T can be any primitive numeric type. + The difference vector. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Returns a new vector by performing a bitwise exclusive Or (XOr) operation on each pair of elements in two vectors. + The first vector. + The second vector. + The vector type. T can be any primitive numeric type. + The resulting vector. + + + Represents a vector with two single-precision floating-point values. + + + Creates a new object whose two elements have the same value. + The value to assign to both elements. + + + Creates a vector whose elements have the specified values. + The value to assign to the field. + The value to assign to the field. + + + Returns a vector whose elements are the absolute values of each of the specified vector&#39;s elements. + A vector. + The absolute value vector. + + + Adds two vectors together. + The first vector to add. + The second vector to add. + The summed vector. + + + Restricts a vector between a minimum and a maximum value. + The vector to restrict. + The minimum value. + The maximum value. + The restricted vector. + + + Copies the elements of the vector to a specified array. + The destination array. + array is null. + The number of elements in the current instance is greater than in the array. + array is multidimensional. + + + Copies the elements of the vector to a specified array starting at a specified index position. + The destination array. + The index at which to copy the first element of the vector. + array is null. + The number of elements in the current instance is greater than in the array. + index is less than zero. + -or- + index is greater than or equal to the array length. + array is multidimensional. + + + Computes the Euclidean distance between the two given points. + The first point. + The second point. + The distance. + + + Returns the Euclidean distance squared between two specified points. + The first point. + The second point. + The distance squared. + + + Divides the first vector by the second. + The first vector. + The second vector. + The vector resulting from the division. + + + Divides the specified vector by a specified scalar value. + The vector. + The scalar value. + The vector that results from the division. + + + Returns the dot product of two vectors. + The first vector. + The second vector. + The dot product. + + + Returns a value that indicates whether this instance and a specified object are equal. + The object to compare with the current instance. + true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false. + + + Returns a value that indicates whether this instance and another vector are equal. + The other vector. + true if the two vectors are equal; otherwise, false. + + + Returns the hash code for this instance. + The hash code. + + + Returns the length of the vector. + The vector&#39;s length. + + + Returns the length of the vector squared. + The vector&#39;s length squared. + + + Performs a linear interpolation between two vectors based on the given weighting. + The first vector. + The second vector. + A value between 0 and 1 that indicates the weight of value2. + The interpolated vector. + + + Returns a vector whose elements are the maximum of each of the pairs of elements in two specified vectors. + The first vector. + The second vector. + The maximized vector. + + + Returns a vector whose elements are the minimum of each of the pairs of elements in two specified vectors. + The first vector. + The second vector. + The minimized vector. + + + Multiplies two vectors together. + The first vector. + The second vector. + The product vector. + + + Multiplies a vector by a specified scalar. + The vector to multiply. + The scalar value. + The scaled vector. + + + Multiplies a scalar value by a specified vector. + The scaled value. + The vector. + The scaled vector. + + + Negates a specified vector. + The vector to negate. + The negated vector. + + + Returns a vector with the same direction as the specified vector, but with a length of one. + The vector to normalize. + The normalized vector. + + + Gets a vector whose 2 elements are equal to one. + A vector whose two elements are equal to one (that is, it returns the vector (1,1). + + + Adds two vectors together. + The first vector to add. + The second vector to add. + The summed vector. + + + Divides the first vector by the second. + The first vector. + The second vector. + The vector that results from dividing left by right. + + + Divides the specified vector by a specified scalar value. + The vector. + The scalar value. + The result of the division. + + + Returns a value that indicates whether each pair of elements in two specified vectors is equal. + The first vector to compare. + The second vector to compare. + true if left and right are equal; otherwise, false. + + + Returns a value that indicates whether two specified vectors are not equal. + The first vector to compare. + The second vector to compare. + true if left and right are not equal; otherwise, false. + + + Multiplies two vectors together. + The first vector. + The second vector. + The product vector. + + + Multiples the specified vector by the specified scalar value. + The vector. + The scalar value. + The scaled vector. + + + Multiples the scalar value by the specified vector. + The vector. + The scalar value. + The scaled vector. + + + Subtracts the second vector from the first. + The first vector. + The second vector. + The vector that results from subtracting right from left. + + + Negates the specified vector. + The vector to negate. + The negated vector. + + + Returns the reflection of a vector off a surface that has the specified normal. + The source vector. + The normal of the surface being reflected off. + The reflected vector. + + + Returns a vector whose elements are the square root of each of a specified vector&#39;s elements. + A vector. + The square root vector. + + + Subtracts the second vector from the first. + The first vector. + The second vector. + The difference vector. + + + Returns the string representation of the current instance using default formatting. + The string representation of the current instance. + + + Returns the string representation of the current instance using the specified format string to format individual elements. + A or that defines the format of individual elements. + The string representation of the current instance. + + + Returns the string representation of the current instance using the specified format string to format individual elements and the specified format provider to define culture-specific formatting. + A or that defines the format of individual elements. + A format provider that supplies culture-specific formatting information. + The string representation of the current instance. + + + Transforms a vector by a specified 3x2 matrix. + The vector to transform. + The transformation matrix. + The transformed vector. + + + Transforms a vector by a specified 4x4 matrix. + The vector to transform. + The transformation matrix. + The transformed vector. + + + Transforms a vector by the specified Quaternion rotation value. + The vector to rotate. + The rotation to apply. + The transformed vector. + + + Transforms a vector normal by the given 3x2 matrix. + The source vector. + The matrix. + The transformed vector. + + + Transforms a vector normal by the given 4x4 matrix. + The source vector. + The matrix. + The transformed vector. + + + Gets the vector (1,0). + The vector (1,0). + + + Gets the vector (0,1). + The vector (0,1). + + + The X component of the vector. + + + + The Y component of the vector. + + + + Returns a vector whose 2 elements are equal to zero. + A vector whose two elements are equal to zero (that is, it returns the vector (0,0). + + + Represents a vector with three single-precision floating-point values. + + + Creates a new object whose three elements have the same value. + The value to assign to all three elements. + + + Creates a new object from the specified object and the specified value. + The vector with two elements. + The additional value to assign to the field. + + + Creates a vector whose elements have the specified values. + The value to assign to the field. + The value to assign to the field. + The value to assign to the field. + + + Returns a vector whose elements are the absolute values of each of the specified vector&#39;s elements. + A vector. + The absolute value vector. + + + Adds two vectors together. + The first vector to add. + The second vector to add. + The summed vector. + + + Restricts a vector between a minimum and a maximum value. + The vector to restrict. + The minimum value. + The maximum value. + The restricted vector. + + + Copies the elements of the vector to a specified array. + The destination array. + array is null. + The number of elements in the current instance is greater than in the array. + array is multidimensional. + + + Copies the elements of the vector to a specified array starting at a specified index position. + The destination array. + The index at which to copy the first element of the vector. + array is null. + The number of elements in the current instance is greater than in the array. + index is less than zero. + -or- + index is greater than or equal to the array length. + array is multidimensional. + + + Computes the cross product of two vectors. + The first vector. + The second vector. + The cross product. + + + Computes the Euclidean distance between the two given points. + The first point. + The second point. + The distance. + + + Returns the Euclidean distance squared between two specified points. + The first point. + The second point. + The distance squared. + + + Divides the specified vector by a specified scalar value. + The vector. + The scalar value. + The vector that results from the division. + + + Divides the first vector by the second. + The first vector. + The second vector. + The vector resulting from the division. + + + Returns the dot product of two vectors. + The first vector. + The second vector. + The dot product. + + + Returns a value that indicates whether this instance and another vector are equal. + The other vector. + true if the two vectors are equal; otherwise, false. + + + Returns a value that indicates whether this instance and a specified object are equal. + The object to compare with the current instance. + true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false. + + + Returns the hash code for this instance. + The hash code. + + + Returns the length of this vector object. + The vector&#39;s length. + + + Returns the length of the vector squared. + The vector&#39;s length squared. + + + Performs a linear interpolation between two vectors based on the given weighting. + The first vector. + The second vector. + A value between 0 and 1 that indicates the weight of value2. + The interpolated vector. + + + Returns a vector whose elements are the maximum of each of the pairs of elements in two specified vectors. + The first vector. + The second vector. + The maximized vector. + + + Returns a vector whose elements are the minimum of each of the pairs of elements in two specified vectors. + The first vector. + The second vector. + The minimized vector. + + + Multiplies a scalar value by a specified vector. + The scaled value. + The vector. + The scaled vector. + + + Multiplies two vectors together. + The first vector. + The second vector. + The product vector. + + + Multiplies a vector by a specified scalar. + The vector to multiply. + The scalar value. + The scaled vector. + + + Negates a specified vector. + The vector to negate. + The negated vector. + + + Returns a vector with the same direction as the specified vector, but with a length of one. + The vector to normalize. + The normalized vector. + + + Gets a vector whose 3 elements are equal to one. + A vector whose three elements are equal to one (that is, it returns the vector (1,1,1). + + + Adds two vectors together. + The first vector to add. + The second vector to add. + The summed vector. + + + Divides the first vector by the second. + The first vector. + The second vector. + The vector that results from dividing left by right. + + + Divides the specified vector by a specified scalar value. + The vector. + The scalar value. + The result of the division. + + + Returns a value that indicates whether each pair of elements in two specified vectors is equal. + The first vector to compare. + The second vector to compare. + true if left and right are equal; otherwise, false. + + + Returns a value that indicates whether two specified vectors are not equal. + The first vector to compare. + The second vector to compare. + true if left and right are not equal; otherwise, false. + + + Multiplies two vectors together. + The first vector. + The second vector. + The product vector. + + + Multiples the specified vector by the specified scalar value. + The vector. + The scalar value. + The scaled vector. + + + Multiples the scalar value by the specified vector. + The vector. + The scalar value. + The scaled vector. + + + Subtracts the second vector from the first. + The first vector. + The second vector. + The vector that results from subtracting right from left. + + + Negates the specified vector. + The vector to negate. + The negated vector. + + + Returns the reflection of a vector off a surface that has the specified normal. + The source vector. + The normal of the surface being reflected off. + The reflected vector. + + + Returns a vector whose elements are the square root of each of a specified vector&#39;s elements. + A vector. + The square root vector. + + + Subtracts the second vector from the first. + The first vector. + The second vector. + The difference vector. + + + Returns the string representation of the current instance using default formatting. + The string representation of the current instance. + + + Returns the string representation of the current instance using the specified format string to format individual elements. + A or that defines the format of individual elements. + The string representation of the current instance. + + + Returns the string representation of the current instance using the specified format string to format individual elements and the specified format provider to define culture-specific formatting. + A or that defines the format of individual elements. + A format provider that supplies culture-specific formatting information. + The string representation of the current instance. + + + Transforms a vector by a specified 4x4 matrix. + The vector to transform. + The transformation matrix. + The transformed vector. + + + Transforms a vector by the specified Quaternion rotation value. + The vector to rotate. + The rotation to apply. + The transformed vector. + + + Transforms a vector normal by the given 4x4 matrix. + The source vector. + The matrix. + The transformed vector. + + + Gets the vector (1,0,0). + The vector (1,0,0). + + + Gets the vector (0,1,0). + The vector (0,1,0).. + + + Gets the vector (0,0,1). + The vector (0,0,1). + + + The X component of the vector. + + + + The Y component of the vector. + + + + The Z component of the vector. + + + + Gets a vector whose 3 elements are equal to zero. + A vector whose three elements are equal to zero (that is, it returns the vector (0,0,0). + + + Represents a vector with four single-precision floating-point values. + + + Creates a new object whose four elements have the same value. + The value to assign to all four elements. + + + Constructs a new object from the specified object and a W component. + The vector to use for the X, Y, and Z components. + The W component. + + + Creates a new object from the specified object and a Z and a W component. + The vector to use for the X and Y components. + The Z component. + The W component. + + + Creates a vector whose elements have the specified values. + The value to assign to the field. + The value to assign to the field. + The value to assign to the field. + The value to assign to the field. + + + Returns a vector whose elements are the absolute values of each of the specified vector&#39;s elements. + A vector. + The absolute value vector. + + + Adds two vectors together. + The first vector to add. + The second vector to add. + The summed vector. + + + Restricts a vector between a minimum and a maximum value. + The vector to restrict. + The minimum value. + The maximum value. + The restricted vector. + + + Copies the elements of the vector to a specified array. + The destination array. + array is null. + The number of elements in the current instance is greater than in the array. + array is multidimensional. + + + Copies the elements of the vector to a specified array starting at a specified index position. + The destination array. + The index at which to copy the first element of the vector. + array is null. + The number of elements in the current instance is greater than in the array. + index is less than zero. + -or- + index is greater than or equal to the array length. + array is multidimensional. + + + Computes the Euclidean distance between the two given points. + The first point. + The second point. + The distance. + + + Returns the Euclidean distance squared between two specified points. + The first point. + The second point. + The distance squared. + + + Divides the first vector by the second. + The first vector. + The second vector. + The vector resulting from the division. + + + Divides the specified vector by a specified scalar value. + The vector. + The scalar value. + The vector that results from the division. + + + Returns the dot product of two vectors. + The first vector. + The second vector. + The dot product. + + + Returns a value that indicates whether this instance and another vector are equal. + The other vector. + true if the two vectors are equal; otherwise, false. + + + Returns a value that indicates whether this instance and a specified object are equal. + The object to compare with the current instance. + true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false. + + + Returns the hash code for this instance. + The hash code. + + + Returns the length of this vector object. + The vector&#39;s length. + + + Returns the length of the vector squared. + The vector&#39;s length squared. + + + Performs a linear interpolation between two vectors based on the given weighting. + The first vector. + The second vector. + A value between 0 and 1 that indicates the weight of value2. + The interpolated vector. + + + Returns a vector whose elements are the maximum of each of the pairs of elements in two specified vectors. + The first vector. + The second vector. + The maximized vector. + + + Returns a vector whose elements are the minimum of each of the pairs of elements in two specified vectors. + The first vector. + The second vector. + The minimized vector. + + + Multiplies two vectors together. + The first vector. + The second vector. + The product vector. + + + Multiplies a vector by a specified scalar. + The vector to multiply. + The scalar value. + The scaled vector. + + + Multiplies a scalar value by a specified vector. + The scaled value. + The vector. + The scaled vector. + + + Negates a specified vector. + The vector to negate. + The negated vector. + + + Returns a vector with the same direction as the specified vector, but with a length of one. + The vector to normalize. + The normalized vector. + + + Gets a vector whose 4 elements are equal to one. + Returns . + + + Adds two vectors together. + The first vector to add. + The second vector to add. + The summed vector. + + + Divides the first vector by the second. + The first vector. + The second vector. + The vector that results from dividing left by right. + + + Divides the specified vector by a specified scalar value. + The vector. + The scalar value. + The result of the division. + + + Returns a value that indicates whether each pair of elements in two specified vectors is equal. + The first vector to compare. + The second vector to compare. + true if left and right are equal; otherwise, false. + + + Returns a value that indicates whether two specified vectors are not equal. + The first vector to compare. + The second vector to compare. + true if left and right are not equal; otherwise, false. + + + Multiplies two vectors together. + The first vector. + The second vector. + The product vector. + + + Multiples the specified vector by the specified scalar value. + The vector. + The scalar value. + The scaled vector. + + + Multiples the scalar value by the specified vector. + The vector. + The scalar value. + The scaled vector. + + + Subtracts the second vector from the first. + The first vector. + The second vector. + The vector that results from subtracting right from left. + + + Negates the specified vector. + The vector to negate. + The negated vector. + + + Returns a vector whose elements are the square root of each of a specified vector&#39;s elements. + A vector. + The square root vector. + + + Subtracts the second vector from the first. + The first vector. + The second vector. + The difference vector. + + + Returns the string representation of the current instance using default formatting. + The string representation of the current instance. + + + Returns the string representation of the current instance using the specified format string to format individual elements. + A or that defines the format of individual elements. + The string representation of the current instance. + + + Returns the string representation of the current instance using the specified format string to format individual elements and the specified format provider to define culture-specific formatting. + A or that defines the format of individual elements. + A format provider that supplies culture-specific formatting information. + The string representation of the current instance. + + + Transforms a four-dimensional vector by the specified Quaternion rotation value. + The vector to rotate. + The rotation to apply. + The transformed vector. + + + Transforms a four-dimensional vector by a specified 4x4 matrix. + The vector to transform. + The transformation matrix. + The transformed vector. + + + Transforms a three-dimensional vector by the specified Quaternion rotation value. + The vector to rotate. + The rotation to apply. + The transformed vector. + + + Transforms a two-dimensional vector by a specified 4x4 matrix. + The vector to transform. + The transformation matrix. + The transformed vector. + + + Transforms a two-dimensional vector by the specified Quaternion rotation value. + The vector to rotate. + The rotation to apply. + The transformed vector. + + + Transforms a three-dimensional vector by a specified 4x4 matrix. + The vector to transform. + The transformation matrix. + The transformed vector. + + + Gets the vector (0,0,0,1). + The vector (0,0,0,1). + + + Gets the vector (1,0,0,0). + The vector (1,0,0,0). + + + Gets the vector (0,1,0,0). + The vector (0,1,0,0).. + + + Gets a vector whose 4 elements are equal to zero. + The vector (0,0,1,0). + + + The W component of the vector. + + + + The X component of the vector. + + + + The Y component of the vector. + + + + The Z component of the vector. + + + + Gets a vector whose 4 elements are equal to zero. + A vector whose four elements are equal to zero (that is, it returns the vector (0,0,0,0). + + + \ No newline at end of file diff --git a/db_lab/bin/Debug/System.Runtime.CompilerServices.Unsafe.dll b/db_lab/bin/Debug/System.Runtime.CompilerServices.Unsafe.dll new file mode 100644 index 0000000000000000000000000000000000000000..c5ba4e4047a15b3adc61340c781307d9c6e89413 GIT binary patch literal 18024 zcmeHu2V7Ij()gYv^bRUTN+>EKgcA?}6{QMDm5zcKLVyS)m;@;*Lgb=Yu_1~|v7lb; zT~S2E-g_4-7Pz9qwd*(MB!S$k-gm$M_ulV)zwiAIp4pw*-PzgQ*`1v^F=%utq9TN7 z@P7M-&>l#M$DM?K4GN%G(`=t6+M#mRd=D0Q);uDWE2L)%_$dNb2A$2~@%SQoB8M)> z;?cQ0x_3x8J%gXbVQ6TmT1i=l`XCgDQPINyAxqX8N(ea) zA$3SfA#W@#`dbOTOLVfjGT?r44H+U%jtKB8y#PQNIaZKc{-Hzf41rL<1|lh&J7g5$ zHG)^}aR=!c0!}&~DiX31G81z^@`Xh9xFh5#%gfR&#Js{o$VNd5$h!|hLv;{RA*tOU zlrEXtZpx2y2@e^!2i)nG@^zo-qMNH%UdnN3(w{PA!Quw8Hi_^Dp~hubVA*Thp2Dx z1HLlapV|}TAMusaF;YEAzEF`0>q7$sMx#SfRkR_-DBB7Yvd{1Ft~Ji>o&!?%Nm(T` zb9rq*WeR3~NrF`YunNXkql`2HFHQ9rRi>0d(suAkVS^iR^|`y<-_ z9H&ww<+9@p^c9n=2eHE?574MTpee{`UF+VfnQTm~iA*nhk$Ne&´RVDkZYh5I? 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 literal 0 HcmV?d00001 diff --git a/db_lab/bin/Debug/System.Runtime.CompilerServices.Unsafe.xml b/db_lab/bin/Debug/System.Runtime.CompilerServices.Unsafe.xml new file mode 100644 index 0000000..9d79492 --- /dev/null +++ b/db_lab/bin/Debug/System.Runtime.CompilerServices.Unsafe.xml @@ -0,0 +1,291 @@ + + + + System.Runtime.CompilerServices.Unsafe + + + + Contains generic, low-level functionality for manipulating pointers. + + + Adds an element offset to the given reference. + The reference to add the offset to. + The offset to add. + The type of reference. + A new reference that reflects the addition of offset to pointer. + + + Adds an element offset to the given reference. + The reference to add the offset to. + The offset to add. + The type of reference. + A new reference that reflects the addition of offset to pointer. + + + Adds an element offset to the given reference. + The reference to add the offset to. + The offset to add. + The type of reference. + A new reference that reflects the addition of offset to pointer. + + + Adds an element offset to the given void pointer. + The void pointer to add the offset to. + The offset to add. + The type of void pointer. + A new void pointer that reflects the addition of offset to the specified pointer. + + + Adds a byte offset to the given reference. + The reference to add the offset to. + The offset to add. + The type of reference. + A new reference that reflects the addition of byte offset to pointer. + + + Adds a byte offset to the given reference. + The reference to add the offset to. + The offset to add. + The type of reference. + A new reference that reflects the addition of byte offset to pointer. + + + Determines whether the specified references point to the same location. + The first reference to compare. + The second reference to compare. + The type of reference. + + if and point to the same location; otherwise, . + + + Casts the given object to the specified type. + The object to cast. + The type which the object will be cast to. + The original object, casted to the given type. + + + Reinterprets the given reference as a reference to a value of type . + The reference to reinterpret. + The type of reference to reinterpret. + The desired type of the reference. + A reference to a value of type . + + + Returns a pointer to the given by-ref parameter. + The object whose pointer is obtained. + The type of object. + A pointer to the given value. + + + Reinterprets the given read-only reference as a reference. + The read-only reference to reinterpret. + The type of reference. + A reference to a value of type . + + + Reinterprets the given location as a reference to a value of type . + The location of the value to reference. + The type of the interpreted location. + A reference to a value of type . + + + Determines the byte offset from origin to target from the given references. + The reference to origin. + The reference to target. + The type of reference. + Byte offset from origin to target i.e. - . + + + Copies a value of type to the given location. + The location to copy to. + A pointer to the value to copy. + The type of value to copy. + + + Copies a value of type to the given location. + The location to copy to. + A reference to the value to copy. + The type of value to copy. + + + Copies bytes from the source address to the destination address. + The destination address to copy to. + The source address to copy from. + The number of bytes to copy. + + + Copies bytes from the source address to the destination address. + The destination address to copy to. + The source address to copy from. + The number of bytes to copy. + + + Copies bytes from the source address to the destination address without assuming architecture dependent alignment of the addresses. + The destination address to copy to. + The source address to copy from. + The number of bytes to copy. + + + Copies bytes from the source address to the destination address without assuming architecture dependent alignment of the addresses. + The destination address to copy to. + The source address to copy from. + The number of bytes to copy. + + + Initializes a block of memory at the given location with a given initial value. + The address of the start of the memory block to initialize. + The value to initialize the block to. + The number of bytes to initialize. + + + Initializes a block of memory at the given location with a given initial value. + The address of the start of the memory block to initialize. + The value to initialize the block to. + The number of bytes to initialize. + + + Initializes a block of memory at the given location with a given initial value without assuming architecture dependent alignment of the address. + The address of the start of the memory block to initialize. + The value to initialize the block to. + The number of bytes to initialize. + + + Initializes a block of memory at the given location with a given initial value without assuming architecture dependent alignment of the address. + The address of the start of the memory block to initialize. + The value to initialize the block to. + The number of bytes to initialize. + + + Returns a value that indicates whether a specified reference is greater than another specified reference. + The first value to compare. + The second value to compare. + The type of the reference. + + if is greater than ; otherwise, . + + + Returns a value that indicates whether a specified reference is less than another specified reference. + The first value to compare. + The second value to compare. + The type of the reference. + + if is less than ; otherwise, . + + + Determines if a given reference to a value of type is a null reference. + The reference to check. + The type of the reference. + + if is a null reference; otherwise, . + + + Returns a reference to a value of type that is a null reference. + The type of the reference. + A reference to a value of type that is a null reference. + + + Reads a value of type from the given location. + The location to read from. + The type to read. + An object of type read from the given location. + + + Reads a value of type from the given location without assuming architecture dependent alignment of the addresses. + The location to read from. + The type to read. + An object of type read from the given location. + + + Reads a value of type from the given location without assuming architecture dependent alignment of the addresses. + The location to read from. + The type to read. + An object of type read from the given location. + + + Returns the size of an object of the given type parameter. + The type of object whose size is retrieved. + The size of an object of type . + + + Bypasses definite assignment rules for a given value. + The uninitialized object. + The type of the uninitialized object. + + + Subtracts an element offset from the given reference. + The reference to subtract the offset from. + The offset to subtract. + The type of reference. + A new reference that reflects the subtraction of offset from pointer. + + + Subtracts an element offset from the given reference. + The reference to subtract the offset from. + The offset to subtract. + The type of reference. + A new reference that reflects the subtraction of offset from pointer. + + + Subtracts an element offset from the given reference. + The reference to subtract the offset from. + The offset to subtract. + The type of reference. + A new reference that reflects the subraction of offset from pointer. + + + Subtracts an element offset from the given void pointer. + The void pointer to subtract the offset from. + The offset to subtract. + The type of the void pointer. + A new void pointer that reflects the subtraction of offset from the specified pointer. + + + Subtracts a byte offset from the given reference. + The reference to subtract the offset from. + The offset to subtract. + The type of reference. + A new reference that reflects the subtraction of byte offset from pointer. + + + Subtracts a byte offset from the given reference. + The reference to subtract the offset from. + The offset to subtract. + The type of reference. + A new reference that reflects the subraction of byte offset from pointer. + + + Returns a to a boxed value. + The value to unbox. + The type to be unboxed. + + is , and is a non-nullable value type. + + is not a boxed value type. + +-or- + + is not a boxed . + + cannot be found. + A to the boxed value . + + + Writes a value of type to the given location. + The location to write to. + The value to write. + The type of value to write. + + + Writes a value of type to the given location without assuming architecture dependent alignment of the addresses. + The location to write to. + The value to write. + The type of value to write. + + + Writes a value of type to the given location without assuming architecture dependent alignment of the addresses. + The location to write to. + The value to write. + The type of value to write. + + + \ No newline at end of file diff --git a/db_lab/bin/Debug/System.Text.Encodings.Web.dll b/db_lab/bin/Debug/System.Text.Encodings.Web.dll new file mode 100644 index 0000000000000000000000000000000000000000..3d16c7e9d86d760e037853648c40c16a1ac9860d GIT binary patch literal 79024 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 + + + System.Text.Encodings.Web + + + + Represents an HTML character encoding. + + + Initializes a new instance of the class. + + + Creates a new instance of the HtmlEncoder class with the specified settings. + Settings that control how the instance encodes, primarily which characters to encode. + + is . + A new instance of the class. + + + Creates a new instance of the HtmlEncoder class that specifies characters the encoder is allowed to not encode. + The set of characters that the encoder is allowed to not encode. + + is . + A new instance of the class. + + + Gets a built-in instance of the class. + A built-in instance of the class. + + + Represents a JavaScript character encoding. + + + Initializes a new instance of the class. + + + Creates a new instance of JavaScriptEncoder class with the specified settings. + Settings that control how the instance encodes, primarily which characters to encode. + + is . + A new instance of the class. + + + Creates a new instance of the JavaScriptEncoder class that specifies characters the encoder is allowed to not encode. + The set of characters that the encoder is allowed to not encode. + + is . + A new instance of the class. + + + Gets a built-in instance of the class. + A built-in instance of the class. + + + Gets a built-in JavaScript encoder instance that is less strict about what is encoded. + A JavaScript encoder instance. + + + The base class of web encoders. + + + Initializes a new instance of the class. + + + Encodes characters from an array and writes them to a object. + The stream to which to write the encoded text. + The array of characters to encode. + The array index of the first character to encode. + The number of characters in the array to encode. + + is . + The method failed. The encoder does not implement correctly. + + is . + + is out of range. + + is out of range. + + + Encodes the specified string to a object. + The stream to which to write the encoded text. + The string to encode. + + + Encodes a substring and writes it to a object. + The stream to which to write the encoded text. + The string whose substring is to be encoded. + The index where the substring starts. + The number of characters in the substring. + + is . + The method failed. The encoder does not implement correctly. + + is . + + is out of range. + + is out of range. + + + Encodes the supplied characters. + A source buffer containing the characters to encode. + The destination buffer to which the encoded form of will be written. + The number of characters consumed from the buffer. + The number of characters written to the buffer. + + to indicate there is no further source data that needs to be encoded; otherwise, . + An enumeration value that describes the result of the encoding operation. + + + Encodes the supplied string and returns the encoded text as a new string. + The string to encode. + + is . + The method failed. The encoder does not implement correctly. + The encoded string. + + + Encodes the supplied UTF-8 text. + A source buffer containing the UTF-8 text to encode. + The destination buffer to which the encoded form of will be written. + The number of bytes consumed from the buffer. + The number of bytes written to the buffer. + + to indicate there is no further source data that needs to be encoded; otherwise, . + A status code that describes the result of the encoding operation. + + + Finds the index of the first character to encode. + The text buffer to search. + The number of characters in . + The index of the first character to encode. + + + Finds the first element in a UTF-8 text input buffer that would be escaped by the current encoder instance. + The UTF-8 text input buffer to search. + The index of the first element in that would be escaped by the current encoder instance, or -1 if no data in requires escaping. + + + Encodes a Unicode scalar value and writes it to a buffer. + A Unicode scalar value. + A pointer to the buffer to which to write the encoded text. + The length of the destination in characters. + When the method returns, indicates the number of characters written to the . + + if is too small to fit the encoded text; otherwise, returns . + + + Determines if a given Unicode scalar value will be encoded. + A Unicode scalar value. + + if the value will be encoded by this encoder; otherwise, returns . + + + Gets the maximum number of characters that this encoder can generate for each input code point. + The maximum number of characters. + + + Represents a filter that allows only certain Unicode code points. + + + Instantiates an empty filter (allows no code points through by default). + + + Instantiates a filter by cloning the allowed list of another object. + The other object to be cloned. + + + Instantiates a filter where only the character ranges specified by are allowed by the filter. + The allowed character ranges. + + is . + + + Allows the character specified by through the filter. + The allowed character. + + + Allows all characters specified by through the filter. + The allowed characters. + + is . + + + Allows all code points specified by . + The allowed code points. + + is . + + + Allows all characters specified by through the filter. + The range of characters to be allowed. + + is . + + + Allows all characters specified by through the filter. + The ranges of characters to be allowed. + + is . + + + Resets this object by disallowing all characters. + + + Disallows the character through the filter. + The disallowed character. + + + Disallows all characters specified by through the filter. + The disallowed characters. + + is . + + + Disallows all characters specified by through the filter. + The range of characters to be disallowed. + + is . + + + Disallows all characters specified by through the filter. + The ranges of characters to be disallowed. + + is . + + + Gets an enumerator of all allowed code points. + The enumerator of allowed code points. + + + Represents a URL character encoding. + + + Initializes a new instance of the class. + + + Creates a new instance of UrlEncoder class with the specified settings. + Settings that control how the instance encodes, primarily which characters to encode. + + is . + A new instance of the class. + + + Creates a new instance of the UrlEncoder class that specifies characters the encoder is allowed to not encode. + The set of characters that the encoder is allowed to not encode. + + is . + A new instance of the class. + + + Gets a built-in instance of the class. + A built-in instance of the class. + + + Represents a contiguous range of Unicode code points. + + + Creates a new that includes a specified number of characters starting at a specified Unicode code point. + The first code point in the range. + The number of code points in the range. + + is less than zero or greater than 0xFFFF. + +-or- + + is less than zero. + +-or- + + plus is greater than 0xFFFF. + + + Creates a new instance from a span of characters. + The first character in the range. + The last character in the range. + + precedes . + A range that includes all characters between and . + + + Gets the first code point in the range represented by this instance. + The first code point in the range. + + + Gets the number of code points in the range represented by this instance. + The number of code points in the range. + + + Provides static properties that return predefined instances that correspond to blocks from the Unicode specification. + + + Gets a range that consists of the entire Basic Multilingual Plane (BMP), from U+0000 to U+FFFF). + A range that consists of the entire BMP. + + + Gets the Alphabetic Presentation Forms Unicode block (U+FB00-U+FB4F). + The Alphabetic Presentation Forms Unicode block (U+FB00-U+FB4F). + + + Gets the Arabic Unicode block (U+0600-U+06FF). + The Arabic Unicode block (U+0600-U+06FF). + + + Gets the Arabic Extended-A Unicode block (U+08A0-U+08FF). + The Arabic Extended-A Unicode block (U+08A0-U+08FF). + + + A corresponding to the 'Arabic Extended-B' Unicode block (U+0870..U+089F). + + + Gets the Arabic Presentation Forms-A Unicode block (U+FB50-U+FDFF). + The Arabic Presentation Forms-A Unicode block (U+FB50-U+FDFF). + + + Gets the Arabic Presentation Forms-B Unicode block (U+FE70-U+FEFF). + The Arabic Presentation Forms-B Unicode block (U+FE70-U+FEFF). + + + Gets the Arabic Supplement Unicode block (U+0750-U+077F). + The Arabic Supplement Unicode block (U+0750-U+077F). + + + Gets the Armenian Unicode block (U+0530-U+058F). + The Armenian Unicode block (U+0530-U+058F). + + + Gets the Arrows Unicode block (U+2190-U+21FF). + The Arrows Unicode block (U+2190-U+21FF). + + + Gets the Balinese Unicode block (U+1B00-U+1B7F). + The Balinese Unicode block (U+1B00-U+1B7F). + + + Gets the Bamum Unicode block (U+A6A0-U+A6FF). + The Bamum Unicode block (U+A6A0-U+A6FF). + + + Gets the Basic Latin Unicode block (U+0021-U+007F). + The Basic Latin Unicode block (U+0021-U+007F). + + + Gets the Batak Unicode block (U+1BC0-U+1BFF). + The Batak Unicode block (U+1BC0-U+1BFF). + + + Gets the Bengali Unicode block (U+0980-U+09FF). + The Bengali Unicode block (U+0980-U+09FF). + + + Gets the Block Elements Unicode block (U+2580-U+259F). + The Block Elements Unicode block (U+2580-U+259F). + + + Gets the Bopomofo Unicode block (U+3100-U+312F). + The Bopomofo Unicode block (U+3105-U+312F). + + + Gets the Bopomofo Extended Unicode block (U+31A0-U+31BF). + The Bopomofo Extended Unicode block (U+31A0-U+31BF). + + + Gets the Box Drawing Unicode block (U+2500-U+257F). + The Box Drawing Unicode block (U+2500-U+257F). + + + Gets the Braille Patterns Unicode block (U+2800-U+28FF). + The Braille Patterns Unicode block (U+2800-U+28FF). + + + Gets the Buginese Unicode block (U+1A00-U+1A1F). + The Buginese Unicode block (U+1A00-U+1A1F). + + + Gets the Buhid Unicode block (U+1740-U+175F). + The Buhid Unicode block (U+1740-U+175F). + + + Gets the Cham Unicode block (U+AA00-U+AA5F). + The Cham Unicode block (U+AA00-U+AA5F). + + + Gets the Cherokee Unicode block (U+13A0-U+13FF). + The Cherokee Unicode block (U+13A0-U+13FF). + + + Gets the Cherokee Supplement Unicode block (U+AB70-U+ABBF). + The Cherokee Supplement Unicode block (U+AB70-U+ABBF). + + + Gets the CJK Compatibility Unicode block (U+3300-U+33FF). + The CJK Compatibility Unicode block (U+3300-U+33FF). + + + Gets the CJK Compatibility Forms Unicode block (U+FE30-U+FE4F). + The CJK Compatibility Forms Unicode block (U+FE30-U+FE4F). + + + Gets the CJK Compatibility Ideographs Unicode block (U+F900-U+FAD9). + The CJK Compatibility Ideographs Unicode block (U+F900-U+FAD9). + + + Gets the CJK Radicals Supplement Unicode block (U+2E80-U+2EFF). + The CJK Radicals Supplement Unicode block (U+2E80-U+2EFF). + + + Gets the CJK Strokes Unicode block (U+31C0-U+31EF). + The CJK Strokes Unicode block (U+31C0-U+31EF). + + + Gets the CJK Symbols and Punctuation Unicode block (U+3000-U+303F). + The CJK Symbols and Punctuation Unicode block (U+3000-U+303F). + + + Gets the CJK Unified Ideographs Unicode block (U+4E00-U+9FCC). + The CJK Unified Ideographs Unicode block (U+4E00-U+9FCC). + + + Gets the CJK Unitied Ideographs Extension A Unicode block (U+3400-U+4DB5). + The CJK Unitied Ideographs Extension A Unicode block (U+3400-U+4DB5). + + + Gets the Combining Diacritical Marks Unicode block (U+0300-U+036F). + The Combining Diacritical Marks Unicode block (U+0300-U+036F). + + + Gets the Combining Diacritical Marks Extended Unicode block (U+1AB0-U+1AFF). + The Combining Diacritical Marks Extended Unicode block (U+1AB0-U+1AFF). + + + Gets the Combining Diacritical Marks for Symbols Unicode block (U+20D0-U+20FF). + The Combining Diacritical Marks for Symbols Unicode block (U+20D0-U+20FF). + + + Gets the Combining Diacritical Marks Supplement Unicode block (U+1DC0-U+1DFF). + The Combining Diacritical Marks Supplement Unicode block (U+1DC0-U+1DFF). + + + Gets the Combining Half Marks Unicode block (U+FE20-U+FE2F). + The Combining Half Marks Unicode block (U+FE20-U+FE2F). + + + Gets the Common Indic Number Forms Unicode block (U+A830-U+A83F). + The Common Indic Number Forms Unicode block (U+A830-U+A83F). + + + Gets the Control Pictures Unicode block (U+2400-U+243F). + The Control Pictures Unicode block (U+2400-U+243F). + + + Gets the Coptic Unicode block (U+2C80-U+2CFF). + The Coptic Unicode block (U+2C80-U+2CFF). + + + Gets the Currency Symbols Unicode block (U+20A0-U+20CF). + The Currency Symbols Unicode block (U+20A0-U+20CF). + + + Gets the Cyrillic Unicode block (U+0400-U+04FF). + The Cyrillic Unicode block (U+0400-U+04FF). + + + Gets the Cyrillic Extended-A Unicode block (U+2DE0-U+2DFF). + The Cyrillic Extended-A Unicode block (U+2DE0-U+2DFF). + + + Gets the Cyrillic Extended-B Unicode block (U+A640-U+A69F). + The Cyrillic Extended-B Unicode block (U+A640-U+A69F). + + + A corresponding to the 'Cyrillic Extended-C' Unicode block (U+1C80..U+1C8F). + + + Gets the Cyrillic Supplement Unicode block (U+0500-U+052F). + The Cyrillic Supplement Unicode block (U+0500-U+052F). + + + Gets the Devangari Unicode block (U+0900-U+097F). + The Devangari Unicode block (U+0900-U+097F). + + + Gets the Devanagari Extended Unicode block (U+A8E0-U+A8FF). + The Devanagari Extended Unicode block (U+A8E0-U+A8FF). + + + Gets the Dingbats Unicode block (U+2700-U+27BF). + The Dingbats Unicode block (U+2700-U+27BF). + + + Gets the Enclosed Alphanumerics Unicode block (U+2460-U+24FF). + The Enclosed Alphanumerics Unicode block (U+2460-U+24FF). + + + Gets the Enclosed CJK Letters and Months Unicode block (U+3200-U+32FF). + The Enclosed CJK Letters and Months Unicode block (U+3200-U+32FF). + + + Gets the Ethiopic Unicode block (U+1200-U+137C). + The Ethiopic Unicode block (U+1200-U+137C). + + + Gets the Ethipic Extended Unicode block (U+2D80-U+2DDF). + The Ethipic Extended Unicode block (U+2D80-U+2DDF). + + + Gets the Ethiopic Extended-A Unicode block (U+AB00-U+AB2F). + The Ethiopic Extended-A Unicode block (U+AB00-U+AB2F). + + + Gets the Ethiopic Supplement Unicode block (U+1380-U+1399). + The Ethiopic Supplement Unicode block (U+1380-U+1399). + + + Gets the General Punctuation Unicode block (U+2000-U+206F). + The General Punctuation Unicode block (U+2000-U+206F). + + + Gets the Geometric Shapes Unicode block (U+25A0-U+25FF). + The Geometric Shapes Unicode block (U+25A0-U+25FF). + + + Gets the Georgian Unicode block (U+10A0-U+10FF). + The Georgian Unicode block (U+10A0-U+10FF). + + + A corresponding to the 'Georgian Extended' Unicode block (U+1C90..U+1CBF). + + + Gets the Georgian Supplement Unicode block (U+2D00-U+2D2F). + The Georgian Supplement Unicode block (U+2D00-U+2D2F). + + + Gets the Glagolitic Unicode block (U+2C00-U+2C5F). + The Glagolitic Unicode block (U+2C00-U+2C5F). + + + Gets the Greek and Coptic Unicode block (U+0370-U+03FF). + The Greek and Coptic Unicode block (U+0370-U+03FF). + + + Gets the Greek Extended Unicode block (U+1F00-U+1FFF). + The Greek Extended Unicode block (U+1F00-U+1FFF). + + + Gets the Gujarti Unicode block (U+0A81-U+0AFF). + The Gujarti Unicode block (U+0A81-U+0AFF). + + + Gets the Gurmukhi Unicode block (U+0A01-U+0A7F). + The Gurmukhi Unicode block (U+0A01-U+0A7F). + + + Gets the Halfwidth and Fullwidth Forms Unicode block (U+FF00-U+FFEE). + The Halfwidth and Fullwidth Forms Unicode block (U+FF00-U+FFEE). + + + Gets the Hangul Compatibility Jamo Unicode block (U+3131-U+318F). + The Hangul Compatibility Jamo Unicode block (U+3131-U+318F). + + + Gets the Hangul Jamo Unicode block (U+1100-U+11FF). + The Hangul Jamo Unicode block (U+1100-U+11FF). + + + Gets the Hangul Jamo Extended-A Unicode block (U+A960-U+A9F). + The Hangul Jamo Extended-A Unicode block (U+A960-U+A97F). + + + Gets the Hangul Jamo Extended-B Unicode block (U+D7B0-U+D7FF). + The Hangul Jamo Extended-B Unicode block (U+D7B0-U+D7FF). + + + Gets the Hangul Syllables Unicode block (U+AC00-U+D7AF). + The Hangul Syllables Unicode block (U+AC00-U+D7AF). + + + Gets the Hanunoo Unicode block (U+1720-U+173F). + The Hanunoo Unicode block (U+1720-U+173F). + + + Gets the Hebrew Unicode block (U+0590-U+05FF). + The Hebrew Unicode block (U+0590-U+05FF). + + + Gets the Hiragana Unicode block (U+3040-U+309F). + The Hiragana Unicode block (U+3040-U+309F). + + + Gets the Ideographic Description Characters Unicode block (U+2FF0-U+2FFF). + The Ideographic Description Characters Unicode block (U+2FF0-U+2FFF). + + + Gets the IPA Extensions Unicode block (U+0250-U+02AF). + The IPA Extensions Unicode block (U+0250-U+02AF). + + + Gets the Javanese Unicode block (U+A980-U+A9DF). + The Javanese Unicode block (U+A980-U+A9DF). + + + Gets the Kanbun Unicode block (U+3190-U+319F). + The Kanbun Unicode block (U+3190-U+319F). + + + Gets the Kangxi Radicals Supplement Unicode block (U+2F00-U+2FDF). + The Kangxi Radicals Supplement Unicode block (U+2F00-U+2FDF). + + + Gets the Kannada Unicode block (U+0C81-U+0CFF). + The Kannada Unicode block (U+0C81-U+0CFF). + + + Gets the Katakana Unicode block (U+30A0-U+30FF). + The Katakana Unicode block (U+30A0-U+30FF). + + + Gets the Katakana Phonetic Extensions Unicode block (U+31F0-U+31FF). + The Katakana Phonetic Extensions Unicode block (U+31F0-U+31FF). + + + Gets the Kayah Li Unicode block (U+A900-U+A92F). + The Kayah Li Unicode block (U+A900-U+A92F). + + + Gets the Khmer Unicode block (U+1780-U+17FF). + The Khmer Unicode block (U+1780-U+17FF). + + + Gets the Khmer Symbols Unicode block (U+19E0-U+19FF). + The Khmer Symbols Unicode block (U+19E0-U+19FF). + + + Gets the Lao Unicode block (U+0E80-U+0EDF). + The Lao Unicode block (U+0E80-U+0EDF). + + + Gets the Latin-1 Supplement Unicode block (U+00A1-U+00FF). + The Latin-1 Supplement Unicode block (U+00A1-U+00FF). + + + Gets the Latin Extended-A Unicode block (U+0100-U+017F). + The Latin Extended-A Unicode block (U+0100-U+017F). + + + Gets the Latin Extended Additional Unicode block (U+1E00-U+1EFF). + The Latin Extended Additional Unicode block (U+1E00-U+1EFF). + + + Gets the Latin Extended-B Unicode block (U+0180-U+024F). + The Latin Extended-B Unicode block (U+0180-U+024F). + + + Gets the Latin Extended-C Unicode block (U+2C60-U+2C7F). + The Latin Extended-C Unicode block (U+2C60-U+2C7F). + + + Gets the Latin Extended-D Unicode block (U+A720-U+A7FF). + The Latin Extended-D Unicode block (U+A720-U+A7FF). + + + Gets the Latin Extended-E Unicode block (U+AB30-U+AB6F). + The Latin Extended-E Unicode block (U+AB30-U+AB6F). + + + Gets the Lepcha Unicode block (U+1C00-U+1C4F). + The Lepcha Unicode block (U+1C00-U+1C4F). + + + Gets the Letterlike Symbols Unicode block (U+2100-U+214F). + The Letterlike Symbols Unicode block (U+2100-U+214F). + + + Gets the Limbu Unicode block (U+1900-U+194F). + The Limbu Unicode block (U+1900-U+194F). + + + Gets the Lisu Unicode block (U+A4D0-U+A4FF). + The Lisu Unicode block (U+A4D0-U+A4FF). + + + Gets the Malayalam Unicode block (U+0D00-U+0D7F). + The Malayalam Unicode block (U+0D00-U+0D7F). + + + Gets the Mandaic Unicode block (U+0840-U+085F). + The Mandaic Unicode block (U+0840-U+085F). + + + Gets the Mathematical Operators Unicode block (U+2200-U+22FF). + The Mathematical Operators Unicode block (U+2200-U+22FF). + + + Gets the Meetei Mayek Unicode block (U+ABC0-U+ABFF). + The Meetei Mayek Unicode block (U+ABC0-U+ABFF). + + + Gets the Meetei Mayek Extensions Unicode block (U+AAE0-U+AAFF). + The Meetei Mayek Extensions Unicode block (U+AAE0-U+AAFF). + + + Gets the Miscellaneous Mathematical Symbols-A Unicode block (U+27C0-U+27EF). + The Miscellaneous Mathematical Symbols-A Unicode block (U+27C0-U+27EF). + + + Gets the Miscellaneous Mathematical Symbols-B Unicode block (U+2980-U+29FF). + The Miscellaneous Mathematical Symbols-B Unicode block (U+2980-U+29FF). + + + Gets the Miscellaneous Symbols Unicode block (U+2600-U+26FF). + The Miscellaneous Symbols Unicode block (U+2600-U+26FF). + + + Gets the Miscellaneous Symbols and Arrows Unicode block (U+2B00-U+2BFF). + The Miscellaneous Symbols and Arrows Unicode block (U+2B00-U+2BFF). + + + Gets the Miscellaneous Technical Unicode block (U+2300-U+23FF). + The Miscellaneous Technical Unicode block (U+2300-U+23FF). + + + Gets the Modifier Tone Letters Unicode block (U+A700-U+A71F). + The Modifier Tone Letters Unicode block (U+A700-U+A71F). + + + Gets the Mongolian Unicode block (U+1800-U+18AF). + The Mongolian Unicode block (U+1800-U+18AF). + + + Gets the Myanmar Unicode block (U+1000-U+109F). + The Myanmar Unicode block (U+1000-U+109F). + + + Gets the Myanmar Extended-A Unicode block (U+AA60-U+AA7F). + The Myanmar Extended-A Unicode block (U+AA60-U+AA7F). + + + Gets the Myanmar Extended-B Unicode block (U+A9E0-U+A9FF). + The Myanmar Extended-B Unicode block (U+A9E0-U+A9FF). + + + Gets the New Tai Lue Unicode block (U+1980-U+19DF). + The New Tai Lue Unicode block (U+1980-U+19DF). + + + Gets the NKo Unicode block (U+07C0-U+07FF). + The NKo Unicode block (U+07C0-U+07FF). + + + Gets an empty Unicode range. + A Unicode range with no elements. + + + Gets the Number Forms Unicode block (U+2150-U+218F). + The Number Forms Unicode block (U+2150-U+218F). + + + Gets the Ogham Unicode block (U+1680-U+169F). + The Ogham Unicode block (U+1680-U+169F). + + + Gets the Ol Chiki Unicode block (U+1C50-U+1C7F). + The Ol Chiki Unicode block (U+1C50-U+1C7F). + + + Gets the Optical Character Recognition Unicode block (U+2440-U+245F). + The Optical Character Recognition Unicode block (U+2440-U+245F). + + + Gets the Oriya Unicode block (U+0B00-U+0B7F). + The Oriya Unicode block (U+0B00-U+0B7F). + + + Gets the Phags-pa Unicode block (U+A840-U+A87F). + The Phags-pa Unicode block (U+A840-U+A87F). + + + Gets the Phonetic Extensions Unicode block (U+1D00-U+1D7F). + The Phonetic Extensions Unicode block (U+1D00-U+1D7F). + + + Gets the Phonetic Extensions Supplement Unicode block (U+1D80-U+1DBF). + The Phonetic Extensions Supplement Unicode block (U+1D80-U+1DBF). + + + Gets the Rejang Unicode block (U+A930-U+A95F). + The Rejang Unicode block (U+A930-U+A95F). + + + Gets the Runic Unicode block (U+16A0-U+16FF). + The Runic Unicode block (U+16A0-U+16FF). + + + Gets the Samaritan Unicode block (U+0800-U+083F). + The Samaritan Unicode block (U+0800-U+083F). + + + Gets the Saurashtra Unicode block (U+A880-U+A8DF). + The Saurashtra Unicode block (U+A880-U+A8DF). + + + Gets the Sinhala Unicode block (U+0D80-U+0DFF). + The Sinhala Unicode block (U+0D80-U+0DFF). + + + Gets the Small Form Variants Unicode block (U+FE50-U+FE6F). + The Small Form Variants Unicode block (U+FE50-U+FE6F). + + + Gets the Spacing Modifier Letters Unicode block (U+02B0-U+02FF). + The Spacing Modifier Letters Unicode block (U+02B0-U+02FF). + + + Gets the Specials Unicode block (U+FFF0-U+FFFF). + The Specials Unicode block (U+FFF0-U+FFFF). + + + Gets the Sundanese Unicode block (U+1B80-U+1BBF). + The Sundanese Unicode block (U+1B80-U+1BBF). + + + Gets the Sundanese Supplement Unicode block (U+1CC0-U+1CCF). + The Sundanese Supplement Unicode block (U+1CC0-U+1CCF). + + + Gets the Superscripts and Subscripts Unicode block (U+2070-U+209F). + The Superscripts and Subscripts Unicode block (U+2070-U+209F). + + + Gets the Supplemental Arrows-A Unicode block (U+27F0-U+27FF). + The Supplemental Arrows-A Unicode block (U+27F0-U+27FF). + + + Gets the Supplemental Arrows-B Unicode block (U+2900-U+297F). + The Supplemental Arrows-B Unicode block (U+2900-U+297F). + + + Gets the Supplemental Mathematical Operators Unicode block (U+2A00-U+2AFF). + The Supplemental Mathematical Operators Unicode block (U+2A00-U+2AFF). + + + Gets the Supplemental Punctuation Unicode block (U+2E00-U+2E7F). + The Supplemental Punctuation Unicode block (U+2E00-U+2E7F). + + + Gets the Syloti Nagri Unicode block (U+A800-U+A82F). + The Syloti Nagri Unicode block (U+A800-U+A82F). + + + Gets the Syriac Unicode block (U+0700-U+074F). + The Syriac Unicode block (U+0700-U+074F). + + + A corresponding to the 'Syriac Supplement' Unicode block (U+0860..U+086F). + + + Gets the Tagalog Unicode block (U+1700-U+171F). + The Tagalog Unicode block (U+1700-U+171F). + + + Gets the Tagbanwa Unicode block (U+1760-U+177F). + The Tagbanwa Unicode block (U+1760-U+177F). + + + Gets the Tai Le Unicode block (U+1950-U+197F). + The Tai Le Unicode block (U+1950-U+197F). + + + Gets the Tai Tham Unicode block (U+1A20-U+1AAF). + The Tai Tham Unicode block (U+1A20-U+1AAF). + + + Gets the Tai Viet Unicode block (U+AA80-U+AADF). + The Tai Viet Unicode block (U+AA80-U+AADF). + + + Gets the Tamil Unicode block (U+0B80-U+0BFF). + The Tamil Unicode block (U+0B82-U+0BFA). + + + Gets the Telugu Unicode block (U+0C00-U+0C7F). + The Telugu Unicode block (U+0C00-U+0C7F). + + + Gets the Thaana Unicode block (U+0780-U+07BF). + The Thaana Unicode block (U+0780-U+07BF). + + + Gets the Thai Unicode block (U+0E00-U+0E7F). + The Thai Unicode block (U+0E00-U+0E7F). + + + Gets the Tibetan Unicode block (U+0F00-U+0FFF). + The Tibetan Unicode block (U+0F00-U+0FFF). + + + Gets the Tifinagh Unicode block (U+2D30-U+2D7F). + The Tifinagh Unicode block (U+2D30-U+2D7F). + + + Gets the Unified Canadian Aboriginal Syllabics Unicode block (U+1400-U+167F). + The Unified Canadian Aboriginal Syllabics Unicode block (U+1400-U+167F). + + + Gets the Unified Canadian Aboriginal Syllabics Extended Unicode block (U+18B0-U+18FF). + The Unified Canadian Aboriginal Syllabics Extended Unicode block (U+18B0-U+18FF). + + + Gets the Vai Unicode block (U+A500-U+A63F). + The Vai Unicode block (U+A500-U+A63F). + + + Gets the Variation Selectors Unicode block (U+FE00-U+FE0F). + The Variation Selectors Unicode block (U+FE00-U+FE0F). + + + Gets the Vedic Extensions Unicode block (U+1CD0-U+1CFF). + The Vedic Extensions Unicode block (U+1CD0-U+1CFF). + + + Gets the Vertical Forms Unicode block (U+FE10-U+FE1F). + The Vertical Forms Unicode block (U+FE10-U+FE1F). + + + Gets the Yijing Hexagram Symbols Unicode block (U+4DC0-U+4DFF). + The Yijing Hexagram Symbols Unicode block (U+4DC0-U+4DFF). + + + Gets the Yi Radicals Unicode block (U+A490-U+A4CF). + The Yi Radicals Unicode block (U+A490-U+A4CF). + + + Gets the Yi Syllables Unicode block (U+A000-U+A48F). + The Yi Syllables Unicode block (U+A000-U+A48F). + + + \ No newline at end of file diff --git a/db_lab/bin/Debug/System.Text.Json.dll b/db_lab/bin/Debug/System.Text.Json.dll new file mode 100644 index 0000000000000000000000000000000000000000..7405d75673e32f1380ca1a302f9bd2913c4d6897 GIT binary patch literal 642832 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%0DL!c^#_liT8-z5R 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 Wj8jKPELj}kPCtqiS^o4b%jjR8@5ojF literal 0 HcmV?d00001 diff --git a/db_lab/bin/Debug/System.Text.Json.xml b/db_lab/bin/Debug/System.Text.Json.xml new file mode 100644 index 0000000..da1a571 --- /dev/null +++ b/db_lab/bin/Debug/System.Text.Json.xml @@ -0,0 +1,5785 @@ + + + + System.Text.Json + + + + Defines how the struct handles comments. + + + Allows comments within the JSON input and treats them as valid tokens. While reading, the caller can access the comment values. + + + Doesn't allow comments within the JSON input. Comments are treated as invalid JSON if found, and a is thrown. This is the default value. + + + Allows comments within the JSON input and ignores them. The behaves as if no comments are present. + + + Provides a mechanism for examining the structural content of a JSON value without automatically instantiating data values. + + + Releases the resources used by this instance. + + + Parses a sequence as UTF-8-encoded text representing a single JSON value into a JsonDocument. + The JSON text to parse. + Options to control the reader behavior during parsing. + + does not represent a valid single JSON value. + + contains unsupported options. + A JsonDocument representation of the JSON value. + + + Parses a as UTF-8-encoded data representing a single JSON value into a JsonDocument. The stream is read to completion. + The JSON data to parse. + Options to control the reader behavior during parsing. + + does not represent a valid single JSON value. + + contains unsupported options. + A JsonDocument representation of the JSON value. + + + Parses memory as UTF-8-encoded text representing a single JSON value into a JsonDocument. + The JSON text to parse. + Options to control the reader behavior during parsing. + + does not represent a valid single JSON value. + + contains unsupported options. + A JsonDocument representation of the JSON value. + + + Parses text representing a single JSON value into a JsonDocument. + The JSON text to parse. + Options to control the reader behavior during parsing. + + does not represent a valid single JSON value. + + contains unsupported options. + A JsonDocument representation of the JSON value. + + + Parses text representing a single JSON string value into a JsonDocument. + The JSON text to parse. + Options to control the reader behavior during parsing. + + does not represent a valid single JSON value. + + contains unsupported options. + A JsonDocument representation of the JSON value. + + + Parses a as UTF-8-encoded data representing a single JSON value into a JsonDocument. The stream is read to completion. + The JSON data to parse. + Options to control the reader behavior during parsing. + The token to monitor for cancellation requests. + + does not represent a valid single JSON value. + + contains unsupported options. + A task to produce a JsonDocument representation of the JSON value. + + + Parses one JSON value (including objects or arrays) from the provided reader. + The reader to read. + + contains unsupported options. + +-or- + +The current token does not start or represent a value. + A value could not be read from the reader. + A JsonDocument representing the value (and nested values) read from the reader. + + + Attempts to parse one JSON value (including objects or arrays) from the provided reader. + The reader to read. + When the method returns, contains the parsed document. + + contains unsupported options. + +-or- + +The current token does not start or represent a value. + A value could not be read from the reader. + + if a value was read and parsed into a JsonDocument; if the reader ran out of data while parsing. All other situations result in an exception being thrown. + + + Writes the document to the provided writer as a JSON value. + The writer to which to write the document. + The parameter is . + The of this would result in invalid JSON. + The parent has been disposed. + + + Gets the root element of this JSON document. + A representing the value of the document. + + + Provides the ability for the user to define custom behavior when parsing JSON to create a . + + + Gets or sets a value that indicates whether an extra comma at the end of a list of JSON values in an object or array is allowed (and ignored) within the JSON payload being read. + + if an extra comma at the end of a list of JSON values in an object or array is allowed; otherwise, . Default is + + + Gets or sets a value that determines how the handles comments when reading through the JSON data. + The comment handling enum is set to a value that is not supported (or not within the enum range). + One of the enumeration values that indicates how comments are handled. + + + Gets or sets the maximum depth allowed when parsing JSON data, with the default (that is, 0) indicating a maximum depth of 64. + The max depth is set to a negative value. + The maximum depth allowed when parsing JSON data. + + + Represents a specific JSON value within a . + + + Gets a JsonElement that can be safely stored beyond the lifetime of the original . + A JsonElement that can be safely stored beyond the lifetime of the original . + + + Gets an enumerator to enumerate the values in the JSON array represented by this JsonElement. + This value's is not . + The parent has been disposed. + An enumerator to enumerate the values in the JSON array represented by this JsonElement. + + + Gets an enumerator to enumerate the properties in the JSON object represented by this JsonElement. + This value's is not . + The parent has been disposed. + An enumerator to enumerate the properties in the JSON object represented by this JsonElement. + + + Gets the number of values contained within the current array value. + This value's is not . + The parent has been disposed. + The number of values contained within the current array value. + + + Gets the value of the element as a . + This value's is neither nor . + The parent has been disposed. + The value of the element as a . + + + Gets the current JSON number as a . + This value's is not . + The value cannot be represented as a . + The parent has been disposed. + The current JSON number as a . + + + Gets the value of the element as a byte array. + This value's is not . + The value is not encoded as Base64 text and hence cannot be decoded to bytes. + The parent has been disposed. + The value decoded as a byte array. + + + Gets the value of the element as a . + This value's is not . + The value cannot be read as a . + The parent has been disposed. + The value of the element as a . + + + Gets the value of the element as a . + This value's is not . + The value cannot be read as a . + The parent has been disposed. + The value of the element as a . + + + Gets the current JSON number as a . + This value's is not . + The value cannot be represented as a . + The parent has been disposed. + The current JSON number as a . + + + Gets the current JSON number as a . + This value's is not . + The value cannot be represented as a . + The parent has been disposed. + The current JSON number as a . + + + Gets the value of the element as a . + This value's is not . + The value cannot be represented as a . + The parent has been disposed. + The value of the element as a . + + + Gets the current JSON number as an . + This value's is not . + The value cannot be represented as an . + The parent has been disposed. + The current JSON number as an . + + + Gets the current JSON number as an . + This value's is not . + The value cannot be represented as an . + The parent has been disposed. + The current JSON number as an . + + + Gets the current JSON number as an . + This value's is not . + The value cannot be represented as a . + The parent has been disposed. + The current JSON number as an . + + + Gets a representing the value of a required property identified by . + The UTF-8 representation (with no Byte-Order-Mark (BOM)) of the name of the property to return. + This value's is not . + No property was found with the requested name. + The parent has been disposed. + A representing the value of the requested property. + + + Gets a representing the value of a required property identified by . + The name of the property whose value is to be returned. + This value's is not . + No property was found with the requested name. + The parent has been disposed. + A representing the value of the requested property. + + + Gets a representing the value of a required property identified by . + The name of the property whose value is to be returned. + This value's is not . + No property was found with the requested name. + + is . + The parent has been disposed. + A representing the value of the requested property. + + + Gets a string that represents the original input data backing this value. + The parent has been disposed. + The original input data backing this value. + + + Gets the current JSON number as an . + This value's is not . + The value cannot be represented as an . + The parent has been disposed. + The current JSON number as an . + + + Gets the current JSON number as a . + This value's is not . + The value cannot be represented as a . + The parent has been disposed. + The current JSON number as a . + + + Gets the value of the element as a . + This value's is neither nor . + The parent has been disposed. + The value of the element as a . + + + Gets the current JSON number as a . + This value's is not . + The value cannot be represented as a . + The parent has been disposed. + The current JSON number as a . + + + Gets the current JSON number as a . + This value's is not . + The value cannot be represented as a . + The parent has been disposed. + The current JSON number as a . + + + Gets the current JSON number as a . + This value's is not . + The value cannot be represented as a . + The parent has been disposed. + The current JSON number as a . + + + Parses one JSON value (including objects or arrays) from the provided reader. + The reader to read. + + is using unsupported options. + The current token does not start or represent a value. + A value could not be read from the reader. + A JsonElement representing the value (and nested values) read from the reader. + + + Gets a string representation for the current value appropriate to the value type. + The parent has been disposed. + A string representation for the current value appropriate to the value type. + + + Attempts to represent the current JSON number as a . + When this method returns, contains the byte equivalent of the current JSON number if the conversion succeeded, or 0 if the conversion failed. + This value's is not . + The parent has been disposed. + + if the number can be represented as a ; otherwise, . + + + Attempts to represent the current JSON string as a byte array, assuming that it is Base64 encoded. + If the method succeeds, contains the decoded binary representation of the Base64 text. + This value's is not . + The parent has been disposed. + + if the entire token value is encoded as valid Base64 text and can be successfully decoded to bytes; otherwise, . + + + Attempts to represent the current JSON string as a . + When this method returns, contains the date and time value equivalent to the current JSON string if the conversion succeeded, or if the conversion failed. + This value's is not . + The parent has been disposed. + + if the string can be represented as a ; otherwise, . + + + Attempts to represent the current JSON string as a . + When this method returns, contains the date and time value equivalent to the current JSON string if the conversion succeeded, or if the conversion failed. + This value's is not . + The parent has been disposed. + + if the string can be represented as a ; otherwise, . + + + Attempts to represent the current JSON number as a . + When this method returns, contains the decimal equivalent of the current JSON number if the conversion succeeded, or 0 if the conversion failed. + This value's is not . + The parent has been disposed. + + if the number can be represented as a ; otherwise, . + + + Attempts to represent the current JSON number as a . + When this method returns, contains a double-precision floating point value equivalent to the current JSON number if the conversion succeeded, or 0 if the conversion failed. + This value's is not . + The parent has been disposed. + + if the number can be represented as a ; otherwise, . + + + Attempts to represent the current JSON string as a . + When this method returns, contains the GUID equivalent to the current JSON string if the conversion succeeded, or if the conversion failed. + This value's is not . + The parent has been disposed. + + if the string can be represented as a ; otherwise, . + + + Attempts to represent the current JSON number as an . + When this method returns, contains the 16-bit integer value equivalent of the current JSON number if the conversion succeeded, or 0 if the conversion failed. + This value's is not . + The parent has been disposed. + + if the number can be represented as an ; otherwise, . + + + Attempts to represent the current JSON number as an . + When this method returns, contains the 32-bit integer value equivalent to the current JSON number if the conversion succeeded, or 0 if the conversion failed. + This value's is not . + The parent has been disposed. + + if the number can be represented as an ; otherwise, . + + + Attempts to represent the current JSON number as a . + When this method returns, contains the 64-bit integer value equivalent to the current JSON number if the conversion succeeded, or 0 if the conversion failed. + This value's is not . + The parent has been disposed. + + if the number can be represented as a ; otherwise, . + + + Looks for a property named in the current object, returning a value that indicates whether or not such a property exists. When the property exists, the method assigns its value to the argument. + The UTF-8 (with no Byte-Order-Mark (BOM)) representation of the name of the property to return. + Receives the value of the located property. + This value's is not . + The parent has been disposed. + + if the property was found; otherwise, . + + + Looks for a property named in the current object, returning a value that indicates whether or not such a property exists. When the property exists, the method assigns its value to the argument. + The name of the property to find. + When this method returns, contains the value of the specified property. + This value's is not . + The parent has been disposed. + + if the property was found; otherwise, . + + + Looks for a property named in the current object, returning a value that indicates whether or not such a property exists. When the property exists, its value is assigned to the argument. + The name of the property to find. + When this method returns, contains the value of the specified property. + This value's is not . + + is . + The parent has been disposed. + + if the property was found; otherwise, . + + + Attempts to represent the current JSON number as an . + When this method returns, contains the signed byte equivalent of the current JSON number if the conversion succeeded, or 0 if the conversion failed. + This value's is not . + The parent has been disposed. + + if the number can be represented as an ; otherwise, . + + + Attempts to represent the current JSON number as a . + When this method returns, contains the single-precision floating point value equivalent to the current JSON number if the conversion succeeded, or 0 if the conversion failed. + This value's is not . + The parent has been disposed. + + if the number can be represented as a ; otherwise, . + + + Attempts to represent the current JSON number as a . + When this method returns, contains the unsigned 16-bit integer value equivalent of the current JSON number if the conversion succeeded, or 0 if the conversion failed. + This value's is not . + The parent has been disposed. + + if the number can be represented as a ; otherwise, . + + + Attempts to represent the current JSON number as a . + When this method returns, contains unsigned 32-bit integer value equivalent to the current JSON number if the conversion succeeded, or 0 if the conversion failed. + This value's is not . + The parent has been disposed. + + if the number can be represented as a ; otherwise, . + + + Attempts to represent the current JSON number as a . + When this method returns, contains unsigned 64-bit integer value equivalent to the current JSON number if the conversion succeeded, or 0 if the conversion failed. + This value's is not . + The parent has been disposed. + + if the number can be represented as a ; otherwise, . + + + Attempts to parse one JSON value (including objects or arrays) from the provided reader. + The reader to read. + Receives the parsed element. + + is using unsupported options. + The current token does not start or represent a value. + A value could not be read from the reader. + + if a value was read and parsed into a JsonElement; if the reader ran out of data while parsing. + All other situations result in an exception being thrown. + + + Compares the text represented by a UTF8-encoded byte span to the string value of this element. + The UTF-8 encoded text to compare against. + This value's is not . + + if the string value of this element has the same UTF-8 encoding as + ; otherwise, . + + + Compares a specified read-only character span to the string value of this element. + The text to compare against. + This value's is not . + + if the string value of this element matches ; otherwise, . + + + Compares a specified string to the string value of this element. + The text to compare against. + This value's is not . + + if the string value of this element matches ; otherwise, . + + + Writes the element to the specified writer as a JSON value. + The writer to which to write the element. + The parameter is . + The of this value is . + The parent has been disposed. + + + Gets the value at the specified index if the current value is an . + The item index. + This value's is not . + + is not in the range [0, ()). + The parent has been disposed. + The value at the specified index. + + + Gets the type of the current JSON value. + The parent has been disposed. + The type of the current JSON value. + + + Represents an enumerator for the contents of a JSON array. + + + Releases the resources used by this instance. + + + Returns an enumerator that iterates through a collection. + An enumerator that can be used to iterate through the array. + + + Advances the enumerator to the next element of the collection. + + true if the enumerator was successfully advanced to the next element; false if the enumerator has passed the end of the collection. + + + Sets the enumerator to its initial position, which is before the first element in the collection. + + + Returns an enumerator that iterates through a collection. + An enumerator for an array of that can be used to iterate through the collection. + + + Returns an enumerator that iterates through a collection. + An enumerator that can be used to iterate through the collection. + + + Gets the element in the collection at the current position of the enumerator. + The element in the collection at the current position of the enumerator. + + + Gets the element in the collection at the current position of the enumerator. + The element in the collection at the current position of the enumerator. + + + Represents an enumerator for the properties of a JSON object. + + + Releases the resources used by this instance. + + + Returns an enumerator that iterates the properties of an object. + An enumerator that can be used to iterate through the object. + + + Advances the enumerator to the next element of the collection. + + true if the enumerator was successfully advanced to the next element; false if the enumerator has passed the end of the collection. + + + Sets the enumerator to its initial position, which is before the first element in the collection. + + + Returns an enumerator that iterates through a collection. + An enumerator for objects that can be used to iterate through the collection. + + + Returns an enumerator that iterates through a collection. + An enumerator that can be used to iterate through the collection. + + + Gets the element in the collection at the current position of the enumerator. + The element in the collection at the current position of the enumerator. + + + Gets the element in the collection at the current position of the enumerator. + The element in the collection at the current position of the enumerator. + + + Provides methods to transform UTF-8 or UTF-16 encoded text into a form that is suitable for JSON. + + + Encodes a UTF-8 text value as a JSON string. + The UTF-8 encoded text to convert to JSON encoded text. + The encoder to use when escaping the string, or to use the default encoder. + + is too large. + +-or- + + contains invalid UTF-8 bytes. + The encoded JSON text. + + + Encodes a specified text value as a JSON string. + The value to convert to JSON encoded text. + The encoder to use when escaping the string, or to use the default encoder. + + is too large. + +-or- + + contains invalid UTF-16 characters. + The encoded JSON text. + + + Encodes the string text value as a JSON string. + The value to convert to JSON encoded text. + The encoder to use when escaping the string, or to use the default encoder. + + is . + + is too large. + +-or- + + contains invalid UTF-16 characters. + The encoded JSON text. + + + Determines whether this instance and a specified object, which must also be a instance, have the same value. + The object to compare to this instance. + + if the current instance and are equal; otherwise, . + + + Determines whether this instance and another specified instance have the same value. + The object to compare to this instance. + + if this instance and have the same value; otherwise, . + + + Returns the hash code for this . + The hash code for this instance. + + + Converts the value of this instance to a . + The underlying UTF-16 encoded string. + + + Gets the UTF-8 encoded representation of the pre-encoded JSON text. + The UTF-8 encoded representation of the pre-encoded JSON text. + + + Gets the UTF-16 encoded representation of the pre-encoded JSON text as a . + + + Defines a custom exception object that is thrown when invalid JSON text is encountered, the defined maximum depth is passed, or the JSON text is not compatible with the type of a property on an object. + + + Initializes a new instance of the class. + + + Creates a new exception object with serialized data. + The serialized object data about the exception being thrown. + An object that contains contextual information about the source or destination. + + is . + + + Initializes a new instance of the class with a specified error message. + The context-specific error message. + + + Initializes a new instance of the class, with a specified error message and a reference to the inner exception that is the cause of this exception. + The context-specific error message. + The exception that caused the current exception. + + + Creates a new exception object to relay error information to the user. + The context-specific error message. + The path where the invalid JSON was encountered. + The line number (starting at 0) at which the invalid JSON was encountered when deserializing. + The byte count within the current line (starting at 0) where the invalid JSON was encountered. + + + Creates a new exception object to relay error information to the user that includes a specified inner exception. + The context-specific error message. + The path where the invalid JSON was encountered. + The line number (starting at 0) at which the invalid JSON was encountered when deserializing. + The byte count (starting at 0) within the current line where the invalid JSON was encountered. + The exception that caused the current exception. + + + Sets the with information about the exception. + The serialized object data about the exception being thrown. + An object that contains contextual information about the source or destination. + + + Gets the zero-based number of bytes read within the current line before the exception. + The zero-based number of bytes read within the current line before the exception. + + + Gets the zero-based number of lines read before the exception. + The zero-based number of lines read before the exception. + + + Gets a message that describes the current exception. + The error message that describes the current exception. + + + Gets The path within the JSON where the exception was encountered. + The path within the JSON where the exception was encountered. + + + Determines the naming policy used to convert a string-based name to another format, such as a camel-casing format. + + + Initializes a new instance of . + + + When overridden in a derived class, converts the specified name according to the policy. + The name to convert. + The converted name. + + + Gets the naming policy for camel-casing. + The naming policy for camel-casing. + + + Gets the naming policy for lowercase kebab-casing. + + + Gets the naming policy for uppercase kebab-casing. + + + Gets the naming policy for lowercase snake-casing. + + + Gets the naming policy for uppercase snake-casing. + + + Represents a single property for a JSON object. + + + Compares the specified UTF-8 encoded text to the name of this property. + The UTF-8 encoded text to compare against. + This value's is not . + + if the name of this property has the same UTF-8 encoding as ; otherwise, . + + + Compares the specified text as a character span to the name of this property. + The text to compare against. + This value's is not . + + if the name of this property matches ; otherwise, . + + + Compares the specified string to the name of this property. + The text to compare against. + This value's is not . + + if the name of this property matches ; otherwise . + + + Provides a string representation of the property for debugging purposes. + A string containing the uninterpreted value of the property, beginning at the declaring open-quote and ending at the last character that is part of the value. + + + Writes the property to the provided writer as a named JSON object property. + The writer to which to write the property. + + is . + + is too large to be a JSON object property. + The of this JSON property's would result in invalid JSON. + The parent has been disposed. + + + Gets the name of this property. + The name of this property. + + + Gets the value of this property. + The value of this property. + + + Provides the ability for the user to define custom behavior when reading JSON. + + + Gets or sets a value that defines whether an extra comma at the end of a list of JSON values in an object or array is allowed (and ignored) within the JSON payload being read. + + if an extra comma is allowed; otherwise, . + + + Gets or sets a value that determines how the handles comments when reading through the JSON data. + The property is being set to a value that is not a member of the enumeration. + One of the enumeration values that indicates how comments are handled. + + + Gets or sets the maximum depth allowed when reading JSON, with the default (that is, 0) indicating a maximum depth of 64. + The maximum depth is being set to a negative value. + The maximum depth allowed when reading JSON. + + + Defines an opaque type that holds and saves all the relevant state information, which must be provided to the to continue reading after processing incomplete data. + + + Constructs a new instance. + Defines the customized behavior of the that is different from the JSON RFC (for example how to handle comments, or the maximum depth allowed when reading). By default, the follows the JSON RFC strictly (comments within the JSON are invalid) and reads up to a maximum depth of 64. + The maximum depth is set to a non-positive value (< 0). + + + Gets the custom behavior to use when reading JSON data using the struct that may deviate from strict adherence to the JSON specification, which is the default behavior. + The custom behavior to use when reading JSON data. + + + Provides functionality to serialize objects or value types to JSON and to deserialize JSON into objects or value types. + + + Reads the UTF-8 encoded text representing a single JSON value into an instance specified by the . + The Stream will be read to completion. + JSON data to parse. + Metadata about the type to convert. + + or is . + The JSON is invalid, + or there is remaining data in the Stream. + A representation of the JSON value. + + + Reads the UTF-8 encoded text representing a single JSON value into a . + The Stream will be read to completion. + JSON data to parse. + The type of the object to convert to and return. + Options to control the behavior during reading. + + or is . + The JSON is invalid, the is not compatible with the JSON, or there is remaining data in the Stream. + There is no compatible for or its serializable members. + A representation of the JSON value. + + + Reads the UTF-8 encoded text representing a single JSON value into a . + The Stream will be read to completion. + JSON data to parse. + The type of the object to convert to and return. + A metadata provider for serializable types. + + , , or is . + The JSON is invalid, the is not compatible with the JSON, or there is remaining data in the Stream. + There is no compatible for or its serializable members. + The method on the provided did not return a compatible for . + A representation of the JSON value. + + + Parses the UTF-8 encoded text representing a single JSON value into an instance specified by the . + JSON text to parse. + Metadata about the type to convert. + The JSON is invalid, + or there is remaining data in the buffer. + A representation of the JSON value. + + + Parses the UTF-8 encoded text representing a single JSON value into an instance of a specified type. + The JSON text to parse. + The type of the object to convert to and return. + Options to control the behavior during parsing. + + is . + The JSON is invalid. + +-or- + + is not compatible with the JSON. + +-or- + +There is remaining data in the span beyond a single JSON value. + There is no compatible for or its serializable members. + A representation of the JSON value. + + + Parses the UTF-8 encoded text representing a single JSON value into a . + JSON text to parse. + The type of the object to convert to and return. + A metadata provider for serializable types. + + is . + The JSON is invalid, is not compatible with the JSON, or there is remaining data in the Stream. + There is no compatible for or its serializable members. + The method on the provided did not return a compatible for . + A representation of the JSON value. + + + Parses the text representing a single JSON value into an instance specified by the . + JSON text to parse. + Metadata about the type to convert. + + is . + The JSON is invalid. + +-or- + +There is remaining data in the string beyond a single JSON value. + A representation of the JSON value. + + + Parses the text representing a single JSON value into an instance of a specified type. + The JSON text to parse. + The type of the object to convert to and return. + Options to control the behavior during parsing. + + is . + The JSON is invalid. + +-or- + + is not compatible with the JSON. + +-or- + +There is remaining data in the span beyond a single JSON value. + There is no compatible for or its serializable members. + A representation of the JSON value. + + + Parses the text representing a single JSON value into a . + JSON text to parse. + The type of the object to convert to and return. + A metadata provider for serializable types. + + or is . + +-or- + + is . + The JSON is invalid. + +-or- + + is not compatible with the JSON. + +-or- + +There is remaining data in the string beyond a single JSON value. + There is no compatible for or its serializable members. + The method of the provided returns for the type to convert. + A representation of the JSON value. + + + Parses the text representing a single JSON value into an instance specified by the . + JSON text to parse. + Metadata about the type to convert. + + is . + +-or- + + is . + The JSON is invalid. + +-or- + +There is remaining data in the string beyond a single JSON value. + A representation of the JSON value. + + + Parses the text representing a single JSON value into an instance of a specified type. + The JSON text to parse. + The type of the object to convert to and return. + Options to control the behavior during parsing. + + or is . + The JSON is invalid. + +-or- + + is not compatible with the JSON. + +-or- + +There is remaining data in the string beyond a single JSON value. + There is no compatible for or its serializable members. + A representation of the JSON value. + + + Parses the text representing a single JSON value into a . + JSON text to parse. + The type of the object to convert to and return. + A metadata provider for serializable types. + + or is . + +-or- + + is . + The JSON is invalid. + +-or- + + is not compatible with the JSON. + +-or- + +There is remaining data in the string beyond a single JSON value. + There is no compatible for or its serializable members. + The method of the provided returns for the type to convert. + A representation of the JSON value. + + + Converts the representing a single JSON value into an instance specified by the . + The to convert. + Metadata about the type to convert. + + is . + +-or- + + is . + A representation of the JSON value. + + + Converts the representing a single JSON value into a . + The to convert. + The type of the object to convert to and return. + Options to control the behavior during parsing. + + or is . + + is not compatible with the JSON. + There is no compatible for or its serializable members. + A representation of the JSON value. + + + Converts the representing a single JSON value into a . + The to convert. + The type of the object to convert to and return. + A metadata provider for serializable types. + + is . + +-or- + + is . + +-or- + + is . + The JSON is invalid. + +-or- + + is not compatible with the JSON. + +-or- + +There is remaining data in the string beyond a single JSON value. + There is no compatible for or its serializable members. + The method of the provided returns for the type to convert. + A representation of the JSON value. + + + Converts the representing a single JSON value into an instance specified by the . + The to convert. + Metadata about the type to convert. + + is . + A representation of the JSON value. + + + Converts the representing a single JSON value into a . + The to convert. + The type of the object to convert to and return. + Options to control the behavior during parsing. + + is . + + is not compatible with the JSON. + There is no compatible for or its serializable members. + A representation of the JSON value. + + + Converts the representing a single JSON value into a . + The to convert. + The type of the object to convert to and return. + A metadata provider for serializable types. + + is . + +-or- + + is . + The JSON is invalid. + +-or- + + is not compatible with the JSON. + +-or- + +There is remaining data in the string beyond a single JSON value. + There is no compatible for or its serializable members. + The method of the provided returns for the type to convert. + A representation of the JSON value. + + + Converts the representing a single JSON value into an instance specified by the . + The to convert. + Metadata about the type to convert. + + is . + A representation of the JSON value. + + + Converts the representing a single JSON value into a . + The to convert. + The type of the object to convert to and return. + Options to control the behavior during parsing. + + is not compatible with the JSON. + There is no compatible for or its serializable members. + A representation of the JSON value. + + + Converts the representing a single JSON value into a . + The to convert. + The type of the object to convert to and return. + A metadata provider for serializable types. + + is . + +-or- + + is . + The JSON is invalid. + +-or- + + is not compatible with the JSON. + +-or- + +There is remaining data in the string beyond a single JSON value. + There is no compatible for or its serializable members. + The method of the provided returns for the type to convert. + A representation of the JSON value. + + + Reads one JSON value (including objects or arrays) from the provided reader into an instance specified by the . + The reader to read. + Metadata about the type to convert. + The JSON is invalid, + is not compatible with the JSON, + or a value could not be read from the reader. + + is using unsupported options. + A representation of the JSON value. + + + Reads one JSON value (including objects or arrays) from the provided reader and converts it into an instance of a specified type. + The reader to read the JSON from. + The type of the object to convert to and return. + Options to control the serializer behavior during reading. + + is . + The JSON is invalid. + +-or- + + is not compatible with the JSON. + +-or- + +A value could not be read from the reader. + + is using unsupported options. + There is no compatible for or its serializable members. + A representation of the JSON value. + + + Reads one JSON value (including objects or arrays) from the provided reader into a . + The reader to read. + The type of the object to convert to and return. + A metadata provider for serializable types. + + or is . + The JSON is invalid, is not compatible with the JSON, or a value could not be read from the reader. + + is using unsupported options. + There is no compatible for or its serializable members. + The method on the provided did not return a compatible for . + A representation of the JSON value. + + + Reads the UTF-8 encoded text representing a single JSON value into a . + The Stream will be read to completion. + JSON data to parse. + Options to control the behavior during reading. + The type to deserialize the JSON value into. + + is . + The JSON is invalid, is not compatible with the JSON, or there is remaining data in the Stream. + There is no compatible for or its serializable members. + A representation of the JSON value. + + + Reads the UTF-8 encoded text representing a single JSON value into a . + The Stream will be read to completion. + JSON data to parse. + Metadata about the type to convert. + The type to deserialize the JSON value into. + + or is . + The JSON is invalid, is not compatible with the JSON, or there is remaining data in the Stream. + There is no compatible for or its serializable members. + A representation of the JSON value. + + + Parses the UTF-8 encoded text representing a single JSON value into an instance of the type specified by a generic type parameter. + The JSON text to parse. + Options to control the behavior during parsing. + The target type of the UTF-8 encoded text. + The JSON is invalid. + +-or- + + is not compatible with the JSON. + +-or- + +There is remaining data in the span beyond a single JSON value. + There is no compatible for or its serializable members. + A representation of the JSON value. + + + Parses the UTF-8 encoded text representing a single JSON value into a . + JSON text to parse. + Metadata about the type to convert. + The type to deserialize the JSON value into. + The JSON is invalid, is not compatible with the JSON, or there is remaining data in the Stream. + There is no compatible for or its serializable members. + A representation of the JSON value. + + + Parses the text representing a single JSON value into an instance of the type specified by a generic type parameter. + The JSON text to parse. + Options to control the behavior during parsing. + The type to deserialize the JSON value into. + The JSON is invalid. + +-or- + + is not compatible with the JSON. + +-or- + +There is remaining data in the span beyond a single JSON value. + There is no compatible for or its serializable members. + A representation of the JSON value. + + + Parses the text representing a single JSON value into a . + JSON text to parse. + Metadata about the type to convert. + The type to deserialize the JSON value into. + + is . + +-or- + + is . + The JSON is invalid. + +-or- + + is not compatible with the JSON. + +-or- + +There is remaining data in the string beyond a single JSON value. + There is no compatible for or its serializable members. + A representation of the JSON value. + + + Parses the text representing a single JSON value into an instance of the type specified by a generic type parameter. + The JSON text to parse. + Options to control the behavior during parsing. + The target type of the JSON value. + + is . + The JSON is invalid. + +-or- + + is not compatible with the JSON. + +-or- + +There is remaining data in the string beyond a single JSON value. + There is no compatible for or its serializable members. + A representation of the JSON value. + + + Parses the text representing a single JSON value into a . + JSON text to parse. + Metadata about the type to convert. + The type to deserialize the JSON value into. + + is . + +-or- + + is . + The JSON is invalid. + +-or- + + is not compatible with the JSON. + +-or- + +There is remaining data in the string beyond a single JSON value. + There is no compatible for or its serializable members. + A representation of the JSON value. + + + Converts the representing a single JSON value into a . + The to convert. + Options to control the behavior during parsing. + The type to deserialize the JSON value into. + + is . + + is not compatible with the JSON. + There is no compatible for or its serializable members. + A representation of the JSON value. + + + Converts the representing a single JSON value into a . + The to convert. + Metadata about the type to convert. + The type to deserialize the JSON value into. + + is . + +-or- + + is . + + is not compatible with the JSON. + There is no compatible for or its serializable members. + A representation of the JSON value. + + + Converts the representing a single JSON value into a . + The to convert. + Options to control the behavior during parsing. + The type to deserialize the JSON value into. + + is not compatible with the JSON. + There is no compatible for or its serializable members. + A representation of the JSON value. + + + Converts the representing a single JSON value into a . + The to convert. + Metadata about the type to convert. + The type to deserialize the JSON value into. + + is . + + is not compatible with the JSON. + There is no compatible for or its serializable members. + A representation of the JSON value. + + + Converts the representing a single JSON value into a . + The to convert. + Options to control the behavior during parsing. + The type to deserialize the JSON value into. + + is not compatible with the JSON. + There is no compatible for or its serializable members. + A representation of the JSON value. + + + Converts the representing a single JSON value into a . + The to convert. + Metadata about the type to convert. + The type to deserialize the JSON value into. + + is . + + is not compatible with the JSON. + There is no compatible for or its serializable members. + A representation of the JSON value. + + + Reads one JSON value (including objects or arrays) from the provided reader into an instance of the type specified by a generic type parameter. + The reader to read the JSON from. + Options to control serializer behavior during reading. + The target type of the JSON value. + The JSON is invalid. + +-or- + + is not compatible with the JSON. + +-or- + +A value could not be read from the reader. + + uses unsupported options. + There is no compatible for or its serializable members. + A representation of the JSON value. + + + Reads one JSON value (including objects or arrays) from the provided reader into a . + The reader to read. + Metadata about the type to convert. + The type to deserialize the JSON value into. + The JSON is invalid, is not compatible with the JSON, or a value could not be read from the reader. + + is using unsupported options. + There is no compatible for or its serializable members. + A representation of the JSON value. + + + Reads the UTF-8 encoded text representing a single JSON value into an instance specified by the . + The Stream will be read to completion. + JSON data to parse. + Metadata about the type to convert. + The that can be used to cancel the read operation. + + or is . + The JSON is invalid, + or when there is remaining data in the Stream. + A representation of the JSON value. + + + Asynchronously reads the UTF-8 encoded text representing a single JSON value into an instance of a specified type. The stream will be read to completion. + The JSON data to parse. + The type of the object to convert to and return. + Options to control the behavior during reading. + A cancellation token that may be used to cancel the read operation. + + or is . + The JSON is invalid. + +-or- + + is not compatible with the JSON. + +-or- + +There is remaining data in the stream. + There is no compatible for or its serializable members. + A representation of the JSON value. + + + Reads the UTF-8 encoded text representing a single JSON value into a . + The Stream will be read to completion. + JSON data to parse. + The type of the object to convert to and return. + A metadata provider for serializable types. + The that can be used to cancel the read operation. + + , , or is . + The JSON is invalid, the is not compatible with the JSON, or there is remaining data in the Stream. + There is no compatible for or its serializable members. + The method on the provided did not return a compatible for . + A representation of the JSON value. + + + Asynchronously reads the UTF-8 encoded text representing a single JSON value into an instance of a type specified by a generic type parameter. The stream will be read to completion. + The JSON data to parse. + Options to control the behavior during reading. + A token that may be used to cancel the read operation. + The target type of the JSON value. + The JSON is invalid. + +-or- + + is not compatible with the JSON. + +-or- + +There is remaining data in the stream. + There is no compatible for or its serializable members. + + is . + A representation of the JSON value. + + + Reads the UTF-8 encoded text representing a single JSON value into a . + The Stream will be read to completion. + JSON data to parse. + Metadata about the type to convert. + The which may be used to cancel the read operation. + The type to deserialize the JSON value into. + + or is . + The JSON is invalid, is not compatible with the JSON, or there is remaining data in the Stream. + There is no compatible for or its serializable members. + A representation of the JSON value. + + + Wraps the UTF-8 encoded text into an that can be used to deserialize root-level JSON arrays in a streaming manner. + JSON data to parse. + Options to control the behavior during reading. + The which may be used to cancel the read operation. + The element type to deserialize asynchronously. + + is . + An representation of the provided JSON array. + + + Wraps the UTF-8 encoded text into an that can be used to deserialize root-level JSON arrays in a streaming manner. + JSON data to parse. + Metadata about the element type to convert. + The that can be used to cancel the read operation. + The element type to deserialize asynchronously. + + or is . + An representation of the provided JSON array. + + + Converts the provided value to UTF-8 encoded JSON text and write it to the . + The UTF-8 to write to. + The value to convert. + Metadata about the type to convert. + + is . + + does not match the type of . + + + Converts the provided value to UTF-8 encoded JSON text and write it to the . + The UTF-8 to write to. + The value to convert. + The type of the to convert. + Options to control the conversion behavior. + + is not compatible with . + + or is . + There is no compatible for or its serializable members. + + + Converts the provided value to UTF-8 encoded JSON text and write it to the . + The UTF-8 to write to. + The value to convert. + The type of the to convert. + A metadata provider for serializable types. + + is not compatible with . + + , , or is . + There is no compatible for or its serializable members. + + + Converts the provided value into a . + The value to convert. + Metadata about the type to convert. + + is . + + does not match the type of . + A representation of the value. + + + Converts the value of a specified type into a JSON string. + The value to convert. + The type of the to convert. + Options to control the conversion behavior. + + is not compatible with . + + is . + There is no compatible for or its serializable members. + The JSON string representation of the value. + + + Converts the provided value into a . + The value to convert. + The type of the to convert. + A metadata provider for serializable types. + There is no compatible for or its serializable members. + The method of the provided returns for the type to convert. + + or is . + A representation of the value. + + + Writes one JSON value (including objects or arrays) to the provided writer. + The writer to write. + The value to convert and write. + Metadata about the type to convert. + + or is . + + does not match the type of . + + + Writes the JSON representation of the specified type to the provided writer. + The JSON writer to write to. + The value to convert and write. + The type of the to convert. + Options to control serialization behavior. + + is not compatible with + + or is . + There is no compatible for or its serializable members. + + + Writes one JSON value (including objects or arrays) to the provided writer. + A JSON writer to write to. + The value to convert and write. + The type of the to convert. + A metadata provider for serializable types. + + is not compatible with . + + or is . + There is no compatible for or its serializable members. + The method of the provided returns for the type to convert. + + + Converts the value of a type specified by a generic type parameter into a JSON string. + The value to convert. + Options to control serialization behavior. + The type of the value to serialize. + There is no compatible for or its serializable members. + A JSON string representation of the value. + + + Converts the provided value into a . + The value to convert. + Metadata about the type to convert. + The type of the value to serialize. + There is no compatible for or its serializable members. + + is . + A representation of the value. + + + Converts the provided value to UTF-8 encoded JSON text and write it to the . + The UTF-8 to write to. + The value to convert. + Options to control the conversion behavior. + The type of the value to serialize. + + is . + There is no compatible for or its serializable members. + + + Converts the provided value to UTF-8 encoded JSON text and write it to the . + The UTF-8 to write to. + The value to convert. + Metadata about the type to convert. + The type of the value to serialize. + + is . + There is no compatible for or its serializable members. + + + Writes the JSON representation of a type specified by a generic type parameter to the provided writer. + A JSON writer to write to. + The value to convert and write. + Options to control serialization behavior. + The type of the value to serialize. + + is . + There is no compatible for or its serializable members. + + + Writes one JSON value (including objects or arrays) to the provided writer. + The writer to write. + The value to convert and write. + Metadata about the type to convert. + The type of the value to serialize. + + or is . + There is no compatible for or its serializable members. + + + Converts the provided value to UTF-8 encoded JSON text and writes it to the . + The UTF-8 to write to. + The value to convert. + Metadata about the type to convert. + The that can be used to cancel the write operation. + + is . + + does not match the type of . + A task that represents the asynchronous write operation. + + + Asynchronously converts the value of a specified type to UTF-8 encoded JSON text and writes it to the specified stream. + The UTF-8 stream to write to. + The value to convert. + The type of the to convert. + Options to control serialization behavior. + A token that may be used to cancel the write operation. + + is not compatible with . + + or is . + There is no compatible for or its serializable members. + A task that represents the asynchronous write operation. + + + Converts the provided value to UTF-8 encoded JSON text and write it to the . + The UTF-8 to write to. + The value to convert. + The type of the to convert. + A metadata provider for serializable types. + The that can be used to cancel the write operation. + + is not compatible with . + + , , or is . + There is no compatible for or its serializable members. + A task that represents the asynchronous write operation. + + + Asynchronously converts a value of a type specified by a generic type parameter to UTF-8 encoded JSON text and writes it to a stream. + The UTF-8 stream to write to. + The value to convert. + Options to control serialization behavior. + A token that may be used to cancel the write operation. + The type of the value to serialize. + + is . + There is no compatible for or its serializable members. + A task that represents the asynchronous write operation. + + + Converts the provided value to UTF-8 encoded JSON text and write it to the . + The UTF-8 to write to. + The value to convert. + Metadata about the type to convert. + The that can be used to cancel the write operation. + The type of the value to serialize. + + is . + There is no compatible for or its serializable members. + A task that represents the asynchronous write operation. + + + Converts the provided value into a . + The value to convert. + Metadata about the type to convert. + + is . + + does not match the type of . + A representation of the value. + + + Converts the provided value into a . + The value to convert. + The type of the to convert. + Options to control the conversion behavior. + + is not compatible with . + + is . + There is no compatible for or its serializable members. + A representation of the value. + + + Converts the provided value into a . + The value to convert. + The type of the to convert. + A metadata provider for serializable types. + There is no compatible for or its serializable members. + The method of the provided returns for the type to convert. + + or is . + A representation of the value. + + + Converts the provided value into a . + The value to convert. + Options to control the conversion behavior. + The type of the value to serialize. + There is no compatible for or its serializable members. + A representation of the JSON value. + + + Converts the provided value into a . + The value to convert. + Metadata about the type to convert. + The type of the value to serialize. + There is no compatible for or its serializable members. + + is . + A representation of the value. + + + Converts the provided value into a . + The value to convert. + Metadata about the type to convert. + + is . + + does not match the type of . + A representation of the value. + + + Converts the provided value into a . + The value to convert. + The type of the to convert. + Options to control the conversion behavior. + + is not compatible with . + + is . + There is no compatible for or its serializable members. + A representation of the value. + + + Converts the provided value into a . + The value to convert. + The type of the to convert. + A metadata provider for serializable types. + There is no compatible for or its serializable members. + The method of the provided returns for the type to convert. + + or is . + A representation of the value. + + + Converts the provided value into a . + The value to convert. + Options to control the conversion behavior. + The type of the value to serialize. + There is no compatible for or its serializable members. + A representation of the JSON value. + + + Converts the provided value into a . + The value to convert. + Metadata about the type to convert. + The type of the value to serialize. + There is no compatible for or its serializable members. + + is . + A representation of the value. + + + Converts the provided value into a . + The value to convert. + Metadata about the type to convert. + + is . + + does not match the type of . + A representation of the value. + + + Converts the provided value into a . + The value to convert. + The type of the to convert. + Options to control the conversion behavior. + + is not compatible with . + + is . + There is no compatible for or its serializable members. + A representation of the value. + + + Converts the provided value into a . + The value to convert. + The type of the to convert. + A metadata provider for serializable types. + There is no compatible for or its serializable members. + The method of the provided returns for the type to convert. + + or is . + A representation of the value. + + + Converts the provided value into a . + The value to convert. + Options to control the conversion behavior. + The type of the value to serialize. + There is no compatible for or its serializable members. + A representation of the JSON value. + + + Converts the provided value into a . + The value to convert. + Metadata about the type to convert. + The type of the value to serialize. + There is no compatible for or its serializable members. + + is . + A representation of the value. + + + Converts the provided value into a array. + The value to convert. + Metadata about the type to convert. + + is . + + does not match the type of . + A UTF-8 representation of the value. + + + Converts a value of the specified type into a JSON string, encoded as UTF-8 bytes. + The value to convert. + The type of the to convert. + Options to control the conversion behavior. + + is not compatible with . + + is . + There is no compatible for or its serializable members. + A JSON string representation of the value, encoded as UTF-8 bytes. + + + Converts the provided value into a array. + The value to convert. + The type of the to convert. + A metadata provider for serializable types. + + is not compatible with . + + is . + There is no compatible for or its serializable members. + The method of the provided returns for the type to convert. + A UTF-8 representation of the value. + + + Converts the value of a type specified by a generic type parameter into a JSON string, encoded as UTF-8 bytes. + The value to convert. + Options to control the conversion behavior. + The type of the value. + There is no compatible for or its serializable members. + A JSON string representation of the value, encoded as UTF-8 bytes. + + + Converts the provided value into a array. + The value to convert. + Metadata about the type to convert. + The type of the value to serialize. + There is no compatible for or its serializable members. + + is . + A UTF-8 representation of the value. + + + Indicates whether unconfigured instances should be set to use the reflection-based . + + + Specifies scenario-based default serialization options that can be used to construct a instance. + + + + General-purpose option values. These are the same settings that are applied if a member isn't specified. + For information about the default property values that are applied, see JsonSerializerOptions properties. + + + + + Option values appropriate to Web-based scenarios. + This member implies that: + - Property names are treated as case-insensitive. + - "camelCase" name formatting should be employed. + - Quoted numbers (JSON strings for number properties) are allowed. + + + + Provides options to be used with . + + + Initializes a new instance of the class. + + + Constructs a new instance with a predefined set of options determined by the specified . + The to reason about. + + + Copies the options from a instance to a new instance. + The options instance to copy options from. + + is . + + + Appends a new to the metadata resolution of the current instance. + The generic definition of the specified context type. + + + Returns the converter for the specified type. + The type to return a converter for. + The configured for returned an invalid converter. + There is no compatible for or its serializable members. + The first converter that supports the given type. + + + Gets the contract metadata resolved by the current instance. + The type to resolve contract metadata for. + + is . + + is not valid for serialization. + The contract metadata resolved for . + + + Marks the current instance as read-only to prevent any further user modification. + The instance does not specify a setting. + + + Marks the current instance as read-only preventing any further user modification. + Populates unconfigured properties with the reflection-based default. + + The instance does not specify a setting. Thrown when is . + -or- + The feature switch has been turned off. + + + + Tries to get the contract metadata resolved by the current instance. + The type to resolve contract metadata for. + When this method returns, contains the resolved contract metadata, or if the contract could not be resolved. + + is . + + is not valid for serialization. + + if a contract for was found, or otherwise. + + + Get or sets a value that indicates whether an extra comma at the end of a list of JSON values in an object or array is allowed (and ignored) within the JSON payload being deserialized. + This property was set after serialization or deserialization has occurred. + + if an extra comma at the end of a list of JSON values in an object or array is allowed (and ignored); otherwise. + + + Gets the list of user-defined converters that were registered. + The list of custom converters. + + + Gets a read-only, singleton instance of that uses the default configuration. + + + Gets or sets the default buffer size, in bytes, to use when creating temporary buffers. + The buffer size is less than 1. + This property was set after serialization or deserialization has occurred. + The default buffer size in bytes. + + + Gets or sets a value that determines when properties with default values are ignored during serialization or deserialization. + The default value is . + This property is set to . + This property is set after serialization or deserialization has occurred. + +-or- + + has been set to . These properties cannot be used together. + + + Gets or sets the policy used to convert a key's name to another format, such as camel-casing. + The policy used to convert a key's name to another format. + + + Gets or sets the encoder to use when escaping strings, or to use the default encoder. + The JavaScript character encoding. + + + Gets or sets a value that indicates whether values are ignored during serialization and deserialization. The default value is . + This property was set after serialization or deserialization has occurred. + +-or- + + has been set to a non-default value. These properties cannot be used together. + + if null values are ignored during serialization and deserialization; otherwise, . + + + Gets or sets a value that indicates whether read-only fields are ignored during serialization. A field is read-only if it is marked with the keyword. The default value is . + This property is set after serialization or deserialization has occurred. + + if read-only fields are ignored during serialization; otherwise. + + + Gets a value that indicates whether read-only properties are ignored during serialization. The default value is . + This property was set after serialization or deserialization has occurred. + + if read-only properties are ignored during serialization; otherwise, . + + + Gets or sets a value that indicates whether fields are handled during serialization and deserialization. + The default value is . + This property is set after serialization or deserialization has occurred. + + if fields are included during serialization; otherwise, . + + + Gets a value that indicates whether the current instance has been locked for user modification. + + + Gets or sets the maximum depth allowed when serializing or deserializing JSON, with the default value of 0 indicating a maximum depth of 64. + This property was set after serialization or deserialization has occurred. + The max depth is set to a negative value. + The maximum depth allowed when serializing or deserializing JSON. + + + Gets or sets an object that specifies how number types should be handled when serializing or deserializing. + This property is set after serialization or deserialization has occurred. + + + Gets or sets the preferred object creation handling for properties when deserializing JSON. + When set to , all properties that are capable of reusing the existing instance will be populated. + + + Gets or sets a value that indicates whether a property's name uses a case-insensitive comparison during deserialization. The default value is . + + if property names are compared case-insensitively; otherwise, . + + + Gets or sets a value that specifies the policy used to convert a property's name on an object to another format, such as camel-casing, or to leave property names unchanged. + A property naming policy, or to leave property names unchanged. + + + Gets or sets a value that defines how comments are handled during deserialization. + This property was set after serialization or deserialization has occurred. + The comment handling enum is set to a value that is not supported (or not within the enum range). + A value that indicates whether comments are allowed, disallowed, or skipped. + + + Gets or sets an object that specifies how object references are handled when reading and writing JSON. + + + Gets or sets the contract resolver used by this instance. + The property is set after serialization or deserialization has occurred. + + + Gets the list of chained contract resolvers used by this instance. + + + Gets or sets an object that specifies how deserializing a type declared as an is handled during deserialization. + + + Gets or sets an object that specifies how handles JSON properties that cannot be mapped to a specific .NET member when deserializing object types. + + + Gets or sets a value that indicates whether JSON should use pretty printing. By default, JSON is serialized without any extra white space. + This property was set after serialization or deserialization has occurred. + + if JSON is pretty printed on serialization; otherwise, . The default is . + + + Defines the various JSON tokens that make up a JSON text. + + + The token type is a comment string. + + + The token type is the end of a JSON array. + + + The token type is the end of a JSON object. + + + The token type is the JSON literal false. + + + There is no value (as distinct from ). This is the default token type if no data has been read by the . + + + The token type is the JSON literal null. + + + The token type is a JSON number. + + + The token type is a JSON property name. + + + The token type is the start of a JSON array. + + + The token type is the start of a JSON object. + + + The token type is a JSON string. + + + The token type is the JSON literal true. + + + Specifies the data type of a JSON value. + + + A JSON array. + + + The JSON value false. + + + The JSON value null. + + + A JSON number. + + + A JSON object. + + + A JSON string. + + + The JSON value true. + + + There is no value (as distinct from ). + + + Allows the user to define custom behavior when writing JSON using the . + + + Gets or sets the encoder to use when escaping strings, or to use the default encoder. + The JavaScript character encoder used to override the escaping behavior. + + + Gets or sets a value that indicates whether the should format the JSON output, which includes indenting nested JSON tokens, adding new lines, and adding white space between property names and values. + + if the JSON output is formatted; if the JSON is written without any extra white space. The default is . + + + Gets or sets the maximum depth allowed when writing JSON, with the default (that is, 0) indicating a max depth of 1000. + Thrown when the max depth is set to a negative value. + + + Gets or sets a value that indicates whether the should skip structural validation and allow the user to write invalid JSON. + + if structural validation is skipped and invalid JSON is allowed; if an is thrown on any attempt to write invalid JSON. + + + Represents a mutable JSON array. + + + Initializes a new instance of the class that is empty. + Options to control the behavior. + + + Initializes a new instance of the class that contains items from the specified array. + The items to add to the new . + + + Initializes a new instance of the class that contains items from the specified params array. + Options to control the behavior. + The items to add to the new . + + + Adds a to the end of the . + The to be added to the end of the . + + + Adds an object to the end of the . + The object to be added to the end of the . + The type of object to be added. + + + Removes all elements from the . + + + Determines whether an element is in the . + The object to locate in the . + + if is found in the ; otherwise, . + + + Initializes a new instance of the class that contains items from the specified . + The . + Options to control the behavior. + The is not a . + The new instance of the class that contains items from the specified . + + + Returns an enumerator that iterates through the . + An for the . + + + Returns an enumerable that wraps calls to . + The type of the value to obtain from the . + An enumerable iterating over values of the array. + + + The object to locate in the . + The to locate in the . + The index of item if found in the list; otherwise, -1. + + + Inserts an element into the at the specified index. + The zero-based index at which should be inserted. + The to insert. + + is less than 0 or is greater than . + + + Removes the first occurrence of a specific from the . + The to remove from the . + + if is successfully removed; otherwise, . + + + Removes the element at the specified index of the . + The zero-based index of the element to remove. + + is less than 0 or is greater than . + + + Copies the entire to a compatible one-dimensional array, starting at the specified index of the target array. + The one-dimensional that is the destination of the elements copied from . The Array must have zero-based indexing. + The zero-based index in at which copying begins. + + is . + + is less than 0. + The number of elements in the source ICollection is greater than the available space from to the end of the destination . + + + Returns an enumerator that iterates through the . + A for the . + + + Writes the into the provided as JSON. + The . + Options to control the serialization behavior. + + + Gets the number of elements contained in the . + The number of elements contained in the . + + + Returns . + + if the is read-only; otherwise, . + + + The base class that represents a single node within a mutable JSON document. + + + Casts to the derived type. + The node is not a . + A . + + + Casts to the derived type. + The node is not a . + A . + + + Casts to the derived type. + The node is not a . + A . + + + Creates a new instance of the class. All child nodes are recursively cloned. + A new cloned instance of the current node. + + + Compares the values of two nodes, including the values of all descendant nodes. + The to compare. + The to compare. + + if the tokens are equal; otherwise . + + + Returns the index of the current node from the parent . + The current parent is not a . + The index of the current node. + + + Gets the JSON path. + The JSON Path value. + + + Returns the property name of the current node from the parent object. + The current parent is not a . + The property name of the current node. + + + Gets the value for the current . + The type of the value to obtain from the . + The current cannot be represented as a {TValue}. + The current is not a or is not compatible with {TValue}. + A value converted from the instance. + + + Returns the of the current instance. + The json value kind of the current instance. + + + Defines an explicit conversion of a given to a . + A to explicitly convert. + A value converted from the instance. + + + Defines an explicit conversion of a given to a . + A to explicitly convert. + A value converted from the instance. + + + Defines an explicit conversion of a given to a . + A to explicitly convert. + A value converted from the instance. + + + Defines an explicit conversion of a given to a . + A to explicitly convert. + A value converted from the instance. + + + Defines an explicit conversion of a given to a . + A to explicitly convert. + A value converted from the instance. + + + Defines an explicit conversion of a given to a . + A to explicitly convert. + A value converted from the instance. + + + Defines an explicit conversion of a given to a . + A to explicitly convert. + A value converted from the instance. + + + Defines an explicit conversion of a given to a . + A to explicitly convert. + A value converted from the instance. + + + Defines an explicit conversion of a given to an . + A to explicitly convert. + A value converted from the instance. + + + Defines an explicit conversion of a given to an . + A to explicitly convert. + A value converted from the instance. + + + Defines an explicit conversion of a given to an . + A to explicitly convert. + A value converted from the instance. + + + Defines an explicit conversion of a specified nullable to a nullable . + A to explicitly convert. + A value converted from the instance. + + + Defines an explicit conversion of a specified nullable to a nullable . + A to explicitly convert. + A value converted from the instance. + + + Defines an explicit conversion of a given to a . + A to explicitly convert. + A value converted from the instance. + + + Defines an explicit conversion of a specified nullable to a nullable . + A to explicitly convert. + A value converted from the instance. + + + Defines an explicit conversion of a specified nullable to a nullable . + A to explicitly convert. + A value converted from the instance. + + + Defines an explicit conversion of a specified nullable to a nullable . + A to explicitly convert. + A value converted from the instance. + + + Defines an explicit conversion of a specified nullable to a nullable . + A to explicitly convert. + A value converted from the instance. + + + Defines an explicit conversion of a specified nullable to a nullable . + A to explicitly convert. + A value converted from the instance. + + + Defines an explicit conversion of a specified nullable to a nullable . + A to explicitly convert. + A value converted from the instance. + + + Defines an explicit conversion of a specified nullable to a nullable . + A to explicitly convert. + A value converted from the instance. + + + Defines an explicit conversion of a specified nullable to a nullable . + A to explicitly convert. + A value converted from the instance. + + + Defines an explicit conversion of a specified nullable to a nullable . + A to explicitly convert. + A value converted from the instance. + + + Defines an explicit conversion of a specified nullable to a nullable . + A to explicitly convert. + A value converted from the instance. + + + Defines an explicit conversion of a specified nullable to a nullable . + A to explicitly convert. + A value converted from the instance. + + + Defines an explicit conversion of a specified nullable to a nullable . + A to explicitly convert. + A value converted from the instance. + + + Defines an explicit conversion of a specified nullable to a nullable . + A to explicitly convert. + A value converted from the instance. + + + Defines an explicit conversion of a given to an . + A to explicitly convert. + A value converted from the instance. + + + Defines an explicit conversion of a given to a . + A to explicitly convert. + A value converted from the instance. + + + Defines an explicit conversion of a specified nullable to a nullable . + A to explicitly convert. + A value converted from the instance. + + + Defines an explicit conversion of a given to a . + A to explicitly convert. + A value converted from the instance. + + + Defines an explicit conversion of a given to a . + A to explicitly convert. + A value converted from the instance. + + + Defines an explicit conversion of a given to a . + A to explicitly convert. + A value converted from the instance. + + + Defines an implicit conversion of a given to a . + A to implicitly convert. + A instance converted from the parameter. + + + Defines an implicit conversion of a given to a . + A to implicitly convert. + A instance converted from the parameter. + + + Defines an implicit conversion of a given to a . + A to implicitly convert. + A instance converted from the parameter. + + + Defines an implicit conversion of a given to a . + A to implicitly convert. + A instance converted from the parameter. + + + Defines an implicit conversion of a given to a . + A to implicitly convert. + A instance converted from the parameter. + + + Defines an implicit conversion of a given to a . + A to implicitly convert. + A instance converted from the parameter. + + + Defines an implicit conversion of a given to a . + A to implicitly convert. + A instance converted from the parameter. + + + Defines an implicit conversion of a given to a . + A to implicitly convert. + A instance converted from the parameter. + + + Defines an implicit conversion of a given to a . + A to implicitly convert. + A instance converted from the parameter. + + + Defines an implicit conversion of a given to a . + A to implicitly convert. + A instance converted from the parameter. + + + Defines an implicit conversion of a given to a . + A to implicitly convert. + A instance converted from the parameter. + + + Defines an implicit conversion of a specified nullable to a nullable . + A to implicitly convert. + A instance converted from the parameter. + + + Defines an implicit conversion of a specified nullable to a . + A to implicitly convert. + A instance converted from the parameter. + + + Defines an implicit conversion of a specified nullable to a . + A to implicitly convert. + A instance converted from the parameter. + + + Defines an implicit conversion of a specified nullable to a . + A to implicitly convert. + A instance converted from the parameter. + + + Defines an implicit conversion of a specified nullable to a . + A to implicitly convert. + A instance converted from the parameter. + + + Defines an implicit conversion of a specified nullable to a . + A to implicitly convert. + A instance converted from the parameter. + + + Defines an implicit conversion of a specified nullable to a . + A to implicitly convert. + A instance converted from the parameter. + + + Defines an implicit conversion of a specified nullable to a . + A to implicitly convert. + A instance converted from the parameter. + + + Defines an implicit conversion of a specified nullable to a . + A to implicitly convert. + A instance converted from the parameter. + + + Defines an implicit conversion of a specified nullable to a . + A to implicitly convert. + A instance converted from the parameter. + + + Defines an implicit conversion of a specified nullable to a . + A to implicitly convert. + A instance converted from the parameter. + + + Defines an implicit conversion of a specified nullable to a . + A to implicitly convert. + A instance converted from the parameter. + + + Defines an implicit conversion of a specified nullable to a . + A to implicitly convert. + A instance converted from the parameter. + + + Defines an implicit conversion of a specified nullable to a . + A to implicitly convert. + A instance converted from the parameter. + + + Defines an implicit conversion of a specified nullable to a . + A to implicitly convert. + A instance converted from the parameter. + + + Defines an implicit conversion of a specified nullable to a . + A to implicitly convert. + A instance converted from the parameter. + + + Defines an implicit conversion of a specified nullable to a . + A to implicitly convert. + A instance converted from the parameter. + + + Defines an implicit conversion of a specified nullable to a . + A to implicitly convert. + A instance converted from the parameter. + + + Defines an implicit conversion of a specified nullable to a . + A to implicitly convert. + A instance converted from the parameter. + + + Defines an implicit conversion of a specified nullable to a . + A to implicitly convert. + A instance converted from the parameter. + + + Defines an implicit conversion of a specified nullable to a . + A to implicitly convert. + A instance converted from the parameter. + + + Defines an implicit conversion of a specified nullable to a . + A to implicitly convert. + A instance converted from the parameter. + + + Parses a as UTF-8-encoded data representing a single JSON value into a . The Stream will be read to completion. + JSON text to parse. + Options to control the node behavior after parsing. + Options to control the document behavior during parsing. + + does not represent a valid single JSON value. + A representation of the JSON value. + + + Parses text representing a single JSON value. + JSON text to parse. + Options to control the node behavior after parsing. + Options to control the document behavior during parsing. + + does not represent a valid single JSON value. + A representation of the JSON value. + + + Parses text representing a single JSON value. + JSON text to parse. + Options to control the node behavior after parsing. + Options to control the document behavior during parsing. + + is . + + does not represent a valid single JSON value. + A representation of the JSON value. + + + Parses one JSON value (including objects or arrays) from the provided reader. + The reader to read. + Options to control the behavior. + + is using unsupported options. + The current token does not start or represent a value. + A value could not be read from the reader. + The from the reader. + + + Parses a as UTF-8 encoded data representing a single JSON value into a . The stream will be read to completion. + The JSON text to parse. + Options to control the node behavior after parsing. + Options to control the document behavior during parsing. + The token to monitor for cancellation requests. + + does not represent a valid single JSON value. + A to produce a representation of the JSON value. + + + Replaces this node with a new value. + The value that replaces this node. + The type of value to be replaced. + + + Converts the current instance to string in JSON format. + Options to control the serialization behavior. + JSON representation of current instance. + + + Gets a string representation for the current value appropriate to the node type. + A string representation for the current value appropriate to the node type. + + + Writes the into the provided as JSON. + The . + Options to control the serialization behavior. + The parameter is . + + + Gets or sets the element at the specified index. + The zero-based index of the element to get or set. + + is less than 0 or is greater than the number of properties. + The current is not a . + + + Gets or sets the element with the specified property name. + If the property is not found, is returned. + The name of the property to return. + + is . + The current is not a . + + + Gets the options to control the behavior. + + + Gets the parent . + If there is no parent, is returned. + A parent can either be a or a . + + + Gets the root . + + + Options to control behavior. + + + Gets or sets a value that indicates whether property names on are case insensitive. + + if property names are case insensitive; if property names are case sensitive. + + + Represents a mutable JSON object. + + + Initializes a new instance of the class that contains the specified . + The properties to be added. + Options to control the behavior. + + + Initializes a new instance of the class that is empty. + Options to control the behavior. + + + Adds the specified property to the . + The KeyValuePair structure representing the property name and value to add to the . + An element with the same property name already exists in the . + The property name of is . + + + Adds an element with the provided property name and value to the . + The property name of the element to add. + The value of the element to add. + + is . + An element with the same property name already exists in the . + + + Removes all elements from the . + + + Determines whether the contains an element with the specified property name. + The property name to locate in the . + + is . + + if the contains an element with the specified property name; otherwise, . + + + Initializes a new instance of the class that contains properties from the specified . + The . + Options to control the behavior. + The new instance of the class that contains properties from the specified . + + + Returns an enumerator that iterates through the . + An enumerator that iterates through the . + + + Removes the element with the specified property name from the . + The property name of the element to remove. + + is . + + if the element is successfully removed; otherwise, . + + + Determines whether the contains a specific property name and reference. + The element to locate in the . + + if the contains an element with the property name; otherwise, . + + + Copies the elements of the to an array of type KeyValuePair starting at the specified array index. + The one-dimensional Array that is the destination of the elements copied from . + The zero-based index in at which copying begins. + + is . + + is less than 0. + The number of elements in the source ICollection is greater than the available space from to the end of the destination . + + + Removes a key and value from the . + The KeyValuePair structure representing the property name and value to remove from the . + + if the element is successfully removed; otherwise, . + + + Gets the value associated with the specified property name. + The property name of the value to get. + When this method returns, contains the value associated with the specified property name, if the property name is found; otherwise, . + + is . + + if the contains an element with the specified property name; otherwise, . + + + Returns an enumerator that iterates through the . + An enumerator that iterates through the . + + + Returns the value of a property with the specified name. + The name of the property to return. + The JSON value of the property with the specified name. + + if a property with the specified name was found; otherwise, . + + + Writes the into the provided as JSON. + The . + Options to control the serialization behavior. + + + Gets the number of elements contained in . + The number of elements contained in the . + + + Returns . + + if the is read-only; otherwise, . + + + Gets a collection containing the property names in the . + An containing the keys of the object that implements . + + + Gets a collection containing the property values in the . + An containing the values in the object that implements . + + + Represents a mutable JSON value. + + + Initializes a new instance of the class that contains the specified value. + The underlying value of the new instance. + Options to control the behavior. + The new instance of the class that contains the specified value. + + + Initializes a new instance of the class that contains the specified value. + The underlying value of the new instance. + Options to control the behavior. + The new instance of the class that contains the specified value. + + + Initializes a new instance of the class that contains the specified value. + The underlying value of the new instance. + Options to control the behavior. + The new instance of the class that contains the specified value. + + + Initializes a new instance of the class that contains the specified value. + The underlying value of the new instance. + Options to control the behavior. + The new instance of the class that contains the specified value. + + + Initializes a new instance of the class that contains the specified value. + The underlying value of the new instance. + Options to control the behavior. + The new instance of the class that contains the specified value. + + + Initializes a new instance of the class that contains the specified value. + The underlying value of the new instance. + Options to control the behavior. + The new instance of the class that contains the specified value. + + + Initializes a new instance of the class that contains the specified value. + The underlying value of the new instance. + Options to control the behavior. + The new instance of the class that contains the specified value. + + + Initializes a new instance of the class that contains the specified value. + The underlying value of the new instance. + Options to control the behavior. + The new instance of the class that contains the specified value. + + + Initializes a new instance of the class that contains the specified value. + The underlying value of the new instance. + Options to control the behavior. + The new instance of the class that contains the specified value. + + + Initializes a new instance of the class that contains the specified value. + The underlying value of the new instance. + Options to control the behavior. + The new instance of the class that contains the specified value. + + + Initializes a new instance of the class that contains the specified value. + The underlying value of the new instance. + Options to control the behavior. + The new instance of the class that contains the specified value. + + + Initializes a new instance of the class that contains the specified value. + The underlying value of the new instance. + Options to control the behavior. + The new instance of the class that contains the specified value. + + + Initializes a new instance of the class that contains the specified value. + The underlying value of the new instance. + Options to control the behavior. + The new instance of the class that contains the specified value. + + + Initializes a new instance of the class that contains the specified value. + The underlying value of the new instance. + Options to control the behavior. + The new instance of the class that contains the specified value. + + + Initializes a new instance of the class that contains the specified value. + The underlying value of the new instance. + Options to control the behavior. + The new instance of the class that contains the specified value. + + + Initializes a new instance of the class that contains the specified value. + The underlying value of the new instance. + Options to control the behavior. + The new instance of the class that contains the specified value. + + + Initializes a new instance of the class that contains the specified value. + The underlying value of the new instance. + Options to control the behavior. + The new instance of the class that contains the specified value. + + + Initializes a new instance of the class that contains the specified value. + The underlying value of the new instance. + Options to control the behavior. + The new instance of the class that contains the specified value. + + + Initializes a new instance of the class that contains the specified value. + The underlying value of the new instance. + Options to control the behavior. + The new instance of the class that contains the specified value. + + + Initializes a new instance of the class that contains the specified value. + The underlying value of the new instance. + Options to control the behavior. + The new instance of the class that contains the specified value. + + + Initializes a new instance of the class that contains the specified value. + The underlying value of the new instance. + Options to control the behavior. + The new instance of the class that contains the specified value. + + + Initializes a new instance of the class that contains the specified value. + The underlying value of the new instance. + Options to control the behavior. + The new instance of the class that contains the specified value. + + + Initializes a new instance of the class that contains the specified value. + The underlying value of the new instance. + Options to control the behavior. + The new instance of the class that contains the specified value. + + + Initializes a new instance of the class that contains the specified value. + The underlying value of the new instance. + Options to control the behavior. + The new instance of the class that contains the specified value. + + + Initializes a new instance of the class that contains the specified value. + The underlying value of the new instance. + Options to control the behavior. + The new instance of the class that contains the specified value. + + + Initializes a new instance of the class that contains the specified value. + The underlying value of the new instance. + Options to control the behavior. + The new instance of the class that contains the specified value. + + + Initializes a new instance of the class that contains the specified value. + The underlying value of the new instance. + Options to control the behavior. + The new instance of the class that contains the specified value. + + + Initializes a new instance of the class that contains the specified value. + The underlying value of the new instance. + Options to control the behavior. + The new instance of the class that contains the specified value. + + + Initializes a new instance of the class that contains the specified value. + The underlying value of the new instance. + Options to control the behavior. + The new instance of the class that contains the specified value. + + + Initializes a new instance of the class that contains the specified value. + The underlying value of the new instance. + Options to control the behavior. + The new instance of the class that contains the specified value. + + + Initializes a new instance of the class that contains the specified value. + The underlying value of the new instance. + Options to control the behavior. + The new instance of the class that contains the specified value. + + + Initializes a new instance of the class that contains the specified value. + The underlying value of the new instance. + Options to control the behavior. + The new instance of the class that contains the specified value. + + + Initializes a new instance of the class that contains the specified value. + The underlying value of the new instance. + Options to control the behavior. + The new instance of the class that contains the specified value. + + + Initializes a new instance of the class that contains the specified value. + The underlying value of the new instance. + Options to control the behavior. + The new instance of the class that contains the specified value. + + + Initializes a new instance of the class that contains the specified value. + The underlying value of the new instance. + Options to control the behavior. + The new instance of the class that contains the specified value. + + + Initializes a new instance of the class that contains the specified value. + The value to create. + Options to control the behavior. + The type of value to create. + The new instance of the class that contains the specified value. + + + Initializes a new instance of the class that contains the specified value. + The value to create. + The that will be used to serialize the value. + Options to control the behavior. + The type of value to create. + The new instance of the class that contains the specified value. + + + Tries to obtain the current JSON value and returns a value that indicates whether the operation succeeded. + When this method returns, contains the parsed value. + The type of value to obtain. + + if the value can be successfully obtained; otherwise, . + + + Specifies that the JSON type should have its method called after deserialization occurs. + + + The method that is called after deserialization. + + + Specifies that the type should have its method called before deserialization occurs. + + + The method that is called before deserialization. + + + Specifies that the type should have its method called after serialization occurs. + + + The method that is called after serialization. + + + Specifies that the type should have its method called before serialization occurs. + + + The method that is called before serialization. + + + Provides the base class for serialization attributes. + + + Creates a new instance of the . + + + When placed on a constructor, indicates that the constructor should be used to create instances of the type on deserialization. + + + Initializes a new instance of . + + + Converts an object or value to or from JSON. + + + When overridden in a derived class, determines whether the converter instance can convert the specified object type. + The type of the object to check whether it can be converted by this converter instance. + + if the instance can convert the specified object type; otherwise, . + + + Gets the type being converted by the current converter instance. + + + Converts an object or value to or from JSON. + The type of object or value handled by the converter. + + + Initializes a new instance. + + + Determines whether the specified type can be converted. + The type to compare against. + + if the type can be converted; otherwise, . + + + Reads and converts the JSON to type . + The reader. + The type to convert. + An object that specifies serialization options to use. + The converted value. + + + Reads a dictionary key from a JSON property name. + The to read from. + The type to convert. + The options to use when reading the value. + The value that was converted. + + + Writes a specified value as JSON. + The writer to write to. + The value to convert to JSON. + An object that specifies serialization options to use. + + + Writes a dictionary key as a JSON property name. + The to write to. + The value to convert. The value of determines if the converter handles values. + The options to use when writing the value. + + + Gets a value that indicates whether should be passed to the converter on serialization, and whether should be passed on deserialization. + + + Gets the type being converted by the current converter instance. + + + When placed on a property or type, specifies the converter type to use. + + + Initializes a new instance of . + + + Initializes a new instance of with the specified converter type. + The type of the converter. + + + When overridden in a derived class and is , allows the derived class to create a in order to pass additional state. + The type of the converter. + The custom converter. + + + Gets the type of the , or if it was created without a type. + The type of the , or if it was created without a type. + + + Supports converting several types by using a factory pattern. + + + When overridden in a derived class, initializes a new instance of the class. + + + Creates a converter for a specified type. + The type handled by the converter. + The serialization options to use. + A converter for which is compatible with . + + + Gets the type being converted by the current converter instance. + + + When placed on a type declaration, indicates that the specified subtype should be opted into polymorphic serialization. + + + Initializes a new attribute with specified parameters. + A derived type that should be supported in polymorphic serialization of the declared based type. + + + Initializes a new attribute with specified parameters. + A derived type that should be supported in polymorphic serialization of the declared base type. + The type discriminator identifier to be used for the serialization of the subtype. + + + Initializes a new attribute with specified parameters. + A derived type that should be supported in polymorphic serialization of the declared base type. + The type discriminator identifier to be used for the serialization of the subtype. + + + A derived type that should be supported in polymorphic serialization of the declared base type. + + + The type discriminator identifier to be used for the serialization of the subtype. + + + When placed on a property of type , any properties that do not have a matching member are added to that dictionary during deserialization and written during serialization. + + + Initializes a new instance of the class. + + + Prevents a property from being serialized or deserialized. + + + Initializes a new instance of . + + + Gets or sets the condition that must be met before a property will be ignored. + + + Controls how the ignores properties on serialization and deserialization. + + + Property is always ignored. + + + Property is always serialized and deserialized, regardless of configuration. + + + Property is ignored only if it equals the default value for its type. + + + Property is ignored if its value is . This is applied only to reference-type properties and fields. + + + Indicates that the member should be included for serialization and deserialization. + The attribute is applied to a non-public property. + + + Initializes a new instance of . + + + The to be used at run time. + + + Specifies that the built-in be used to convert JSON property names. + + + Specifies that the built-in be used to convert JSON property names. + + + Specifies that the built-in policy be used to convert JSON property names. + + + Specifies that the built-in policy be used to convert JSON property names. + + + Specifies that the built-in policy be used to convert JSON property names. + + + Specifies that JSON property names should not be converted. + + + Converter to convert enums to and from numeric values. + The enum type that this converter targets. + + + Initializes a new instance of . + + + When overridden in a derived class, determines whether the converter instance can convert the specified object type. + The type of the object to check whether it can be converted by this converter instance. + + true if the instance can convert the specified object type; otherwise, false. + + + Creates a converter for a specified type. + The type handled by the converter. + The serialization options to use. + A converter for which T is compatible with typeToConvert. + + + Determines how handles numbers when serializing and deserializing. + + + The "NaN", "Infinity", and "-Infinity" tokens can be read as floating-point constants, and the and values for these constants will be written as their corresponding JSON string representations. + + + Numbers can be read from tokens. Does not prevent numbers from being read from token. + + + Numbers will only be read from tokens and will only be written as JSON numbers (without quotes). + + + Numbers will be written as JSON strings (with quotes), not as JSON numbers. + + + When placed on a type, property, or field, indicates what settings should be used when serializing or deserializing numbers. + + + Initializes a new instance of . + A bitwise combination of the enumeration values that specify how number types should be handled when serializing or deserializing. + + + Indicates what settings should be used when serializing or deserializing numbers. + An object that determines the number serialization and deserialization settings. + + + Determines how deserialization will handle object creation for fields or properties. + + + Attempt to populate any instances already found on a deserialized field or property. + + + A new instance will always be created when deserializing a field or property. + + + Determines how deserialization handles object creation for fields or properties. + + + Initializes a new instance of . + The handling to apply to the current member. + + + Gets the configuration to use when deserializing members. + + + When placed on a type, indicates that the type should be serialized polymorphically. + + + Creates a new instance. + + + Gets or sets a value that indicates whether the deserializer should ignore any unrecognized type discriminator IDs and revert to the contract of the base type. + + to instruct the deserializer to ignore any unrecognized type discriminator IDs and revert to the contract of the base type; to fail the deserialization for unrecognized type discriminator IDs. + + + Gets or sets a custom type discriminator property name for the polymorhic type. + Uses the default '$type' property name if left unset. + + + Gets or sets the behavior when serializing an undeclared derived runtime type. + + + Specifies the property name that is present in the JSON when serializing and deserializing. This overrides any naming policy specified by . + + + Initializes a new instance of with the specified property name. + The name of the property. + + + Gets the name of the property. + The name of the property. + + + Specifies the property order that is present in the JSON when serializing. Lower values are serialized first. + If the attribute is not specified, the default value is 0. + + + Initializes a new instance of with the specified order. + The order of the property. + + + Gets the serialization order of the property. + The serialization order of the property. + + + Indicates that the annotated member must bind to a JSON property on deserialization. + + + Initializes a new instance of . + + + Instructs the System.Text.Json source generator to generate source code to help optimize performance when serializing and deserializing instances of the specified type and types in its object graph. + + + Initializes a new instance of with the specified type. + The type to generate source code for. + + + Gets or sets the mode that indicates what the source generator should generate for the type. If the value is , then the setting specified on will be used. + + + Gets or sets the name of the property for the generated for the type on the generated, derived type. + + + Provides metadata about a set of types that is relevant to JSON serialization. + + + Creates an instance of and binds it with the indicated . + The run time provided options for the context instance. + + + Gets metadata for the specified type. + The type to fetch metadata for. + The metadata for the specified type, or if the context has no metadata for the type. + + + Resolves a contract for the requested type and options. + The type to be resolved. + The configuration to use when resolving the metadata. + A instance matching the requested type, or if no contract could be resolved. + + + Gets the default run-time options for the context. + + + Gets the run-time specified options of the context. If no options were passed when instantiating the context, then a new instance is bound and returned. + + + The generation mode for the System.Text.Json source generator. + + + When specified on , indicates that both type-metadata initialization logic and optimized serialization logic should be generated for all types. When specified on , indicates that the setting on should be used. + + + Instructs the JSON source generator to generate type-metadata initialization logic. + + + Instructs the JSON source generator to generate optimized serialization logic. + + + Instructs the System.Text.Json source generator to assume the specified options will be used at run time via . + + + Initializes a new instance of . + + + Constructs a new instance with a predefined set of options determined by the specified . + The to reason about. + + is invalid. + + + Gets or sets the default value of . + + + Gets or sets the default value of . + + + Gets or sets the default value of . + + + Gets or sets the default ignore condition. + + + Gets or sets the default value of . + + + Gets or sets the source generation mode for types that don't explicitly set the mode with . + + + Gets or sets a value that indicates whether to ignore read-only fields. + + + Gets or sets a value that indicates whether to ignore read-only properties. + + + Gets or sets a value that indicates whether to include fields for serialization and deserialization. + + + Gets or sets the default value of . + + + Gets or sets the default value of . + + + Gets or sets the default value of . + + + Gets or sets the default value of . + + + Gets or sets a built-in naming policy to convert JSON property names with. + + + Gets or sets the default value of . + + + Gets or sets the default value of . + + + Gets or sets the default value of . + + + Gets or sets a value that indicates whether the source generator defaults to instead of numeric serialization for all enum types encountered in its type graph. + + + Gets or sets a value that indicates whether JSON output is pretty-printed. + + + Converts enumeration values to and from strings. + + + Initializes an instance of the class with the default naming policy that allows integer values. + + + Initializes an instance of the class with a specified naming policy and a value that indicates whether undefined enumeration values are allowed. + The optional naming policy for writing enum values. + + to allow undefined enum values; otherwise, . When , if an enum value isn't defined, it will output as a number rather than a string. + + + Determines whether the specified type can be converted to an enum. + The type to be checked. + + true if the type can be converted; otherwise, false. + + + Creates a converter for the specified type. + The type handled by the converter. + The serialization options to use. + A converter for which T is compatible with typeToConvert. + + + Converter to convert enums to and from strings. + The enum type that this converter targets. + + + Initializes a new instance of with the default naming policy and that allows integer values. + + + Initializes a new instance of . + Optional naming policy for writing enum values. + + to allow undefined enum values. When , if an enum value isn't defined, it outputs as a number rather than a string. + + + When overridden in a derived class, determines whether the converter instance can convert the specified object type. + The type of the object to check whether it can be converted by this converter instance. + + true if the instance can convert the specified object type; otherwise, false. + + + Creates a converter for a specified type. + The type handled by the converter. + The serialization options to use. + A converter for which T is compatible with typeToConvert. + + + Defines how objects of a derived runtime type that has not been explicitly declared for polymorphic serialization should be handled. + + + An object of undeclared runtime type will fail polymorphic serialization. + + + An object of undeclared runtime type will fall back to the serialization contract of the base type. + + + An object of undeclared runtime type will revert to the serialization contract of the nearest declared ancestor type. + Certain interface hierarchies are not supported due to diamond ambiguity constraints. + + + Defines how deserializing a type declared as an is handled during deserialization. + + + A type declared as is deserialized as a . + + + A type declared as is deserialized as a . + + + Determines how handles JSON properties that cannot be mapped to a specific .NET member when deserializing object types. + + + Throws an exception when an unmapped property is encountered. + + + Silently skips any unmapped properties. This is the default behavior. + + + When placed on a type, determines the configuration for the specific type, overriding the global setting. + + + Initializes a new instance of . + The handling to apply to the current member. + + + Gets the unmapped member handling setting for the attribute. + + + Defines the default, reflection-based JSON contract resolver used by System.Text.Json. + + + Creates a mutable instance. + + + Resolves a JSON contract for a given and configuration. + The type for which to resolve a JSON contract. + A instance used to determine contract configuration. + + or is . + A defining a reflection-derived JSON contract for . + + + Gets a list of user-defined callbacks that can be used to modify the initial contract. + + + Used to resolve the JSON serialization contract for requested types. + + + Resolves a contract for the requested type and options. + Type to be resolved. + Configuration used when resolving the metadata. + A instance matching the requested type, or if no contract could be resolved. + + + Provides serialization metadata about a collection type. + The collection type. + + + + A instance representing the element type. + + + If a dictionary type, the instance representing the key type. + + + The option to apply to number collection elements. + + + A to create an instance of the collection when deserializing. + + + An optimized serialization implementation assuming pre-determined defaults. + + + Represents a supported derived type defined in the metadata of a polymorphic type. + + + Initializes a new instance of the class that represents a supported derived type without a type discriminator. + The derived type to be supported by the polymorphic type metadata. + + + Initializes a new instance of the class that represents a supported derived type with an integer type discriminator. + The derived type to be supported by the polymorphic type metadata. + The type discriminator to be associated with the derived type. + + + Initializes a new instance of the class that represents a supported derived type with a string type discriminator. + The derived type to be supported by the polymorphic type metadata. + The type discriminator to be associated with the derived type. + + + Gets a derived type that should be supported in polymorphic serialization of the declared base type. + + + Gets the type discriminator identifier to be used for the serialization of the subtype. + + + Provides helpers to create and initialize metadata for JSON-serializable types. + + + Creates serialization metadata for an array. + The serialization and deserialization options to use. + Provides serialization metadata about the collection type. + The generic definition of the element type. + Serialization metadata for the given type. + + + Creates metadata for types assignable to . + The serialization and deserialization options to use. + Provides serialization metadata about the collection type. + The generic definition of the type. + The generic definition of the element type. + Serialization metadata for the given type. + + + Creates metadata for types assignable to . + The to use for serialization and deserialization. + Provides serialization metadata about the collection type. + The generic definition of the type. + The generic definition of the element type. + Serialization metadata for the given type. + + + Creates metadata for types assignable to . + The to use for serialization and deserialization. + Provides serialization metadata about the collection type. + The generic definition of the type. + The generic definition of the key type. + The generic definition of the value type. + Serialization metadata for the given type. + + + Creates serialization metadata for types assignable to . + The to use for serialization and deserialization. + Provides serialization metadata about the collection type. + The generic definition of the type. + The generic definition of the element type. + Serialization metadata for the given type. + + + Creates metadata for types assignable to . + The to use for serialization and deserialization. + Provides serialization metadata about the collection type. + The generic definition of the type. + The generic definition of the element type. + Serialization metadata for the given type. + + + Creates metadata for types assignable to . + The to use for serialization and deserialization. + Provides serialization metadata about the collection type. + The generic definition of the type. + Serialization metadata for the given type. + + + Creates metadata for types assignable to . + The to use for serialization and deserialization. + Provides serialization metadata about the collection type. + The generic definition of the type. + The generic definition of the key type. + The generic definition of the value type. + Serialization metadata for the given type. + + + Creates metadata for types assignable to . + The to use for serialization and deserialization. + Provides serialization metadata about the collection type. + The generic definition of the type. + Serialization metadata for the given type. + + + Creates metadata for types assignable to . + The to use for serialization and deserialization. + Provides serialization metadata about the collection type. + The generic definition of the type. + The generic definition of the element type. + Serialization metadata for the given type. + + + Creates metadata for types assignable to . + The to use for serialization and deserialization. + Provides serialization metadata about the collection type. + The generic definition of the type. + Serialization metadata for the given type. + + + Creates metadata for types assignable to . + The to use for serialization and deserialization. + Provides serialization metadata about the collection type. + The generic definition of the type. + The generic definition of the element type. + Serialization metadata for the given type. + + + Creates metadata for and types assignable to . + The to use for serialization and deserialization. + Provides serialization metadata about the collection type. + A method to create an immutable dictionary instance. + The generic definition of the type. + The generic definition of the key type. + The generic definition of the value type. + Serialization metadata for the given type. + + + Creates metadata for non-dictionary immutable collection types. + The to use for serialization and deserialization. + Provides serialization metadata about the collection type. + A method to create an immutable dictionary instance. + The generic definition of the type. + The generic definition of the element type. + Serialization metadata for the given type. + + + Creates metadata for types assignable to . + The to use for serialization and deserialization. + Provides serialization metadata about the collection type. + The generic definition of the type. + The generic definition of the key type. + The generic definition of the value type. + Serialization metadata for the given type. + + + Creates metadata for types assignable to . + The to use for serialization and deserialization. + Provides serialization metadata about the collection type. + The generic definition of the type. + The generic definition of the element type. + Serialization metadata for the given type. + + + Creates metadata for types assignable to . + The to use for serialization and deserialization. + Provides serialization metadata about the collection type. + The generic definition of the type. + The generic definition of the element type. + Serialization metadata for the given type. + + + Creates serialization metadata for . + The to use. + Provides serialization metadata about the collection type. + The generic definition of the element type. + Serialization metadata for the given type. + + + Creates metadata for a complex class or struct. + The to use for serialization and deserialization. + Provides serialization metadata about an object type with constructors, properties, and fields. + The type of the class or struct. + + or is . + A instance representing the class or struct. + + + Creates metadata for a property or field. + The to use for serialization and deserialization. + Provides serialization metadata about the property or field. + The type that the converter for the property returns or accepts when converting JSON data. + A instance initialized with the provided metadata. + + + Creates metadata for types assignable to . + The to use for serialization and deserialization. + Provides serialization metadata about the collection type. + A method for adding elements to the collection when using the serializer's code-paths. + The generic definition of the type. + Serialization metadata for the given type. + + + Creates metadata for types assignable to . + The to use for serialization and deserialization. + Provides serialization metadata about the collection type. + The generic definition of the type. + The generic definition of the element type. + Serialization metadata for the given type. + + + Creates serialization metadata for . + The to use. + Provides serialization metadata about the collection type. + The generic definition of the element type. + Serialization metadata for the given type. + + + Creates metadata for types assignable to . + The to use for serialization and deserialization. + Provides serialization metadata about the collection type. + A method for adding elements to the collection when using the serializer's code-paths. + The generic definition of the type. + Serialization metadata for the given type. + + + Creates metadata for types assignable to . + The to use for serialization and deserialization. + Provides serialization metadata about the collection type. + The generic definition of the type. + The generic definition of the element type. + Serialization metadata for the given type. + + + Creates metadata for a primitive or a type with a custom converter. + The to use for serialization and deserialization. + + The generic type definition. + A instance representing the type. + + + Creates a instance that converts values. + The to use for serialization and deserialization. + The generic definition for the enum type. + A instance that converts values. + + + Creates a instance that converts values. + The to use for serialization and deserialization. + The generic definition for the underlying nullable type. + A instance that converts values + + + Creates a instance that converts values. + Serialization metadata for the underlying nullable type. + The generic definition for the underlying nullable type. + A instance that converts values + + + Gets a type converter that throws a . + The generic definition for the type. + A instance that throws + + + Gets an object that converts values. + + + Gets an object that converts byte array values. + + + Gets an object that converts values. + + + Gets an object that converts values. + + + Returns a instance that converts values. + + + Gets an object that converts values. + An instance that converts values. + + + Gets an object that converts values. + + + Gets an object that converts values. + + + Gets an object that converts values. + + + Gets an object that converts values. + + + Returns a instance that converts values. + + + Returns a instance that converts values. + + + Gets an object that converts values. + + + Gets an object that converts values. + + + Gets an object that converts values. + + + Gets an object that converts values. + + + Returns a instance that converts values. + + + Gets a JSON converter that converts values. + + + Gets an object that converts values. + + + Gets an object that converts values. + + + Gets an object that converts values. + + + Returns a instance that converts values. + + + Gets an object that converts values. + + + Returns a instance that converts values. + + + Gets an object that converts values. + + + Gets an object that converts values. + + + Gets an object that converts values. + + + Returns a instance that converts values. + + + Gets a JSON converter that converts values. + + + Returns a instance that converts values. + + + Gets an object that converts values. + + + Gets an object that converts values. + + + Gets an object that converts values. + + + Gets an object that converts values. + + + Gets an object that converts values. + + + Provides serialization metadata about an object type with constructors, properties, and fields. + The object type to serialize or deserialize. + + + + Provides a mechanism to initialize metadata for a parameterized constructor of the class or struct to be used when deserializing. + + + Gets or sets an object that specifies how number properties and fields should be processed when serializing and deserializing. + + + Gets or sets a mechanism to create an instance of the class or struct using a parameterless constructor during deserialization. + + + Gets or sets a mechanism to create an instance of the class or struct using a parameterized constructor during deserialization. + + + Gets or sets a mechanism to initialize metadata for properties and fields of the class or struct. + + + Gets or sets a serialization implementation for instances of the class or struct that assumes options specified by . + + + Provides information about a constructor parameter required for JSON deserialization. + + + + Gets or sets the default value of the parameter. + + + Gets or sets a value that specifies whether a default value was specified for the parameter. + + + Gets or sets the name of the parameter. + + + Gets or sets the type of the parameter. + + + Gets or sets the zero-based position of the parameter in the formal parameter list. + + + Defines polymorphic configuration for a specified base type. + + + Creates an empty instance. + + + Gets the list of derived types supported in the current polymorphic type configuration. + + + Gets or sets a value that indicates whether the serializer should ignore any unrecognized type discriminator IDs and revert to the contract of the base type. + The parent instance has been locked for further modification. + + if the serializer should ignore any unrecognized type discriminator IDs and revert to the contract of the base type; if the deserialization should fail when an unrecognized type discriminator ID is encountered. + + + Gets or sets a custom type discriminator property name for the polymorhic type. + Uses the default '$type' property name if left unset. + The parent instance has been locked for further modification. + + + Gets or sets the behavior when serializing an undeclared derived runtime type. + The parent instance has been locked for further modification. + + + Provides JSON serialization-related metadata about a property or field. + + + Gets or sets the custom attribute provider for the current property. + The instance has been locked for further modification. + + + Gets or sets a custom converter override for the current property. + The instance has been locked for further modification. + + + Gets or sets a getter delegate for the property. + The instance has been locked for further modification. + + + Gets or sets a value that indicates whether the current property is a special extension data property. + The instance has been locked for further modification. + +-or- + +The current is not valid for use with extension data. + + + Gets or sets a value that indicates whether the current property is required for deserialization to be successful. + The instance has been locked for further modification. + + + Gets or sets the JSON property name used when serializing the property. + + is . + The instance has been locked for further modification. + + + Gets or sets the applied to the current property. + The instance has been locked for further modification. + + + Gets or sets a value indicating if the property or field should be replaced or populated during deserialization. + + + Gets the value associated with the current contract instance. + + + Gets or sets the serialization order for the current property. + The instance has been locked for further modification. + + + Gets the type of the current property. + + + Gets or sets a setter delegate for the property. + The instance has been locked for further modification. + + + Gets or sets a predicate that determines whether the current property value should be serialized. + The instance has been locked for further modification. + + + Provides serialization metadata about a property or field. + The type to convert of the for the property. + + + + A for the property or field, specified by . + + + The declaring type of the property or field. + + + Provides a mechanism to get the property or field's value. + + + Whether the property was annotated with . + + + Specifies a condition for the member to be ignored. + + + Whether the property was annotated with . + + + If , indicates that the member is a property, otherwise indicates the member is a field. + + + Whether the property or field is public. + + + Whether the property or field is a virtual property. + + + The name to be used when processing the property or field, specified by . + + + If the property or field is a number, specifies how it should processed when serializing and deserializing. + + + The name of the property or field. + + + The info for the property or field's type. + + + Provides a mechanism to set the property or field's value. + + + Provides JSON serialization-related metadata about a type. + + + Creates a blank instance for the current . + The declared type for the property. + The property name used in JSON serialization and deserialization. + + or is . + + cannot be used for serialization. + The instance has been locked for further modification. + A blank instance. + + + Creates a blank instance. + The type for which contract metadata is specified. + The instance the metadata is associated with. + + or is . + + cannot be used for serialization. + A blank instance. + + + Creates a blank instance. + The instance the metadata is associated with. + The type for which contract metadata is specified. + + is . + A blank instance. + + + Locks the current instance for further modification. + + + Gets the associated with the current type. + + + Gets or sets a parameterless factory to be used on deserialization. + The instance has been locked for further modification. + +-or- + +A parameterless factory is not supported for the current metadata . + + + Gets a value that indicates whether the current instance has been locked for modification. + + + Gets a value that describes the kind of contract metadata that the current instance specifies. + + + Gets or sets the type-level override. + The instance has been locked for further modification. + An invalid value was specified. + + + Gets or sets a callback to be invoked after deserialization occurs. + The instance has been locked for further modification. + +-or- + +Serialization callbacks are only supported for metadata. + + + Gets or sets a callback to be invoked before deserialization occurs. + The instance has been locked for further modification. + +-or- + +Serialization callbacks are only supported for metadata. + + + Gets or sets a callback to be invoked after serialization occurs. + The instance has been locked for further modification. + +-or- + +Serialization callbacks are only supported for metadata. + + + Gets or sets a callback to be invoked before serialization occurs. + The instance has been locked for further modification. + +-or- + +Serialization callbacks are only supported for metadata. + + + Gets the value associated with the current instance. + + + Gets or sets the from which this metadata instance originated. + The instance has been locked for further modification. + + + Gets or sets a configuration object specifying polymorphism metadata. + + has been associated with a different instance. + The instance has been locked for further modification. + +-or- + +Polymorphic serialization is not supported for the current metadata . + + + Gets or sets the preferred value for properties contained in the type. + The instance has been locked for further modification. + +-or- + +Unmapped member handling is only supported for JsonTypeInfoKind.Object. + Specified an invalid value. + + + Gets the list of metadata corresponding to the current type. + + + Gets the for which the JSON serialization contract is being defined. + + + Gets or sets the type-level override. + The instance has been locked for further modification. + +-or- + +Unmapped member handling is only supported for . + An invalid value was specified. + + + Provides JSON serialization-related metadata about a type. + The generic definition of the type. + + + Gets or sets a parameterless factory to be used on deserialization. + The instance has been locked for further modification. + +-or- + +A parameterless factory is not supported for the current metadata . + + + Serializes an instance of using values specified at design time. + + + Describes the kind of contract metadata a specifies. + + + Type is serialized as a dictionary with key/value pair entries. + + + Type is serialized as a collection with elements. + + + Type is either a simple value or uses a custom converter. + + + Type is serialized as an object with properties. + + + Contains utilities and combinators acting on . + + + Combines multiple sources into one. + Sequence of contract resolvers to be queried for metadata. + + is . + A combining results from . + + + Creates a resolver and applies modifications to the metadata generated by the source . + The source resolver generating metadata. + The delegate that modifies non- results. + A new instance with modifications applied. + + + Defines how the deals with references on serialization and deserialization. + + + Initializes a new instance of the class. + + + Returns the used for each serialization call. + The resolver to use for serialization and deserialization. + + + Gets an object that indicates whether an object is ignored when a reference cycle is detected during serialization. + + + Gets an object that indicates whether metadata properties are honored when JSON objects and arrays are deserialized into reference types, and written when reference types are serialized. This is necessary to create round-trippable JSON from objects that contain cycles or duplicate references. + + + Defines how the deals with references on serialization and deserialization. + The type of the to create on each serialization or deserialization call. + + + Initializes a new instance of the generic class that can create a instance of the specified type. + + + Creates a new of type used for each serialization call. + The new resolver to use for serialization and deserialization. + + + Defines how the deals with references on serialization and deserialization. + Defines the core behavior of preserving references on serialization and deserialization. + + + Initializes a new instance of the class. + + + Adds an entry to the bag of references using the specified id and value. + This method gets called when an $id metadata property from a JSON object is read. + The identifier of the JSON object or array. + The value of the CLR reference type object that results from parsing the JSON object. + + + Gets the reference identifier of the specified value if exists; otherwise a new id is assigned. + This method gets called before a CLR object is written so we can decide whether to write $id and enumerate the rest of its properties or $ref and step into the next object. + The value of the CLR reference type object to get an id for. + When this method returns, if a reference to value already exists; otherwise, . + The reference id for the specified object. + + + Returns the CLR reference type object related to the specified reference id. + This method gets called when $ref metadata property is read. + The reference id related to the returned object. + The reference type object related to the specified reference id. + + + Provides a high-performance API for forward-only, read-only access to UTF-8 encoded JSON text. + + + Initializes a new instance of the structure that processes a read-only sequence of UTF-8 encoded text and indicates whether the input contains all the text to process. + The UTF-8 encoded JSON text to process. + + to indicate that the input sequence contains the entire data to process; to indicate that the input span contains partial data with more data to follow. + The reader state. If this is the first call to the constructor, pass the default state; otherwise, pass the value of the property from the previous instance of the . + + + Initializes a new instance of the structure that processes a read-only sequence of UTF-8 encoded text using the specified options. + The UTF-8 encoded JSON text to process. + Options that define customized behavior of the that differs from the JSON RFC (for example, how to handle comments or maximum depth allowed when reading). By default, the follows the JSON RFC strictly; comments within the JSON are invalid, and the maximum depth is 64. + + + Initializes a new instance of the structure that processes a read-only span of UTF-8 encoded text and indicates whether the input contains all the text to process. + The UTF-8 encoded JSON text to process. + + to indicate that the input sequence contains the entire data to process; to indicate that the input span contains partial data with more data to follow. + The reader state. If this is the first call to the constructor, pass the default state; otherwise, pass the value of the property from the previous instance of the . + + + Initializes a new instance of the structure that processes a read-only span of UTF-8 encoded text using the specified options. + The UTF-8 encoded JSON text to process. + Options that define customized behavior of the that differs from the JSON RFC (for example, how to handle comments or maximum depth allowed when reading). By default, the follows the JSON RFC strictly; comments within the JSON are invalid, and the maximum depth is 64. + + + Copies the current JSON token value from the source, unescaped, as UTF-8 bytes to a buffer. + A buffer to write the unescaped UTF-8 bytes into. + The JSON token is not a string, that is, it's not or . + +-or- + +The JSON string contains invalid UTF-8 bytes or invalid UTF-16 surrogates. + The destination buffer is too small to hold the unescaped value. + The number of bytes written to . + + + Copies the current JSON token value from the source, unescaped, as UTF-16 characters to a buffer. + A buffer to write the transcoded UTF-16 characters into. + The JSON token is not a string, that is, it's not or . + +-or- + +The JSON string contains invalid UTF-8 bytes or invalid UTF-16 surrogates. + The destination buffer is too small to hold the unescaped value. + The number of characters written to . + + + Reads the next JSON token value from the source as a . + The value of the JSON token isn't a Boolean value (that is, or ). + + if the is ; if the is . + + + Parses the current JSON token value from the source as a . + The value of the JSON token is not a . + The numeric format of the JSON token value is incorrect (for example, it contains a fractional value or is written in scientific notation). + +-or- + +The JSON token value represents a number less than Byte.MinValue or greater than Byte.MaxValue. + The value of the UTF-8 encoded token. + + + Parses the current JSON token value from the source and decodes the Base64 encoded JSON string as a byte array. + The type of the JSON token is not a . + The value is not encoded as Base64 text, so it can't be decoded to bytes. + +-or- + +The value contains invalid or more than two padding characters. + +-or- + +The value is incomplete. That is, the JSON string length is not a multiple of 4. + The byte array that represents the current JSON token value. + + + Parses the current JSON token value from the source as a comment and transcodes it as a . + The JSON token is not a comment. + The comment that represents the current JSON token value. + + + Reads the next JSON token value from the source and parses it to a . + The value of the JSON token isn't a . + The JSON token value cannot be read as a . + +-or- + +The entire UTF-8 encoded token value cannot be parsed to a value. + +-or- + +The JSON token value is of an unsupported format. + The date and time value, if the entire UTF-8 encoded token value can be successfully parsed. + + + Reads the next JSON token value from the source and parses it to a . + The value of the JSON token isn't a . + The JSON token value cannot be read as a . + +-or- + +The entire UTF-8 encoded token value cannot be parsed to a value. + +-or- + +The JSON token value is of an unsupported format. + The date and time offset, if the entire UTF-8 encoded token value can be successfully parsed. + + + Reads the next JSON token value from the source and parses it to a . + The JSON token value isn't a . + The JSON token value represents a number less than Decimal.MinValue or greater than Decimal.MaxValue. + The UTF-8 encoded token value parsed to a . + + + Reads the next JSON token value from the source and parses it to a . + The JSON token value isn't a . + The JSON token value represents a number less than Double.MinValue or greater than Double.MaxValue. + The UTF-8 encoded token value parsed to a . + + + Reads the next JSON token value from the source and parses it to a . + The value of the JSON token isn't a . + The JSON token value is in an unsupported format for a Guid. + +-or- + +The entire UTF-8 encoded token value cannot be parsed to a value. + The GUID value, if the entire UTF-8 encoded token value can be successfully parsed. + + + Parses the current JSON token value from the source as a . + The value of the JSON token is not a . + The numeric format of the JSON token value is incorrect (for example, it contains a fractional value or is written in scientific notation). + +-or- + +The JSON token value represents a number less than Int16.MinValue or greater than Int16.MaxValue. + The UTF-8 encoded token value parsed to an . + + + Reads the next JSON token value from the source and parses it to an . + The JSON token value isn't a . + The JSON token value is of the incorrect numeric format. For example, it contains a decimal or is written in scientific notation. + +-or- + +The JSON token value represents a number less than Int32.MinValue or greater than Int32.MaxValue. + The UTF-8 encoded token value parsed to an . + + + Reads the next JSON token value from the source and parses it to an . + The JSON token value isn't a . + The JSON token value is of the incorrect numeric format. For example, it contains a decimal or is written in scientific notation. + +-or- + +The JSON token value represents a number less than Int64.MinValue or greater than Int64.MaxValue. + The UTF-8 encoded token value parsed to an . + + + Parses the current JSON token value from the source as an . + The value of the JSON token is not a . + The numeric format of the JSON token value is incorrect (for example, it contains a fractional value or is written in scientific notation). + +-or- + +The JSON token value represents a number less than SByte.MinValue or greater than SByte.MaxValue. + The UTF-8 encoded token value parsed to an . + + + Reads the next JSON token value from the source and parses it to a . + The JSON token value isn't a . + The JSON token value represents a number less than Single.MinValue or greater than Single.MaxValue. + The UTF-8 encoded token value parsed to a . + + + Reads the next JSON token value from the source unescaped and transcodes it as a string. + The JSON token value isn't a string (that is, not a , , or ). + +-or- + +The JSON string contains invalid UTF-8 bytes or invalid UTF-16 surrogates. + The token value parsed to a string, or if is . + + + Parses the current JSON token value from the source as a . + The value of the JSON token is not a . + The numeric format of the JSON token value is incorrect (for example, it contains a fractional value or is written in scientific notation). + +-or- + +The JSON token value represents a number less than UInt16.MinValue or greater than UInt16.MaxValue. + The UTF-8 encoded token value parsed to a . + + + Reads the next JSON token value from the source and parses it to a . + The JSON token value isn't a . + The JSON token value is of the incorrect numeric format. For example, it contains a decimal or is written in scientific notation. + +-or- + +The JSON token value represents a number less than UInt32.MinValue or greater than UInt32.MaxValue. + The UTF-8 encoded token value parsed to a . + + + Reads the next JSON token value from the source and parses it to a . + The JSON token value isn't a . + The JSON token value is of the incorrect numeric format. For example, it contains a decimal or is written in scientific notation. + +-or- + +The JSON token value represents a number less than UInt64.MinValue or greater than UInt64.MaxValue. + The UTF-8 encoded token value parsed to a . + + + Reads the next JSON token from the input source. + An invalid JSON token according to the JSON RFC is encountered. + +-or- + +The current depth exceeds the recursive limit set by the maximum depth. + + if the token was read successfully; otherwise, . + + + Skips the children of the current JSON token. + The reader was given partial data with more data to follow (that is, is ). + An invalid JSON token was encountered while skipping, according to the JSON RFC. + +-or- + +The current depth exceeds the recursive limit set by the maximum depth. + + + Tries to parse the current JSON token value from the source as a and returns a value that indicates whether the operation succeeded. + When this method returns, contains the byte equivalent of the current JSON number if the conversion succeeded, or 0 if the conversion failed. + The JSON token value isn't a . + + if the entire UTF-8 encoded token value can be successfully parsed to a value; otherwise, . + + + Tries to parse the current JSON token value from the source and decodes the Base64 encoded JSON string as a byte array and returns a value that indicates whether the operation succeeded. + When this method returns, contains the decoded binary representation of the Base64 text. + The JSON token is not a . + + if the entire token value is encoded as valid Base64 text and can be successfully decoded to bytes; otherwise, . + + + Tries to parse the current JSON token value from the source as a and returns a value that indicates whether the operation succeeded. + When this method returns, contains the date and time value equivalent to the current JSON string if the conversion succeeded, or if the conversion failed. + The value of the JSON token isn't a . + + if the entire UTF-8 encoded token value can be successfully parsed to a value; otherwise, . + + + Tries to parse the current JSON token value from the source as a and returns a value that indicates whether the operation succeeded. + When this method returns, contains the date and time value equivalent to the current JSON string if the conversion succeeded, or if the conversion failed. + The value of the JSON token isn't a . + + if the entire UTF-8 encoded token value can be successfully parsed to a value; otherwise, . + + + Tries to parse the current JSON token value from the source as a and returns a value that indicates whether the operation succeeded. + When this method returns, contains the decimal equivalent of the current JSON number if the conversion succeeded, or 0 if the conversion failed. + The JSON token value isn't a . + + if the entire UTF-8 encoded token value can be successfully parsed to a value; otherwise, . + + + Tries to parse the current JSON token value from the source as a and returns a value that indicates whether the operation succeeded. + When this method returns, contains a double-precision floating point value equivalent to the current JSON number if the conversion succeeded, or 0 if the conversion failed. + The JSON token value isn't a . + + if the entire UTF-8 encoded token value can be successfully parsed to a value; otherwise, . + + + Tries to parse the current JSON token value from the source as a and returns a value that indicates whether the operation succeeded. + When this method returns, contains the GUID equivalent to the current JSON string if the conversion succeeded, or if the conversion failed. + The value of the JSON token isn't a . + + if the entire UTF-8 encoded token value can be successfully parsed to a value; otherwise, . + + + Tries to parse the current JSON token value from the source as an and returns a value that indicates whether the operation succeeded. + When this method returns, contains the 16-bit integer value equivalent of the current JSON number if the conversion succeeded, or 0 if the conversion failed. + The JSON token value isn't a . + + if the entire UTF-8 encoded token value can be successfully parsed to a value; otherwise, . + + + Tries to parse the current JSON token value from the source as an and returns a value that indicates whether the operation succeeded. + When this method returns, contains the 32-bit integer value equivalent to the current JSON number if the conversion succeeded, or 0 if the conversion failed. + The JSON token value isn't a . + + if the entire UTF-8 encoded token value can be successfully parsed to an value; otherwise, . + + + Tries to parse the current JSON token value from the source as an and returns a value that indicates whether the operation succeeded. + When this method returns, contains the 64-bit integer value equivalent to the current JSON number if the conversion succeeded, or 0 if the conversion failed. + The JSON token value isn't a . + + if the entire UTF-8 encoded token value can be successfully parsed to an value; otherwise, . + + + Tries to parse the current JSON token value from the source as an and returns a value that indicates whether the operation succeeded. + When this method returns, contains the signed byte equivalent of the current JSON number if the conversion succeeded, or 0 if the conversion failed. + The JSON token value isn't a . + + if the entire UTF-8 encoded token value can be successfully parsed to an value; otherwise, . + + + Tries to parse the current JSON token value from the source as a and returns a value that indicates whether the operation succeeded. + When this method returns, contains the single-precision floating point value equivalent to the current JSON number if the conversion succeeded, or 0 if the conversion failed. + The JSON token value isn't a . + + if the entire UTF-8 encoded token value can be successfully parsed to an value; otherwise, . + + + Tries to parse the current JSON token value from the source as a and returns a value that indicates whether the operation succeeded. + When this method returns, contains the unsigned 16-bit integer value equivalent of the current JSON number if the conversion succeeded, or 0 if the conversion failed. + The JSON token value isn't a . + + if the entire UTF-8 encoded token value can be successfully parsed to a value; otherwise, . + + + Tries to parse the current JSON token value from the source as a and returns a value that indicates whether the operation succeeded. + When this method returns, contains unsigned 32-bit integer value equivalent to the current JSON number if the conversion succeeded, or 0 if the conversion failed. + The JSON token value isn't a . + + if the entire UTF-8 encoded token value can be successfully parsed to a value; otherwise, . + + + Tries to parse the current JSON token value from the source as a and returns a value that indicates whether the operation succeeded. + When this method returns, contains unsigned 64-bit integer value equivalent to the current JSON number if the conversion succeeded, or 0 if the conversion failed. + The JSON token value isn't a . + + if the entire UTF-8 encoded token value can be successfully parsed to a value; otherwise, . + + + Tries to skip the children of the current JSON token. + An invalid JSON token was encountered while skipping, according to the JSON RFC. + +-or - + +The current depth exceeds the recursive limit set by the maximum depth. + + if there was enough data for the children to be skipped successfully; otherwise, . + + + Compares the UTF-8 encoded text in a read-only byte span to the unescaped JSON token value in the source and returns a value that indicates whether they match. + The UTF-8 encoded text to compare against. + The JSON token is not a JSON string (that is, it is not or ). + + if the JSON token value in the source matches the UTF-8 encoded lookup text; otherwise, . + + + Compares the text in a read-only character span to the unescaped JSON token value in the source and returns a value that indicates whether they match. + The text to compare against. + The JSON token is not a JSON string (that is, it is not or ). + + if the JSON token value in the source matches the lookup text; otherwise, . + + + Compares the string text to the unescaped JSON token value in the source and returns a value that indicates whether they match. + The text to compare against. + The JSON token is not a JSON string (that is, it is not or ). + + if the JSON token value in the source matches the lookup text; otherwise, . + + + Gets the total number of bytes consumed so far by this instance of the . + The total number of bytes consumed so far. + + + Gets the depth of the current token. + The depth of the current token. + + + Gets the current state to pass to a constructor with more data. + The current reader state. + + + Gets a value that indicates which Value property to use to get the token value. + + if should be used to get the token value; if should be used instead. + + + Gets a value that indicates whether all the JSON data was provided or there is more data to come. + + if the reader was constructed with the input span or sequence containing the entire JSON data to process; if the reader was constructed with an input span or sequence that may contain partial JSON data with more data to follow. + + + Gets the current within the provided UTF-8 encoded input ReadOnlySequence<byte> or a default if the struct was constructed with a ReadOnlySpan<byte>. + The current within the provided UTF-8 encoded input ReadOnlySequence<byte> or a default if the struct was constructed with a ReadOnlySpan<byte>. + + + Gets the index that the last processed JSON token starts at (within the given UTF-8 encoded input text), skipping any white space. + The starting index of the last processed JSON token within the given UTF-8 encoded input text. + + + Gets the type of the last processed JSON token in the UTF-8 encoded JSON text. + The type of the last processed JSON token. + + + Gets a value that indicates whether the current or properties contain escape sequences per RFC 8259 section 7, and therefore require unescaping before being consumed. + + + Gets the raw value of the last processed token as a ReadOnlySequence<byte> slice of the input payload, only if the token is contained within multiple segments. + A byte read-only sequence. + + + Gets the raw value of the last processed token as a ReadOnlySpan<byte> slice of the input payload, if the token fits in a single segment or if the reader was constructed with a JSON payload contained in a ReadOnlySpan<byte>. + A read-only span of bytes. + + + Provides a high-performance API for forward-only, non-cached writing of UTF-8 encoded JSON text. + + + Initializes a new instance of the class using the specified to write the output to and customization options. + The destination for writing JSON text. + Defines the customized behavior of the . By default, it writes minimized JSON (with no extra white space) and validates that the JSON being written is structurally valid according to the JSON RFC. + + is . + + + Initializes a new instance of the class using the specified stream to write the output to and customization options. + The destination for writing JSON text. + Defines the customized behavior of the . By default, it writes minimized JSON (with no extra white space) and validates that the JSON being written is structurally valid according to the JSON RFC. + + is . + + + Commits any leftover JSON text that has not yet been flushed and releases all resources used by the current instance. + + + Asynchronously commits any leftover JSON text that has not yet been flushed and releases all resources used by the current instance. + A task representing the asynchronous dispose operation. + + + Commits the JSON text written so far, which makes it visible to the output destination. + This instance has been disposed. + + + Asynchronously commits the JSON text written so far, which makes it visible to the output destination. + The token to monitor for cancellation requests. The default value is . + This instance has been disposed. + A task representing the asynchronous flush operation. + + + Resets the internal state of this instance so that it can be reused. + This instance has been disposed. + + + Resets the internal state of this instance so that it can be reused with a new instance of . + The destination for writing JSON text. + + is . + This instance has been disposed. + + + Resets the internal state of this instance so that it can be reused with a new instance of . + The destination for writing JSON text. + + is . + This instance has been disposed. + + + Writes the property name and raw bytes value (as a Base64 encoded JSON string) as part of a name/value pair of a JSON object. + The UTF-8 encoded name of the property to write. + The binary data to write as Base64 encoded text. + The specified property name or value is too large. + Validation is enabled, and this method would result in writing invalid JSON. + + + Writes the property name and raw bytes value (as a Base64 encoded JSON string) as part of a name/value pair of a JSON object. + The property name of the JSON object to be transcoded and written as UTF-8. + The binary data to write as Base64 encoded text. + The specified property name or value is too large. + Validation is enabled, and this method would result in writing invalid JSON. + + + Writes the property name and raw bytes value (as a Base64 encoded JSON string) as part of a name/value pair of a JSON object. + The property name of the JSON object to be transcoded and written as UTF-8. + The binary data to write as Base64 encoded text. + The specified property name or value is too large. + Validation is enabled, and this method would result in writing invalid JSON. + The parameter is . + + + Writes the pre-encoded property name and raw bytes value (as a Base64 encoded JSON string) as part of a name/value pair of a JSON object. + The JSON-encoded name of the property to write. + The binary data to write as Base64 encoded text. + The specified value is too large. + Validation is enabled, and this method would result in writing invalid JSON. + + + Writes the raw bytes value as a Base64 encoded JSON string as an element of a JSON array. + The binary data to be written as a Base64 encoded JSON string element of a JSON array. + The specified value is too large. + Validation is enabled, and this method would result in writing invalid JSON. + + + Writes a property name specified as a read-only span of bytes and a value (as a JSON literal true or false) as part of a name/value pair of a JSON object. + The UTF-8 encoded property name of the JSON object to be written. + The value to be written as a JSON literal true or false as part of the name/value pair. + The specified property name is too large. + Validation is enabled, and the operation would result in writing invalid JSON. + + + Writes a property name specified as a read-only character span and a value (as a JSON literal true or false) as part of a name/value pair of a JSON object. + The UTF-16 encoded property name of the JSON object to be transcoded and written as UTF-8. + The value to be written as a JSON literal true or false as part of the name/value pair. + The specified property name is too large. + Validation is enabled, and the operation would result in writing invalid JSON. + + + Writes a property name specified as a string and a value (as a JSON literal true or false) as part of a name/value pair of a JSON object. + The UTF-16 encoded property name of the JSON object to be transcoded and written as UTF-8. + The value to be written as a JSON literal true or false as part of the name/value pair. + The specified property name is too large. + Validation is enabled, and the operation would result in writing invalid JSON. + The parameter is . + + + Writes the pre-encoded property name and value (as a JSON literal true or false) as part of a name/value pair of a JSON object. + The JSON encoded property name of the JSON object to be transcoded and written as UTF-8. + The value to be written as a JSON literal true or false as part of the name/value pair. + Validation is enabled, and this method would result in writing invalid JSON. + + + Writes a value (as a JSON literal true or false) as an element of a JSON array. + The value to be written as a JSON literal true or false as an element of a JSON array. + Validation is enabled, and the operation would result in writing invalid JSON. + + + Writes a UTF-8 text value as a JSON comment. + The UTF-8 encoded value to be written as a JSON comment within /*..*/. + The specified value is too large. + +-or- + + contains a comment delimiter (that is, */). + + + Writes a UTF-16 text value as a JSON comment. + The UTF-16 encoded value to be written as a UTF-8 transcoded JSON comment within /*..*/. + The specified value is too large. + +-or- + + contains a comment delimiter (that is, */). + + + Writes a string text value as a JSON comment. + The UTF-16 encoded value to be written as a UTF-8 transcoded JSON comment within /*..*/. + The specified value is too large. + +-or- + + contains a comment delimiter (that is, */). + The parameter is . + + + Writes the end of a JSON array. + Validation is enabled, and the operation would result in writing invalid JSON. + + + Writes the end of a JSON object. + Validation is enabled, and the operation would result in writing invalid JSON. + + + Writes a property name specified as a read-only span of bytes and the JSON literal null as part of a name/value pair of a JSON object. + The UTF-8 encoded property name of the JSON object to be written. + The specified property name is too large. + Validation is enabled, and the write operation would produce invalid JSON. + + + Writes a property name specified as a read-only character span and the JSON literal null as part of a name/value pair of a JSON object. + The UTF-16 encoded property name of the JSON object to be transcoded and written as UTF-8. + The specified property name is too large. + Validation is enabled, and the write operation would produce invalid JSON. + + + Writes a property name specified as a string and the JSON literal null as part of a name/value pair of a JSON object. + The UTF-16 encoded property name of the JSON object to be transcoded and written as UTF-8. + The specified property name is too large. + Validation is enabled, and the write operation would produce invalid JSON. + The parameter is . + + + Writes the pre-encoded property name and the JSON literal null as part of a name/value pair of a JSON object. + The JSON encoded property name of the JSON object to be transcoded and written as UTF-8. + Validation is enabled, and this method would result in writing invalid JSON. + + + Writes the JSON literal null as an element of a JSON array. + Validation is enabled, and the operation would result in writing invalid JSON. + + + Writes a property name specified as a read-only span of bytes and a value (as a JSON number) as part of a name/value pair of a JSON object. + The UTF-8 encoded property name of the JSON object to be written. + The value to be written as a JSON number as part of the name/value pair. + The specified property name is too large. + Validation is enabled, and the write operation would produce invalid JSON. + + + Writes a property name specified as a read-only span of bytes and a value (as a JSON number) as part of a name/value pair of a JSON object. + The UTF-8 encoded property name of the JSON object to be written. + The value to be written as a JSON number as part of the name/value pair. + The specified property name is too large. + Validation is enabled, and the write operation would produce invalid JSON. + + + Writes a property name specified as a read-only span of bytes and an value (as a JSON number) as part of a name/value pair of a JSON object. + The UTF-8 encoded property name of the JSON object to be written. + The value to be written as a JSON number as part of the name/value pair. + The specified property name is too large. + Validation is enabled, and the write operation would produce invalid JSON. + + + Writes a property name specified as a read-only span of bytes and an value (as a JSON number) as part of a name/value pair of a JSON object. + The UTF-8 encoded property name of the JSON object to be written. + The value to be written as a JSON number as part of the name/value pair. + The specified property name is too large. + Validation is enabled, and the write operation would produce invalid JSON. + + + Writes a property name specified as a read-only span of bytes and a value (as a JSON number) as part of a name/value pair of a JSON object. + The UTF-8 encoded property name of the JSON object to be written. + The value to be written as a JSON number as part of the name/value pair. + The specified property name is too large. + Validation is enabled, and the write operation would produce invalid JSON. + + + Writes a property name specified as a read-only span of bytes and a value (as a JSON number) as part of a name/value pair of a JSON object. + The UTF-8 encoded property name of the JSON object to be written. + The value to be written as a JSON number as part of the name/value pair. + The specified property name is too large. + Validation is enabled, and the write operation would produce invalid JSON. + + + Writes a property name specified as a read-only span of bytes and a value (as a JSON number) as part of a name/value pair of a JSON object. + The UTF-8 encoded property name of the JSON object to be written. + The value to be written as a JSON number as part of the name/value pair. + The specified property name is too large. + Validation is enabled, and the write operation would produce invalid JSON. + + + Writes a property name specified as a read-only character span and a value (as a JSON number) as part of a name/value pair of a JSON object. + The UTF-16 encoded property name of the JSON object to be transcoded and written as UTF-8. + The value to be written as a JSON number as part of the name/value pair. + The specified property name is too large. + Validation is enabled, and the write operation would produce invalid JSON. + + + Writes a property name specified as a read-only character span and a value (as a JSON number) as part of a name/value pair of a JSON object. + The UTF-16 encoded property name of the JSON object to be transcoded and written as UTF-8. + The value to be written as a JSON number as part of the name/value pair. + The specified property name is too large. + Validation is enabled, and the write operation would produce invalid JSON. + + + Writes a property name specified as a read-only character span and an value (as a JSON number) as part of a name/value pair of a JSON object. + The UTF-16 encoded property name of the JSON object to be transcoded and written as UTF-8. + The value to be written as a JSON number as part of the name/value pair. + The specified property name is too large. + Validation is enabled, and the write operation would produce invalid JSON. + + + Writes a property name specified as a read-only character span and an value (as a JSON number) as part of a name/value pair of a JSON object. + The UTF-16 encoded property name of the JSON object to be transcoded and written as UTF-8. + The value to be written as a JSON number as part of the name/value pair. + The specified property name is too large. + Validation is enabled, and the write operation would produce invalid JSON. + + + Writes a property name specified as a read-only character span and a value (as a JSON number) as part of a name/value pair of a JSON object. + The UTF-16 encoded property name of the JSON object to be transcoded and written as UTF-8. + The value to be written as a JSON number as part of the name/value pair. + The specified property name is too large. + Validation is enabled, and the write operation would produce invalid JSON. + + + Writes a property name specified as a read-only character span and a value (as a JSON number) as part of a name/value pair of a JSON object. + The UTF-16 encoded property name of the JSON object to be transcoded and written as UTF-8. + The value to be written as a JSON number as part of the name/value pair. + The specified property name is too large. + Validation is enabled, and the write operation would produce invalid JSON. + + + Writes a property name specified as a read-only character span and a value (as a JSON number) as part of a name/value pair of a JSON object. + The UTF-16 encoded property name of the JSON object to be transcoded and written as UTF-8. + The value to be written as a JSON number as part of the name/value pair. + The specified property name is too large. + Validation is enabled, and the write operation would produce invalid JSON. + + + Writes a property name specified as a string and a value (as a JSON number) as part of a name/value pair of a JSON object. + The UTF-16 encoded property name of the JSON object to be transcoded and written as UTF-8. + The value to be written as a JSON number as part of the name/value pair. + The specified property name is too large. + Validation is enabled, and the write operation would produce invalid JSON. + The parameter is . + + + Writes a property name specified as a string and a value (as a JSON number) as part of a name/value pair of a JSON object. + The UTF-16 encoded property name of the JSON object to be transcoded and written as UTF-8. + The value to be written as a JSON number as part of the name/value pair. + The specified property name is too large. + Validation is enabled, and the write operation would produce invalid JSON. + The parameter is . + + + Writes a property name specified as a string and an value (as a JSON number) as part of a name/value pair of a JSON object. + The UTF-16 encoded property name of the JSON object to be transcoded and written as UTF-8. + The value to be written as a JSON number as part of the name/value pair. + The specified property name is too large. + Validation is enabled, and the write operation would produce invalid JSON. + The parameter is . + + + Writes a property name specified as a string and an value (as a JSON number) as part of a name/value pair of a JSON object. + The UTF-16 encoded property name of the JSON object to be transcoded and written as UTF-8. + The value to be written as a JSON number as part of the name/value pair. + The specified property name is too large. + Validation is enabled, and the write operation would produce invalid JSON. + The parameter is . + + + Writes a property name specified as a string and a value (as a JSON number) as part of a name/value pair of a JSON object. + The UTF-16 encoded property name of the JSON object to be transcoded and written as UTF-8. + The value to be written as a JSON number as part of the name/value pair. + The specified property name is too large. + Validation is enabled, and the write operation would produce invalid JSON. + The parameter is . + + + Writes a property name specified as a string and a value (as a JSON number) as part of a name/value pair of a JSON object. + The UTF-16 encoded property name of the JSON object to be transcoded and written as UTF-8. + The value to be written as a JSON number as part of the name/value pair. + The specified property name is too large. + Validation is enabled, and the write operation would produce invalid JSON. + The parameter is . + + + Writes a property name specified as a string and a value (as a JSON number) as part of a name/value pair of a JSON object. + The UTF-16 encoded property name of the JSON object to be transcoded and written as UTF-8. + The value to be written as a JSON number as part of the name/value pair. + The specified property name is too large. + Validation is enabled, and the write operation would produce invalid JSON. + The parameter is . + + + Writes the pre-encoded property name and value (as a JSON number) as part of a name/value pair of a JSON object. + The JSON encoded property name of the JSON object to be transcoded and written as UTF-8. + The value to be written as a JSON number as part of the name/value pair. + Validation is enabled, and this method would result in writing invalid JSON. + + + Writes the pre-encoded property name and value (as a JSON number) as part of a name/value pair of a JSON object. + The JSON encoded property name of the JSON object to be transcoded and written as UTF-8. + The value to be written as a JSON number as part of the name/value pair. + Validation is enabled, and this method would result in writing invalid JSON. + + + Writes the pre-encoded property name and value (as a JSON number) as part of a name/value pair of a JSON object. + The JSON encoded property name of the JSON object to be transcoded and written as UTF-8. + The value to be written as a JSON number as part of the name/value pair. + Validation is enabled, and this method would result in writing invalid JSON. + + + Writes the pre-encoded property name and value (as a JSON number) as part of a name/value pair of a JSON object. + The JSON encoded property name of the JSON object to be transcoded and written as UTF-8. + The value to be written as a JSON number as part of the name/value pair. + Validation is enabled, and this method would result in writing invalid JSON. + + + Writes the pre-encoded property name and value (as a JSON number) as part of a name/value pair of a JSON object. + The JSON encoded property name of the JSON object to be transcoded and written as UTF-8. + The value to be written as a JSON number as part of the name/value pair. + Validation is enabled, and this method would result in writing invalid JSON. + + + Writes the pre-encoded property name and value (as a JSON number) as part of a name/value pair of a JSON object. + The JSON encoded property name of the JSON object to be transcoded and written as UTF-8. + The value to be written as a JSON number as part of the name/value pair. + Validation is enabled, and this method would result in writing invalid JSON. + + + Writes the pre-encoded property name and value (as a JSON number) as part of a name/value pair of a JSON object. + The JSON encoded property name of the JSON object to be transcoded and written as UTF-8. + The value to be written as a JSON number as part of the name/value pair. + Validation is enabled, and this method would result in writing invalid JSON. + + + Writes a value (as a JSON number) as an element of a JSON array. + The value to be written as a JSON number as an element of a JSON array. + Validation is enabled, and the operation would result in writing invalid JSON. + + + Writes a value (as a JSON number) as an element of a JSON array. + The value to be written as a JSON number as an element of a JSON array. + Validation is enabled, and the operation would result in writing invalid JSON. + + + Writes an value (as a JSON number) as an element of a JSON array. + The value to be written as a JSON number as an element of a JSON array. + Validation is enabled, and the operation would result in writing invalid JSON. + + + Writes an value (as a JSON number) as an element of a JSON array. + The value to be written as a JSON number as an element of a JSON array. + Validation is enabled, and the operation would result in writing invalid JSON. + + + Writes a value (as a JSON number) as an element of a JSON array. + The value to be written as a JSON number as an element of a JSON array. + Validation is enabled, and the operation would result in writing invalid JSON. + + + Writes a value (as a JSON number) as an element of a JSON array. + The value to be written as a JSON number as an element of a JSON array. + Validation is enabled, and the operation would result in writing invalid JSON. + + + Writes a value (as a JSON number) as an element of a JSON array. + The value to be written as a JSON number as an element of a JSON array. + Validation is enabled, and the operation would result in writing invalid JSON. + + + Writes the UTF-8 property name (as a JSON string) as the first part of a name/value pair of a JSON object. + The UTF-8 encoded property name of the JSON object to be written. + The specified property name is too large. + Validation is enabled, and this write operation would produce invalid JSON. + + + Writes the property name (as a JSON string) as the first part of a name/value pair of a JSON object. + The property name of the JSON object to be transcoded and written as UTF-8. + The specified property name is too large. + Validation is enabled, and this write operation would produce invalid JSON. + + + Writes the property name (as a JSON string) as the first part of a name/value pair of a JSON object. + The property name of the JSON object to be transcoded and written as UTF-8. + The specified property name is too large. + Validation is enabled, and this write operation would produce invalid JSON. + + is . + + + Writes the pre-encoded property name (as a JSON string) as the first part of a name/value pair of a JSON object. + The JSON encoded property name of the JSON object to be transcoded and written as UTF-8. + Validation is enabled, and this write operation would produce invalid JSON. + + + Writes the input as JSON content. It is expected that the input content is a single complete JSON value. + The raw JSON content to write. + + to validate if the input is an RFC 8259-compliant JSON payload; to skip validation. + The length of the input is zero or equal to Int32.MaxValue. + + is , and the input + is not a valid, complete, single JSON value according to the JSON RFC + or the input JSON exceeds a recursive depth of 64. + + + Writes the input as JSON content. It is expected that the input content is a single complete JSON value. + The raw JSON content to write. + + to validate if the input is an RFC 8259-compliant JSON payload; otherwise. + The length of the input is zero or equal to Int32.MaxValue. + + is , and the input is not a valid, complete, single JSON value according to the JSON RFC, or the input JSON exceeds a recursive depth of 64. + + + Writes the input as JSON content. It is expected that the input content is a single complete JSON value. + The raw JSON content to write. + + to validate if the input is an RFC 8259-compliant JSON payload; otherwise. + The length of the input is zero or greater than 715,827,882 (Int32.MaxValue / 3). + + is , and the input is not a valid, complete, single JSON value according to the JSON RFC, or the input JSON exceeds a recursive depth of 64. + + + Writes the input as JSON content. It is expected that the input content is a single complete JSON value. + The raw JSON content to write. + + to validate if the input is an RFC 8259-compliant JSON payload; otherwise. + + is . + The length of the input is zero or greater than 715,827,882 (Int32.MaxValue / 3). + + is , and the input is not a valid, complete, single JSON value according to the JSON RFC, or the input JSON exceeds a recursive depth of 64. + + + Writes the beginning of a JSON array. + The depth of the JSON exceeds the maximum depth of 1,000. + +-or- + +Validation is enabled, and this write operation would produce invalid JSON. + + + Writes the beginning of a JSON array with a property name specified as a read-only span of bytes as the key. + The UTF-8 encoded property name of the JSON array to be written. + The specified property name is too large. + The depth of the JSON exceeds the maximum depth of 1,000. + +-or- + +Validation is enabled, and this write operation would produce invalid JSON. + + + Writes the beginning of a JSON array with a property name specified as a read-only character span as the key. + The UTF-16 encoded property name of the JSON array to be transcoded and written as UTF-8. + The specified property name is too large. + The depth of the JSON exceeds the maximum depth of 1,000. + +-or- + +Validation is enabled, and this write operation would produce invalid JSON. + + + Writes the beginning of a JSON array with a property name specified as a string as the key. + The UTF-16 encoded property name of the JSON array to be transcoded and written as UTF-8. + The specified property name is too large. + The depth of the JSON exceeds the maximum depth of 1,000. + +-or- + +Validation is enabled, and this write operation would produce invalid JSON. + The parameter is . + + + Writes the beginning of a JSON array with a pre-encoded property name as the key. + The JSON encoded property name of the JSON array to be transcoded and written as UTF-8. + The depth of the JSON has exceeded the maximum depth of 1,000. + +-or- + +Validation is enabled, and this method would result in writing invalid JSON. + + + Writes the beginning of a JSON object. + The depth of the JSON exceeds the maximum depth of 1,000. + +-or- + +Validation is enabled, and the operation would result in writing invalid JSON. + + + Writes the beginning of a JSON object with a property name specified as a read-only span of bytes as the key. + The UTF-8 encoded property name of the JSON object to be written. + The specified property name is too large. + The depth of the JSON exceeds the maximum depth of 1,000. + +-or- + +Validation is enabled, and this write operation would produce invalid JSON. + + + Writes the beginning of a JSON object with a property name specified as a read-only character span as the key. + The UTF-16 encoded property name of the JSON object to be transcoded and written as UTF-8. + The specified property name is too large. + The depth of the JSON exceeds the maximum depth of 1,000. + +-or- + +Validation is enabled, and this write operation would produce invalid JSON. + + + Writes the beginning of a JSON object with a property name specified as a string as the key. + The UTF-16 encoded property name of the JSON object to be transcoded and written as UTF-8. + The specified property name is too large. + The depth of the JSON exceeds the maximum depth of 1,000. + +-or- + +Validation is enabled, and this write operation would produce invalid JSON. + The parameter is . + + + Writes the beginning of a JSON object with a pre-encoded property name as the key. + The JSON encoded property name of the JSON object to be transcoded and written as UTF-8. + The depth of the JSON has exceeded the maximum depth of 1,000. + +-or- + +Validation is enabled, and this method would result in writing invalid JSON. + + + Writes a UTF-8 property name and a value (as a JSON string) as part of a name/value pair of a JSON object. + The UTF-8 encoded property name of the JSON object to be written. + The value to be written as a JSON string as part of the name/value pair. + The specified property name is too large. + Validation is enabled, and the write operation would produce invalid JSON. + + + Writes a UTF-8 property name and a value (as a JSON string) as part of a name/value pair of a JSON object. + The UTF-8 encoded property name of the JSON object to be written. + The value to be written as a JSON string as part of the name/value pair. + The specified property name is too large. + Validation is enabled, and the write operation would produce invalid JSON. + + + Writes a UTF-8 property name and a value (as a JSON string) as part of a name/value pair of a JSON object. + The UTF-8 encoded property name of the JSON object to be written. + The value to be written as a JSON string as part of the name/value pair. + The specified property name is too large. + Validation is enabled, and the write operation would produce invalid JSON. + + + Writes a UTF-8 property name and UTF-8 text value (as a JSON string) as part of a name/value pair of a JSON object. + The UTF-8 encoded property name of the JSON object to be written. + The UTF-8 encoded value to be written as a JSON string as part of the name/value pair. + The specified property name or value is too large. + Validation is enabled, and the write operation would produce invalid JSON. + + + Writes a UTF-8 property name and UTF-16 text value (as a JSON string) as part of a name/value pair of a JSON object. + The UTF-8 encoded property name of the JSON object to be written. + The UTF-16 encoded value to be written as a UTF-8 transcoded JSON string as part of the name/value pair. + The specified property name or value is too large. + Validation is enabled, and the write operation would produce invalid JSON. + + + Writes a UTF-8 property name and string text value (as a JSON string) as part of a name/value pair of a JSON object. + The UTF-8 encoded property name of the JSON object to be written. + The UTF-16 encoded value to be written as a UTF-8 transcoded JSON string as part of the name/value pair. + The specified property name or value is too large. + Validation is enabled, and the write operation would produce invalid JSON. + + + Writes the UTF-8 property name and pre-encoded value (as a JSON string) as part of a name/value pair of a JSON object. + The UTF-8 encoded property name of the JSON object to be written. + The JSON encoded value to be written as a UTF-8 transcoded JSON string as part of the name/value pair. + The specified property name is too large. + Validation is enabled, and this method would result in writing invalid JSON. + + + Writes a property name specified as a read-only character span and a value (as a JSON string) as part of a name/value pair of a JSON object. + The UTF-16 encoded property name of the JSON object to be transcoded and written as UTF-8. + The value to be written as a JSON string as part of the name/value pair. + The specified property name is too large. + Validation is enabled, and the write operation would produce invalid JSON. + + + Writes a property name specified as a read-only character span and a value (as a JSON string) as part of a name/value pair of a JSON object. + The UTF-16 encoded property name of the JSON object to be transcoded and written as UTF-8. + The value to be written as a JSON string as part of the name/value pair. + The specified property name is too large. + Validation is enabled, and the write operation would produce invalid JSON. + + + Writes a property name specified as a read-only character span and a value (as a JSON string) as part of a name/value pair of a JSON object. + The UTF-16 encoded property name of the JSON object to be transcoded and written as UTF-8. + The value to be written as a JSON string as part of the name/value pair. + The specified property name is too large. + Validation is enabled, and the write operation would produce invalid JSON. + + + Writes a UTF-16 property name and UTF-8 text value (as a JSON string) as part of a name/value pair of a JSON object. + The UTF-16 encoded property name of the JSON object to be transcoded and written as UTF-8. + The UTF-8 encoded value to be written as a JSON string as part of the name/value pair. + The specified property name or value is too large. + Validation is enabled, and the write operation would produce invalid JSON. + + + Writes a UTF-16 property name and UTF-16 text value (as a JSON string) as part of a name/value pair of a JSON object. + The UTF-16 encoded property name of the JSON object to be transcoded and written as UTF-8. + The UTF-16 encoded value to be written as a UTF-8 transcoded JSON string as part of the name/value pair. + The specified property name or value is too large. + Validation is enabled, and the write operation would produce invalid JSON. + + + Writes a UTF-16 property name and string text value (as a JSON string) as part of a name/value pair of a JSON object. + The UTF-16 encoded property name of the JSON object to be transcoded and written as UTF-8. + The UTF-16 encoded value to be written as a UTF-8 transcoded JSON string as part of the name/value pair. + The specified property name or value is too large. + Validation is enabled, and the write operation would produce invalid JSON. + + + Writes the property name and pre-encoded value (as a JSON string) as part of a name/value pair of a JSON object. + The property name of the JSON object to be transcoded and written as UTF-8. + The JSON encoded value to be written as a UTF-8 transcoded JSON string as part of the name/value pair. + The specified property name is too large. + Validation is enabled, and the write operation would produce invalid JSON. + + + Writes a property name specified as a string and a value (as a JSON string) as part of a name/value pair of a JSON object. + The UTF-16 encoded property name of the JSON object to be transcoded and written as UTF-8. + The value to be written as a JSON string as part of the name/value pair. + The specified property name is too large. + Validation is enabled, and the write operation would produce invalid JSON. + The parameter is . + + + Writes a property name specified as a string and a value (as a JSON string) as part of a name/value pair of a JSON object. + The UTF-16 encoded property name of the JSON object to be transcoded and written as UTF-8. + The value to be written as a JSON string as part of the name/value pair. + The specified property name is too large. + Validation is enabled, and the write operation would produce invalid JSON. + The parameter is . + + + Writes a property name specified as a string and a value (as a JSON string) as part of a name/value pair of a JSON object. + The UTF-16 encoded property name of the JSON object to be transcoded and written as UTF-8. + The value to be written as a JSON string as part of the name/value pair. + The specified property name is too large. + Validation is enabled, and the write operation would produce invalid JSON. + The parameter is . + + + Writes a property name specified as a string and a UTF-8 text value (as a JSON string) as part of a name/value pair of a JSON object. + The UTF-16 encoded property name of the JSON object to be transcoded and written as UTF-8. + The UTF-8 encoded value to be written as a JSON string as part of the name/value pair. + The specified property name or value is too large. + Validation is enabled, and the write operation would produce invalid JSON. + The parameter is . + + + Writes a property name specified as a string and a UTF-16 text value (as a JSON string) as part of a name/value pair of a JSON object. + The UTF-16 encoded property name of the JSON object to be transcoded and written as UTF-8. + The UTF-16 encoded value to be written as a UTF-8 transcoded JSON string as part of the name/value pair. + The specified property name or value is too large. + Validation is enabled, and the write operation would produce invalid JSON. + The parameter is . + + + Writes a property name specified as a string and a string text value (as a JSON string) as part of a name/value pair of a JSON object. + The UTF-16 encoded property name of the JSON object to be transcoded and written as UTF-8. + The UTF-16 encoded value to be written as a UTF-8 transcoded JSON string as part of the name/value pair. + The specified property name or value is too large. + Validation is enabled, and the write operation would produce invalid JSON. + The parameter is . + + + Writes the property name and pre-encoded value (as a JSON string) as part of a name/value pair of a JSON object. + The property name of the JSON object to be transcoded and written as UTF-8. + The JSON encoded value to be written as a UTF-8 transcoded JSON string as part of the name/value pair. + The specified property name is too large. + Validation is enabled, and the write operation would produce invalid JSON. + The parameter is . + + + Writes the pre-encoded property name and value (as a JSON string) as part of a name/value pair of a JSON object. + The JSON encoded property name of the JSON object to be transcoded and written as UTF-8. + The value to be written as a JSON string as part of the name/value pair. + Validation is enabled, and the write operation would produce invalid JSON. + + + Writes the pre-encoded property name and value (as a JSON string) as part of a name/value pair of a JSON object. + The JSON encoded property name of the JSON object to be transcoded and written as UTF-8. + The value to be written as a JSON string as part of the name/value pair. + Validation is enabled, and the write operation would produce invalid JSON. + + + Writes the pre-encoded property name and value (as a JSON string) as part of a name/value pair of a JSON object. + The JSON encoded property name of the JSON object to be transcoded and written as UTF-8. + The value to be written as a JSON string as part of the name/value pair. + Validation is enabled, and the write operation would produce invalid JSON. + + + Writes the pre-encoded property name and UTF-8 text value (as a JSON string) as part of a name/value pair of a JSON object. + The JSON encoded property name of the JSON object to be transcoded and written as UTF-8. + The UTF-8 encoded value to be written as a JSON string as part of the name/value pair. + The specified value is too large. + Validation is enabled, and the write operation would produce invalid JSON. + + + Writes the pre-encoded property name and text value (as a JSON string) as part of a name/value pair of a JSON object. + The JSON encoded property name of the JSON object to be transcoded and written as UTF-8. + The value to be written as a UTF-8 transcoded JSON string as part of the name/value pair. + The specified value is too large. + Validation is enabled, and the write operation would produce invalid JSON. + + + Writes the pre-encoded property name and string text value (as a JSON string) as part of a name/value pair of a JSON object. + The JSON encoded property name of the JSON object to be transcoded and written as UTF-8. + The value to be written as a UTF-8 transcoded JSON string as part of the name/value pair. + The specified value is too large. + Validation is enabled, and the write operation would produce invalid JSON. + + + Writes the pre-encoded property name and pre-encoded value (as a JSON string) as part of a name/value pair of a JSON object. + The JSON encoded property name of the JSON object to be transcoded and written as UTF-8. + The JSON encoded value to be written as a UTF-8 transcoded JSON string as part of the name/value pair. + Validation is enabled, and the write operation would produce invalid JSON. + + + Writes a value (as a JSON string) as an element of a JSON array. + The value to be written as a JSON string as an element of a JSON array. + Validation is enabled, and the operation would result in writing invalid JSON. + + + Writes a value (as a JSON string) as an element of a JSON array. + The value to be written as a JSON string as an element of a JSON array. + Validation is enabled, and the operation would result in writing invalid JSON. + + + Writes a value (as a JSON string) as an element of a JSON array. + The value to be written as a JSON string as an element of a JSON array. + Validation is enabled, and the operation would result in writing invalid JSON. + + + Writes a UTF-8 text value (as a JSON string) as an element of a JSON array. + The UTF-8 encoded value to be written as a JSON string element of a JSON array. + The specified value is too large. + Validation is enabled, and the write operation would produce invalid JSON. + + + Writes a UTF-16 text value (as a JSON string) as an element of a JSON array. + The UTF-16 encoded value to be written as a UTF-8 transcoded JSON string element of a JSON array. + The specified value is too large. + Validation is enabled, and the write operation would produce invalid JSON. + + + Writes a string text value (as a JSON string) as an element of a JSON array. + The UTF-16 encoded value to be written as a UTF-8 transcoded JSON string element of a JSON array. + The specified value is too large. + Validation is enabled, and the write operation would produce invalid JSON. + + + Writes the pre-encoded text value (as a JSON string) as an element of a JSON array. + The JSON encoded value to be written as a UTF-8 transcoded JSON string element of a JSON array. + Validation is enabled, and the write operation would produce invalid JSON. + + + Gets the total number of bytes committed to the output by the current instance so far. + The total number of bytes committed to the output by the so far. + + + Gets the number of bytes written by the so far that have not yet been flushed to the output and committed. + The number of bytes written so far by the that have not yet been flushed to the output and committed. + + + Gets the depth of the current token. + The depth of the current token. + + + Gets the custom behavior when writing JSON using this instance, which indicates whether to format the output while writing, whether to skip structural JSON validation, and which characters to escape. + The custom behavior of this instance of the writer for formatting, validating, and escaping. + + + \ No newline at end of file diff --git a/db_lab/bin/Debug/System.Threading.Channels.dll b/db_lab/bin/Debug/System.Threading.Channels.dll new file mode 100644 index 0000000000000000000000000000000000000000..fee8f5a5049ec4f26b14c165f9966d62494c2ee2 GIT binary patch literal 74000 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 z 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 WIRw`{W$yArgSR}|{`3*$z5XAzcgE%b literal 0 HcmV?d00001 diff --git a/db_lab/bin/Debug/System.Threading.Channels.xml b/db_lab/bin/Debug/System.Threading.Channels.xml new file mode 100644 index 0000000..20275dc --- /dev/null +++ b/db_lab/bin/Debug/System.Threading.Channels.xml @@ -0,0 +1,243 @@ + + + + System.Threading.Channels + + + + Specifies the behavior to use when writing to a bounded channel that is already full. + + + Removes and ignores the newest item in the channel in order to make room for the item being written. + + + Removes and ignores the oldest item in the channel in order to make room for the item being written. + + + Drops the item being written. + + + Waits for space to be available in order to complete the write operation. + + + Provides options that control the behavior of bounded instances. + + + Initializes the options. + The maximum number of items the bounded channel may store. + + + Gets or sets the maximum number of items the bounded channel may store. + + + Gets or sets the behavior incurred by write operations when the channel is full. + + + Provides static methods for creating channels. + + + Creates a channel with the specified maximum capacity. + The maximum number of items the channel may store. + Specifies the type of data in the channel. + The created channel. + + + Creates a channel with the specified maximum capacity. + Options that guide the behavior of the channel. + Specifies the type of data in the channel. + The created channel. + + + Creates a channel subject to the provided options. + Options that guide the behavior of the channel. + Delegate that will be called when item is being dropped from channel. See . + Specifies the type of data in the channel. + The created channel. + + + Creates an unbounded channel usable by any number of readers and writers concurrently. + The type of data in the channel. + The created channel. + + + Creates an unbounded channel subject to the provided options. + Options that guide the behavior of the channel. + Specifies the type of data in the channel. + The created channel. + + + Provides a base class for channels that support reading and writing elements of type . + Specifies the type of data readable and writable in the channel. + + + Initializes an instance of the class. + + + Provides a base class for channels that support reading elements of type and writing elements of type . + Specifies the type of data that may be written to the channel. + Specifies the type of data that may be read from the channel. + + + Initializes an instance of the class. + + + Implicit cast from a to its readable half. + The being cast. + The readable half. + + + Implicit cast from a to its writable half. + The being cast. + The writable half. + + + Gets the readable half of this channel. + + + Gets the writable half of this channel. + + + Exception thrown when a channel is used after it's been closed. + + + Initializes a new instance of the class. + + + Initializes a new instance of the class. + The exception that is the cause of this exception. + + + Initializes a new instance of the class with serialized data. + The object that holds the serialized object data. + The contextual information about the source or destination. + + + Initializes a new instance of the class. + The message that describes the error. + + + Initializes a new instance of the class. + The message that describes the error. + The exception that is the cause of this exception. + + + Provides options that control the behavior of channel instances. + + + Initializes an instance of the class. + + + + if operations performed on a channel may synchronously invoke continuations subscribed to + notifications of pending async operations; if all continuations should be invoked asynchronously. + + + + readers from the channel guarantee that there will only ever be at most one read operation at a time; + if no such constraint is guaranteed. + + + + if writers to the channel guarantee that there will only ever be at most one write operation + at a time; if no such constraint is guaranteed. + + + Provides a base class for reading from a channel. + Specifies the type of data that may be read from the channel. + + + Initializes an instance of the class. + + + Creates an that enables reading all of the data from the channel. + The cancellation token to use to cancel the enumeration. If data is immediately ready for reading, then that data may be yielded even after cancellation has been requested. + The created async enumerable. + + + Asynchronously reads an item from the channel. + A used to cancel the read operation. + A that represents the asynchronous read operation. + + + Attempts to peek at an item from the channel. + The peeked item, or a default value if no item could be peeked. + + if an item was read; otherwise, . + + + Attempts to read an item from the channel. + The read item, or a default value if no item could be read. + + if an item was read; otherwise, . + + + Returns a that will complete when data is available to read. + A used to cancel the wait operation. + + A that will complete with a result when data is available to read + or with a result when no further data will ever be available to be read due to the channel completing successfully. + If the channel completes with an exception, the task will also complete with an exception. + + + + Gets a value that indicates whether is available for use on this instance. + + + Gets a value that indicates whether is available for use on this instance. + + if peeking is supported by this channel instance; otherwise. + + + Gets a that completes when no more data will ever + be available to be read from this channel. + + + Gets the current number of items available from this channel reader. + Counting is not supported on this instance. + + + Provides a base class for writing to a channel. + Specifies the type of data that may be written to the channel. + + + Initializes an instance of the class. + + + Mark the channel as being complete, meaning no more items will be written to it. + Optional Exception indicating a failure that's causing the channel to complete. + The channel has already been marked as complete. + + + Attempts to mark the channel as being completed, meaning no more data will be written to it. + An indicating the failure causing no more data to be written, or null for success. + + if this operation successfully completes the channel; otherwise, if the channel could not be marked for completion, + for example due to having already been marked as such, or due to not supporting completion. + . + + + Attempts to write the specified item to the channel. + The item to write. + + if the item was written; otherwise, . + + + Returns a that will complete when space is available to write an item. + A used to cancel the wait operation. + A that will complete with a result when space is available to write an item + or with a result when no further writing will be permitted. + + + Asynchronously writes an item to the channel. + The value to write to the channel. + A used to cancel the write operation. + A that represents the asynchronous write operation. + + + Provides options that control the behavior of unbounded instances. + + + Initializes a new instance of the class. + + + \ No newline at end of file diff --git a/db_lab/bin/Debug/System.Threading.Tasks.Extensions.dll b/db_lab/bin/Debug/System.Threading.Tasks.Extensions.dll new file mode 100644 index 0000000000000000000000000000000000000000..eeec92852705946904d0e2fa0443d454075781f5 GIT binary patch literal 25984 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 X8xk??{<$qV(@xwRy_&qqMCktjQv_f` literal 0 HcmV?d00001 diff --git a/db_lab/bin/Debug/System.Threading.Tasks.Extensions.xml b/db_lab/bin/Debug/System.Threading.Tasks.Extensions.xml new file mode 100644 index 0000000..5e02a99 --- /dev/null +++ b/db_lab/bin/Debug/System.Threading.Tasks.Extensions.xml @@ -0,0 +1,166 @@ + + + System.Threading.Tasks.Extensions + + + + + + + + + + + + + + + + + + +

    Provides a value type that wraps a and a TResult, only one of which is used. + The result. + + + Initializes a new instance of the class using the supplied task that represents the operation. + The task. + The task argument is null. + + + Initializes a new instance of the class using the supplied result of a successful operation. + The result. + + + Retrieves a object that represents this . + The object that is wrapped in this if one exists, or a new object that represents the result. + + + Configures an awaiter for this value. + true to attempt to marshal the continuation back to the captured context; otherwise, false. + The configured awaiter. + + + Creates a method builder for use with an async method. + The created builder. + + + Determines whether the specified object is equal to the current object. + The object to compare with the current object. + true if the specified object is equal to the current object; otherwise, false. + + + Determines whether the specified object is equal to the current object. + The object to compare with the current object. + true if the specified object is equal to the current object; otherwise, false. + + + Creates an awaiter for this value. + The awaiter. + + + Returns the hash code for this instance. + The hash code for the current object. + + + Gets a value that indicates whether this object represents a canceled operation. + true if this object represents a canceled operation; otherwise, false. + + + Gets a value that indicates whether this object represents a completed operation. + true if this object represents a completed operation; otherwise, false. + + + Gets a value that indicates whether this object represents a successfully completed operation. + true if this object represents a successfully completed operation; otherwise, false. + + + Gets a value that indicates whether this object represents a failed operation. + true if this object represents a failed operation; otherwise, false. + + + Compares two values for equality. + The first value to compare. + The second value to compare. + true if the two values are equal; otherwise, false. + + + Determines whether two values are unequal. + The first value to compare. + The seconed value to compare. + true if the two values are not equal; otherwise, false. + + + Gets the result. + The result. + + + Returns a string that represents the current object. + A string that represents the current object. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/db_lab/bin/Debug/System.ValueTuple.dll b/db_lab/bin/Debug/System.ValueTuple.dll new file mode 100644 index 0000000000000000000000000000000000000000..4ce28fdeac6da139573ed0ff356c2df510692cee GIT binary patch literal 25232 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 + + + System.ValueTuple + + + + diff --git a/db_lab/bin/Debug/db_lab.exe b/db_lab/bin/Debug/db_lab.exe new file mode 100644 index 0000000000000000000000000000000000000000..c3a8d3c25eebc25016b56a995fce15f56ddf7227 GIT binary patch literal 11264 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 C4ITXe literal 0 HcmV?d00001 diff --git a/db_lab/bin/Debug/db_lab.exe.config b/db_lab/bin/Debug/db_lab.exe.config new file mode 100644 index 0000000..1bdad40 --- /dev/null +++ b/db_lab/bin/Debug/db_lab.exe.config @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/db_lab/bin/Debug/db_lab.pdb b/db_lab/bin/Debug/db_lab.pdb new file mode 100644 index 0000000000000000000000000000000000000000..e9cd83e145800e41dd0a90dc484bbb2025d4c30b GIT binary patch literal 50688 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 h;p4bhZ*kk1F zMLVVX;@epm0{a;g(8PE@!j06wTKaHUK#g^FL%<7=m-!4W>qZ`kw)LX2bM#=!J&3=6 zuW28R{OmJ4m`*xvIUk7(PPySj-hL2T%FWeOht#y?T@Y*#@-dI0GcqIEmYG?V#A(Wm zM${>@fMYW_Wk%cT%`-B~6})btDf40owoS`y=#0!@XUip@+a@u2E| zJa)f@qU?Sdx<|j
    6fnl5;B%@-9FH=e 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 + + + + Debug + AnyCPU + {27C228AD-7C9B-42AE-867B-8A592A3F4EE8} + WinExe + db_lab + db_lab + v4.7.2 + 512 + true + true + + + AnyCPU + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + AnyCPU + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + ..\packages\Microsoft.Bcl.AsyncInterfaces.8.0.0\lib\net462\Microsoft.Bcl.AsyncInterfaces.dll + + + ..\packages\Microsoft.Bcl.HashCode.1.1.1\lib\net461\Microsoft.Bcl.HashCode.dll + + + ..\packages\Microsoft.Extensions.DependencyInjection.Abstractions.8.0.0\lib\net462\Microsoft.Extensions.DependencyInjection.Abstractions.dll + + + ..\packages\Microsoft.Extensions.Logging.Abstractions.8.0.0\lib\net462\Microsoft.Extensions.Logging.Abstractions.dll + + + ..\packages\Npgsql.8.0.3\lib\netstandard2.0\Npgsql.dll + + + + ..\packages\System.Buffers.4.5.1\lib\net461\System.Buffers.dll + + + ..\packages\System.Collections.Immutable.8.0.0\lib\net462\System.Collections.Immutable.dll + + + + ..\packages\System.Diagnostics.DiagnosticSource.8.0.0\lib\net462\System.Diagnostics.DiagnosticSource.dll + + + ..\packages\System.Memory.4.5.5\lib\net461\System.Memory.dll + + + + ..\packages\System.Numerics.Vectors.4.5.0\lib\net46\System.Numerics.Vectors.dll + + + ..\packages\System.Runtime.CompilerServices.Unsafe.6.0.0\lib\net461\System.Runtime.CompilerServices.Unsafe.dll + + + ..\packages\System.Text.Encodings.Web.8.0.0\lib\net462\System.Text.Encodings.Web.dll + + + ..\packages\System.Text.Json.8.0.0\lib\net462\System.Text.Json.dll + + + ..\packages\System.Threading.Channels.8.0.0\lib\net462\System.Threading.Channels.dll + + + ..\packages\System.Threading.Tasks.Extensions.4.5.4\lib\net461\System.Threading.Tasks.Extensions.dll + + + ..\packages\System.ValueTuple.4.5.0\lib\net47\System.ValueTuple.dll + + + + + + + + + + + + + + Form + + + DataForm.cs + + + Form + + + Form1.cs + + + Form + + + GuideForm.cs + + + + + Form + + + RaportForm.cs + + + Form1.cs + + + ResXFileCodeGenerator + Resources.Designer.cs + Designer + + + True + Resources.resx + + + + SettingsSingleFileGenerator + Settings.Designer.cs + + + True + Settings.settings + True + + + + + + + \ No newline at end of file diff --git a/db_lab/docker-compose.yaml b/db_lab/docker-compose.yaml new file mode 100644 index 0000000..f84be54 --- /dev/null +++ b/db_lab/docker-compose.yaml @@ -0,0 +1,30 @@ +version: '3' +services: + postgres: + image: postgres:latest + restart: always + ports: + - 5432:5432 + environment: + POSTGRES_DB: SQL_Servers + POSTGRES_PASSWORD: postgres + POSTGRES_USER: postgres + volumes: + - postgres:/var/lib/postgresql/data + + pgadmin: + image: dpage/pgadmin4:4.16 + environment: + PGADMIN_DEFAULT_EMAIL: admin@pgadmin.com + PGADMIN_DEFAULT_PASSWORD: password + PGADMIN_LISTEN_PORT: 80 + ports: + - 15432:80 + volumes: + - pgadmin:/var/lib/pgadmin + depends_on: + - postgres + +volumes: + postgres: + pgadmin: diff --git a/db_lab/obj/Debug/.NETFramework,Version=v4.7.2.AssemblyAttributes.cs b/db_lab/obj/Debug/.NETFramework,Version=v4.7.2.AssemblyAttributes.cs new file mode 100644 index 0000000..3871b18 --- /dev/null +++ b/db_lab/obj/Debug/.NETFramework,Version=v4.7.2.AssemblyAttributes.cs @@ -0,0 +1,4 @@ +// +using System; +using System.Reflection; +[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.7.2", FrameworkDisplayName = ".NET Framework 4.7.2")] diff --git a/db_lab/obj/Debug/DesignTimeResolveAssemblyReferences.cache b/db_lab/obj/Debug/DesignTimeResolveAssemblyReferences.cache new file mode 100644 index 0000000000000000000000000000000000000000..d5da7b91df461e168f00350ded7f3effe6720a06 GIT binary patch literal 139 zcmZQ$WMp7qU`%tiiU}ynPcKT$RdCD9Ni9~;sIV~8j0s9jOD#&xOHNgAEG|yXP0Gnk zEspWcOfJeV&QB|eaRaJPEzd8?j?wdT4MFhAO!Un4jA9&=li7f_{vp0RMt)>wDUz0ACAL`8f+b2jJKwx^XTD#5s?}60Xl2yEl2-vIduAeoLuo+|Xn@Wr01YyL`kpZ$ zeD1eyAqmpkP=+aFtyhAC-C3u2HVS~WS8 zXAoHYk?i@#YMMU(Fx=~?L2Ez%e`}9a6k#!zv2f*9w2D@eEnxzsu|{2%PS;6NCyvZ} zo)-B|UT(%x8B!fS#=6heQSCqLsO?RR1wmdV1FS(q8sy1xHGi{?>OYiF-&CB>Ysip8 zAreb{4p$Fs2DVxnp~Fg2QlM&ZS-GeZq(v?0RZ4{@$*@I|Z4 z0(uNW=}CI5pX9ejV|UwIUPk4^DxK(nB?s1~t*Kg|M1Xe1gC408;p*i3Pw}==*?qV$ zQ{-{GB8PaN$`pJzk(LP{O(kNS2y_qh1#`p9i8OQoWOsR{DH3Tmi{jW@N z`-Q4LHRpybT==ffHdY+SA8bJ@f)dd^r96Rt5@Wx0pqIt`G%w}_3B(YHar;AR7TmW? zhH7L;TWOIVQs+@+XnzUrE`myL9EWkldkzd4U+oV5pHu?s zG;g$%IgEpv|83&OZ__4Doh+mlGP*KJ$;|AR=>e1W4Yk9zR^kxH%GrZypXvx~L0Vc& zr#I_l)|z%9V#p^ZFM7!6MpVNB=UHMpkLFD0Q30oTh{Njsc=q$OOGgg9gA{4D1_AY% z^jhF2k(WAlE5`hdnYgY$XFOc_XBm7842xtRdq5YA;ul3s3sQ(Iod!d=i-uN{YiIZE xpTWFrA1sE&HdXgB9;8^SPt51+Tl&eqQM^LYj0`&T!eI6wdZ literal 0 HcmV?d00001 diff --git a/db_lab/obj/Debug/db_lab.Form1.resources b/db_lab/obj/Debug/db_lab.Form1.resources new file mode 100644 index 0000000000000000000000000000000000000000..6c05a9776bd7cbae976fdcec7e3a254e93018279 GIT binary patch literal 180 zcmX?i>is@O1_p+SK%5g?SzMBus~417oL^d$oLUTL1*ImYq!#HYR*8GxXUf^%t3Noi54ZC+|=Nl{{sjzU0bQch;FcWPxwes*e}ZIZcpqG__J onW3ezNveT`r81^vrFkWpxv4PQgHubGfR2KJ07n-P+5+SQ04Y>DD*ylh literal 0 HcmV?d00001 diff --git a/db_lab/obj/Debug/db_lab.Properties.Resources.resources b/db_lab/obj/Debug/db_lab.Properties.Resources.resources new file mode 100644 index 0000000000000000000000000000000000000000..6c05a9776bd7cbae976fdcec7e3a254e93018279 GIT binary patch literal 180 zcmX?i>is@O1_p+SK%5g?SzMBus~417oL^d$oLUTL1*ImYq!#HYR*8GxXUf^%t3Noi54ZC+|=Nl{{sjzU0bQch;FcWPxwes*e}ZIZcpqG__J onW3ezNveT`r81^vrFkWpxv4PQgHubGfR2KJ07n-P+5+SQ04Y>DD*ylh literal 0 HcmV?d00001 diff --git a/db_lab/obj/Debug/db_lab.csproj.AssemblyReference.cache b/db_lab/obj/Debug/db_lab.csproj.AssemblyReference.cache new file mode 100644 index 0000000000000000000000000000000000000000..7cef90f0a98e48ce47fa28f7e6d98ce6071a213c GIT binary patch literal 22721 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 literal 0 HcmV?d00001 diff --git a/db_lab/obj/Debug/db_lab.csproj.CopyComplete b/db_lab/obj/Debug/db_lab.csproj.CopyComplete new file mode 100644 index 0000000..e69de29 diff --git a/db_lab/obj/Debug/db_lab.csproj.CoreCompileInputs.cache b/db_lab/obj/Debug/db_lab.csproj.CoreCompileInputs.cache new file mode 100644 index 0000000..8112610 --- /dev/null +++ b/db_lab/obj/Debug/db_lab.csproj.CoreCompileInputs.cache @@ -0,0 +1 @@ +6cfe98626599e0585a6a4cbde9575a47698b081aa3748f1df4309e2ac8c0a680 diff --git a/db_lab/obj/Debug/db_lab.csproj.FileListAbsolute.txt b/db_lab/obj/Debug/db_lab.csproj.FileListAbsolute.txt new file mode 100644 index 0000000..fe09417 --- /dev/null +++ b/db_lab/obj/Debug/db_lab.csproj.FileListAbsolute.txt @@ -0,0 +1,43 @@ +C:\Users\mit3t\source\repos\db_lab\db_lab\bin\Debug\db_lab.exe.config +C:\Users\mit3t\source\repos\db_lab\db_lab\bin\Debug\db_lab.exe +C:\Users\mit3t\source\repos\db_lab\db_lab\bin\Debug\db_lab.pdb +C:\Users\mit3t\source\repos\db_lab\db_lab\obj\Debug\db_lab.csproj.AssemblyReference.cache +C:\Users\mit3t\source\repos\db_lab\db_lab\obj\Debug\db_lab.Properties.Resources.resources +C:\Users\mit3t\source\repos\db_lab\db_lab\obj\Debug\db_lab.csproj.GenerateResource.cache +C:\Users\mit3t\source\repos\db_lab\db_lab\obj\Debug\db_lab.csproj.CoreCompileInputs.cache +C:\Users\mit3t\source\repos\db_lab\db_lab\obj\Debug\db_lab.exe +C:\Users\mit3t\source\repos\db_lab\db_lab\obj\Debug\db_lab.pdb +C:\Users\mit3t\source\repos\db_lab\db_lab\obj\Debug\db_lab.Form1.resources +C:\Users\mit3t\source\repos\db_lab\db_lab\bin\Debug\Microsoft.Bcl.AsyncInterfaces.dll +C:\Users\mit3t\source\repos\db_lab\db_lab\bin\Debug\Microsoft.Bcl.HashCode.dll +C:\Users\mit3t\source\repos\db_lab\db_lab\bin\Debug\Microsoft.Extensions.DependencyInjection.Abstractions.dll +C:\Users\mit3t\source\repos\db_lab\db_lab\bin\Debug\Microsoft.Extensions.Logging.Abstractions.dll +C:\Users\mit3t\source\repos\db_lab\db_lab\bin\Debug\Npgsql.dll +C:\Users\mit3t\source\repos\db_lab\db_lab\bin\Debug\System.Buffers.dll +C:\Users\mit3t\source\repos\db_lab\db_lab\bin\Debug\System.Collections.Immutable.dll +C:\Users\mit3t\source\repos\db_lab\db_lab\bin\Debug\System.Diagnostics.DiagnosticSource.dll +C:\Users\mit3t\source\repos\db_lab\db_lab\bin\Debug\System.Memory.dll +C:\Users\mit3t\source\repos\db_lab\db_lab\bin\Debug\System.Numerics.Vectors.dll +C:\Users\mit3t\source\repos\db_lab\db_lab\bin\Debug\System.Runtime.CompilerServices.Unsafe.dll +C:\Users\mit3t\source\repos\db_lab\db_lab\bin\Debug\System.Text.Encodings.Web.dll +C:\Users\mit3t\source\repos\db_lab\db_lab\bin\Debug\System.Text.Json.dll +C:\Users\mit3t\source\repos\db_lab\db_lab\bin\Debug\System.Threading.Channels.dll +C:\Users\mit3t\source\repos\db_lab\db_lab\bin\Debug\System.Threading.Tasks.Extensions.dll +C:\Users\mit3t\source\repos\db_lab\db_lab\bin\Debug\System.ValueTuple.dll +C:\Users\mit3t\source\repos\db_lab\db_lab\bin\Debug\Microsoft.Bcl.AsyncInterfaces.xml +C:\Users\mit3t\source\repos\db_lab\db_lab\bin\Debug\Microsoft.Bcl.HashCode.xml +C:\Users\mit3t\source\repos\db_lab\db_lab\bin\Debug\Microsoft.Extensions.DependencyInjection.Abstractions.xml +C:\Users\mit3t\source\repos\db_lab\db_lab\bin\Debug\Microsoft.Extensions.Logging.Abstractions.xml +C:\Users\mit3t\source\repos\db_lab\db_lab\bin\Debug\Npgsql.xml +C:\Users\mit3t\source\repos\db_lab\db_lab\bin\Debug\System.Buffers.xml +C:\Users\mit3t\source\repos\db_lab\db_lab\bin\Debug\System.Collections.Immutable.xml +C:\Users\mit3t\source\repos\db_lab\db_lab\bin\Debug\System.Diagnostics.DiagnosticSource.xml +C:\Users\mit3t\source\repos\db_lab\db_lab\bin\Debug\System.Memory.xml +C:\Users\mit3t\source\repos\db_lab\db_lab\bin\Debug\System.Numerics.Vectors.xml +C:\Users\mit3t\source\repos\db_lab\db_lab\bin\Debug\System.Runtime.CompilerServices.Unsafe.xml +C:\Users\mit3t\source\repos\db_lab\db_lab\bin\Debug\System.Text.Encodings.Web.xml +C:\Users\mit3t\source\repos\db_lab\db_lab\bin\Debug\System.Text.Json.xml +C:\Users\mit3t\source\repos\db_lab\db_lab\bin\Debug\System.Threading.Channels.xml +C:\Users\mit3t\source\repos\db_lab\db_lab\bin\Debug\System.Threading.Tasks.Extensions.xml +C:\Users\mit3t\source\repos\db_lab\db_lab\bin\Debug\System.ValueTuple.xml +C:\Users\mit3t\source\repos\db_lab\db_lab\obj\Debug\db_lab.csproj.CopyComplete diff --git a/db_lab/obj/Debug/db_lab.csproj.GenerateResource.cache b/db_lab/obj/Debug/db_lab.csproj.GenerateResource.cache new file mode 100644 index 0000000000000000000000000000000000000000..f407cb6fb86542f57a1e89726b89c603cf67a310 GIT binary patch literal 126 zcmZQ$WMW`oV3Z6f$}dPQD#=VOjtNRF&Mz%WPA%3eN-eHn1WMzR2Wc;1`>W(ye20UP ck;^T=DAy24Ba#3}<)l~tP6mQif{bMV045M5PXGV_ literal 0 HcmV?d00001 diff --git a/db_lab/obj/Debug/db_lab.exe b/db_lab/obj/Debug/db_lab.exe new file mode 100644 index 0000000000000000000000000000000000000000..c3a8d3c25eebc25016b56a995fce15f56ddf7227 GIT binary patch literal 11264 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 C4ITXe literal 0 HcmV?d00001 diff --git a/db_lab/obj/Debug/db_lab.pdb b/db_lab/obj/Debug/db_lab.pdb new file mode 100644 index 0000000000000000000000000000000000000000..e9cd83e145800e41dd0a90dc484bbb2025d4c30b GIT binary patch literal 50688 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 h;p4bhZ*kk1F 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 + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/packages/Microsoft.Bcl.AsyncInterfaces.8.0.0/.signature.p7s b/packages/Microsoft.Bcl.AsyncInterfaces.8.0.0/.signature.p7s new file mode 100644 index 0000000000000000000000000000000000000000..f9544673afccc8310301907bf22eabfa07102f6b GIT binary patch literal 24214 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 aP3H*JD5Jjm{4}uUR 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 literal 0 HcmV?d00001 diff --git a/packages/Microsoft.Bcl.AsyncInterfaces.8.0.0/LICENSE.TXT b/packages/Microsoft.Bcl.AsyncInterfaces.8.0.0/LICENSE.TXT new file mode 100644 index 0000000..984713a --- /dev/null +++ b/packages/Microsoft.Bcl.AsyncInterfaces.8.0.0/LICENSE.TXT @@ -0,0 +1,23 @@ +The MIT License (MIT) + +Copyright (c) .NET Foundation and Contributors + +All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/packages/Microsoft.Bcl.AsyncInterfaces.8.0.0/Microsoft.Bcl.AsyncInterfaces.8.0.0.nupkg b/packages/Microsoft.Bcl.AsyncInterfaces.8.0.0/Microsoft.Bcl.AsyncInterfaces.8.0.0.nupkg new file mode 100644 index 0000000000000000000000000000000000000000..f707fc620eb3ef67d8b2ef3cbb311a5a9cb659d2 GIT binary patch literal 99740 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 literal 0 HcmV?d00001 diff --git a/packages/Microsoft.Bcl.AsyncInterfaces.8.0.0/PACKAGE.md b/packages/Microsoft.Bcl.AsyncInterfaces.8.0.0/PACKAGE.md new file mode 100644 index 0000000..e0c6e8a --- /dev/null +++ b/packages/Microsoft.Bcl.AsyncInterfaces.8.0.0/PACKAGE.md @@ -0,0 +1,64 @@ +## About + +As of C# 8, the C# language has support for producing and consuming asynchronous iterators. The library types in support of those features are available in .NET Core 3.0 and newer as well as in .NET Standard 2.1. This library provides the necessary definitions of those types to support these language features on .NET Framework and on .NET Standard 2.0. This library is not necessary nor recommended when targeting versions of .NET that include the relevant support. + +## Key Features + + + +* Enables the use of C# async iterators on older .NET platforms + +## How to Use + + + +```C# +using System; +using System.Collections.Generic; +using System.Threading.Tasks; + +internal static class Program +{ + private static async Task Main() + { + Console.WriteLine("Starting..."); + await foreach (var value in GetValuesAsync()) + { + Console.WriteLine(value); + } + Console.WriteLine("Finished!"); + + static async IAsyncEnumerable GetValuesAsync() + { + for (int i = 0; i < 10; i++) + { + await Task.Delay(TimeSpan.FromSeconds(1)); + yield return i; + } + } + } +} +``` + +## Main Types + + + +The main types provided by this library are: + +* `IAsyncEnumerable` +* `IAsyncEnumerator` +* `IAsyncDisposable` + +## Additional Documentation + + + +* [C# Feature Specification](https://learn.microsoft.com/dotnet/csharp/language-reference/proposals/csharp-8.0/async-streams) +* [Walkthrough article](https://learn.microsoft.com/archive/msdn-magazine/2019/november/csharp-iterating-with-async-enumerables-in-csharp-8) + +## Feedback & Contributing + + + +Microsoft.Bcl.AsyncInterfaces is released as open source under the [MIT license](https://licenses.nuget.org/MIT). Bug reports and contributions are welcome at [the GitHub repository](https://github.com/dotnet/runtime). \ No newline at end of file diff --git a/packages/Microsoft.Bcl.AsyncInterfaces.8.0.0/THIRD-PARTY-NOTICES.TXT b/packages/Microsoft.Bcl.AsyncInterfaces.8.0.0/THIRD-PARTY-NOTICES.TXT new file mode 100644 index 0000000..4b40333 --- /dev/null +++ b/packages/Microsoft.Bcl.AsyncInterfaces.8.0.0/THIRD-PARTY-NOTICES.TXT @@ -0,0 +1,1272 @@ +.NET Runtime uses third-party libraries or other resources that may be +distributed under licenses different than the .NET Runtime software. + +In the event that we accidentally failed to list a required notice, please +bring it to our attention. Post an issue or email us: + + dotnet@microsoft.com + +The attached notices are provided for information only. + +License notice for ASP.NET +------------------------------- + +Copyright (c) .NET Foundation. All rights reserved. +Licensed under the Apache License, Version 2.0. + +Available at +https://github.com/dotnet/aspnetcore/blob/main/LICENSE.txt + +License notice for Slicing-by-8 +------------------------------- + +http://sourceforge.net/projects/slicing-by-8/ + +Copyright (c) 2004-2006 Intel Corporation - All Rights Reserved + + +This software program is licensed subject to the BSD License, available at +http://www.opensource.org/licenses/bsd-license.html. + + +License notice for Unicode data +------------------------------- + +https://www.unicode.org/license.html + +Copyright © 1991-2022 Unicode, Inc. All rights reserved. +Distributed under the Terms of Use in https://www.unicode.org/copyright.html. + +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Unicode data files and any associated documentation +(the "Data Files") or Unicode software and any associated documentation +(the "Software") to deal in the Data Files or Software +without restriction, including without limitation the rights to use, +copy, modify, merge, publish, distribute, and/or sell copies of +the Data Files or Software, and to permit persons to whom the Data Files +or Software are furnished to do so, provided that either +(a) this copyright and permission notice appear with all copies +of the Data Files or Software, or +(b) this copyright and permission notice appear in associated +Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF +ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE +WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT OF THIRD PARTY RIGHTS. +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS +NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL +DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, +DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THE DATA FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder +shall not be used in advertising or otherwise to promote the sale, +use or other dealings in these Data Files or Software without prior +written authorization of the copyright holder. + +License notice for Zlib +----------------------- + +https://github.com/madler/zlib +https://zlib.net/zlib_license.html + +/* zlib.h -- interface of the 'zlib' general purpose compression library + version 1.2.13, October 13th, 2022 + + Copyright (C) 1995-2022 Jean-loup Gailly and Mark Adler + + This software is provided 'as-is', without any express or implied + warranty. In no event will the authors be held liable for any damages + arising from the use of this software. + + Permission is granted to anyone to use this software for any purpose, + including commercial applications, and to alter it and redistribute it + freely, subject to the following restrictions: + + 1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. + 2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. + 3. This notice may not be removed or altered from any source distribution. + + Jean-loup Gailly Mark Adler + jloup@gzip.org madler@alumni.caltech.edu + +*/ + +License notice for Mono +------------------------------- + +http://www.mono-project.com/docs/about-mono/ + +Copyright (c) .NET Foundation Contributors + +MIT License + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the Software), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License notice for International Organization for Standardization +----------------------------------------------------------------- + +Portions (C) International Organization for Standardization 1986: + Permission to copy in any form is granted for use with + conforming SGML systems and applications as defined in + ISO 8879, provided this notice is included in all copies. + +License notice for Intel +------------------------ + +"Copyright (c) 2004-2006 Intel Corporation - All Rights Reserved + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this +list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, +this list of conditions and the following disclaimer in the documentation +and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for Xamarin and Novell +------------------------------------- + +Copyright (c) 2015 Xamarin, Inc (http://www.xamarin.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +Copyright (c) 2011 Novell, Inc (http://www.novell.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +Third party notice for W3C +-------------------------- + +"W3C SOFTWARE AND DOCUMENT NOTICE AND LICENSE +Status: This license takes effect 13 May, 2015. +This work is being provided by the copyright holders under the following license. +License +By obtaining and/or copying this work, you (the licensee) agree that you have read, understood, and will comply with the following terms and conditions. +Permission to copy, modify, and distribute this work, with or without modification, for any purpose and without fee or royalty is hereby granted, provided that you include the following on ALL copies of the work or portions thereof, including modifications: +The full text of this NOTICE in a location viewable to users of the redistributed or derivative work. +Any pre-existing intellectual property disclaimers, notices, or terms and conditions. If none exist, the W3C Software and Document Short Notice should be included. +Notice of any changes or modifications, through a copyright statement on the new code or document such as "This software or document includes material copied from or derived from [title and URI of the W3C document]. Copyright © [YEAR] W3C® (MIT, ERCIM, Keio, Beihang)." +Disclaimers +THIS WORK IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE OR DOCUMENT WILL NOT INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS. +COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR DOCUMENT. +The name and trademarks of copyright holders may NOT be used in advertising or publicity pertaining to the work without specific, written prior permission. Title to copyright in this work will at all times remain with copyright holders." + +License notice for Bit Twiddling Hacks +-------------------------------------- + +Bit Twiddling Hacks + +By Sean Eron Anderson +seander@cs.stanford.edu + +Individually, the code snippets here are in the public domain (unless otherwise +noted) — feel free to use them however you please. The aggregate collection and +descriptions are © 1997-2005 Sean Eron Anderson. The code and descriptions are +distributed in the hope that they will be useful, but WITHOUT ANY WARRANTY and +without even the implied warranty of merchantability or fitness for a particular +purpose. + +License notice for Brotli +-------------------------------------- + +Copyright (c) 2009, 2010, 2013-2016 by the Brotli Authors. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +compress_fragment.c: +Copyright (c) 2011, Google Inc. +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +""AS IS"" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +decode_fuzzer.c: +Copyright (c) 2015 The Chromium Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +""AS IS"" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." + +License notice for Json.NET +------------------------------- + +https://github.com/JamesNK/Newtonsoft.Json/blob/master/LICENSE.md + +The MIT License (MIT) + +Copyright (c) 2007 James Newton-King + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License notice for vectorized base64 encoding / decoding +-------------------------------------------------------- + +Copyright (c) 2005-2007, Nick Galbreath +Copyright (c) 2013-2017, Alfred Klomp +Copyright (c) 2015-2017, Wojciech Mula +Copyright (c) 2016-2017, Matthieu Darbois +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + +- Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + +- Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS +IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A +PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED +TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for vectorized hex parsing +-------------------------------------------------------- + +Copyright (c) 2022, Geoff Langdale +Copyright (c) 2022, Wojciech Mula +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + +- Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + +- Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS +IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A +PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED +TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for RFC 3492 +--------------------------- + +The punycode implementation is based on the sample code in RFC 3492 + +Copyright (C) The Internet Society (2003). All Rights Reserved. + +This document and translations of it may be copied and furnished to +others, and derivative works that comment on or otherwise explain it +or assist in its implementation may be prepared, copied, published +and distributed, in whole or in part, without restriction of any +kind, provided that the above copyright notice and this paragraph are +included on all such copies and derivative works. However, this +document itself may not be modified in any way, such as by removing +the copyright notice or references to the Internet Society or other +Internet organizations, except as needed for the purpose of +developing Internet standards in which case the procedures for +copyrights defined in the Internet Standards process must be +followed, or as required to translate it into languages other than +English. + +The limited permissions granted above are perpetual and will not be +revoked by the Internet Society or its successors or assigns. + +This document and the information contained herein is provided on an +"AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING +TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING +BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION +HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF +MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. + +Copyright(C) The Internet Society 1997. All Rights Reserved. + +This document and translations of it may be copied and furnished to others, +and derivative works that comment on or otherwise explain it or assist in +its implementation may be prepared, copied, published and distributed, in +whole or in part, without restriction of any kind, provided that the above +copyright notice and this paragraph are included on all such copies and +derivative works.However, this document itself may not be modified in any +way, such as by removing the copyright notice or references to the Internet +Society or other Internet organizations, except as needed for the purpose of +developing Internet standards in which case the procedures for copyrights +defined in the Internet Standards process must be followed, or as required +to translate it into languages other than English. + +The limited permissions granted above are perpetual and will not be revoked +by the Internet Society or its successors or assigns. + +This document and the information contained herein is provided on an "AS IS" +basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE +DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO +ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY +RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A +PARTICULAR PURPOSE. + +License notice for Algorithm from RFC 4122 - +A Universally Unique IDentifier (UUID) URN Namespace +---------------------------------------------------- + +Copyright (c) 1990- 1993, 1996 Open Software Foundation, Inc. +Copyright (c) 1989 by Hewlett-Packard Company, Palo Alto, Ca. & +Digital Equipment Corporation, Maynard, Mass. +Copyright (c) 1998 Microsoft. +To anyone who acknowledges that this file is provided "AS IS" +without any express or implied warranty: permission to use, copy, +modify, and distribute this file for any purpose is hereby +granted without fee, provided that the above copyright notices and +this notice appears in all source code copies, and that none of +the names of Open Software Foundation, Inc., Hewlett-Packard +Company, Microsoft, or Digital Equipment Corporation be used in +advertising or publicity pertaining to distribution of the software +without specific, written prior permission. Neither Open Software +Foundation, Inc., Hewlett-Packard Company, Microsoft, nor Digital +Equipment Corporation makes any representations about the +suitability of this software for any purpose." + +License notice for The LLVM Compiler Infrastructure (Legacy License) +-------------------------------------------------------------------- + +Developed by: + + LLVM Team + + University of Illinois at Urbana-Champaign + + http://llvm.org + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal with +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is furnished to do +so, subject to the following conditions: + + * Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimers. + + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimers in the + documentation and/or other materials provided with the distribution. + + * Neither the names of the LLVM Team, University of Illinois at + Urbana-Champaign, nor the names of its contributors may be used to + endorse or promote products derived from this Software without specific + prior written permission. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS WITH THE +SOFTWARE. + +License notice for Bob Jenkins +------------------------------ + +By Bob Jenkins, 1996. bob_jenkins@burtleburtle.net. You may use this +code any way you wish, private, educational, or commercial. It's free. + +License notice for Greg Parker +------------------------------ + +Greg Parker gparker@cs.stanford.edu December 2000 +This code is in the public domain and may be copied or modified without +permission. + +License notice for libunwind based code +---------------------------------------- + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License notice for Printing Floating-Point Numbers (Dragon4) +------------------------------------------------------------ + +/****************************************************************************** + Copyright (c) 2014 Ryan Juckett + http://www.ryanjuckett.com/ + + This software is provided 'as-is', without any express or implied + warranty. In no event will the authors be held liable for any damages + arising from the use of this software. + + Permission is granted to anyone to use this software for any purpose, + including commercial applications, and to alter it and redistribute it + freely, subject to the following restrictions: + + 1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. + + 2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. + + 3. This notice may not be removed or altered from any source + distribution. +******************************************************************************/ + +License notice for Printing Floating-point Numbers (Grisu3) +----------------------------------------------------------- + +Copyright 2012 the V8 project authors. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google Inc. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for xxHash +------------------------- + +xxHash - Extremely Fast Hash algorithm +Header File +Copyright (C) 2012-2021 Yann Collet + +BSD 2-Clause License (https://www.opensource.org/licenses/bsd-license.php) + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following disclaimer + in the documentation and/or other materials provided with the + distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +You can contact the author at: + - xxHash homepage: https://www.xxhash.com + - xxHash source repository: https://github.com/Cyan4973/xxHash + +License notice for Berkeley SoftFloat Release 3e +------------------------------------------------ + +https://github.com/ucb-bar/berkeley-softfloat-3 +https://github.com/ucb-bar/berkeley-softfloat-3/blob/master/COPYING.txt + +License for Berkeley SoftFloat Release 3e + +John R. Hauser +2018 January 20 + +The following applies to the whole of SoftFloat Release 3e as well as to +each source file individually. + +Copyright 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018 The Regents of the +University of California. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + 1. Redistributions of source code must retain the above copyright notice, + this list of conditions, and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions, and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + 3. Neither the name of the University nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS "AS IS", AND ANY +EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ARE +DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for xoshiro RNGs +-------------------------------- + +Written in 2018 by David Blackman and Sebastiano Vigna (vigna@acm.org) + +To the extent possible under law, the author has dedicated all copyright +and related and neighboring rights to this software to the public domain +worldwide. This software is distributed without any warranty. + +See . + +License for fastmod (https://github.com/lemire/fastmod), ibm-fpgen (https://github.com/nigeltao/parse-number-fxx-test-data) and fastrange (https://github.com/lemire/fastrange) +-------------------------------------- + + Copyright 2018 Daniel Lemire + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +License for sse4-strstr (https://github.com/WojciechMula/sse4-strstr) +-------------------------------------- + + Copyright (c) 2008-2016, Wojciech Mula + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are + met: + + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS + IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A + PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED + TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for The C++ REST SDK +----------------------------------- + +C++ REST SDK + +The MIT License (MIT) + +Copyright (c) Microsoft Corporation + +All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License notice for MessagePack-CSharp +------------------------------------- + +MessagePack for C# + +MIT License + +Copyright (c) 2017 Yoshifumi Kawai + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License notice for lz4net +------------------------------------- + +lz4net + +Copyright (c) 2013-2017, Milosz Krajewski + +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: + +Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. + +Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for Nerdbank.Streams +----------------------------------- + +The MIT License (MIT) + +Copyright (c) Andrew Arnott + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License notice for RapidJSON +---------------------------- + +Tencent is pleased to support the open source community by making RapidJSON available. + +Copyright (C) 2015 THL A29 Limited, a Tencent company, and Milo Yip. All rights reserved. + +Licensed under the MIT License (the "License"); you may not use this file except +in compliance with the License. You may obtain a copy of the License at + +http://opensource.org/licenses/MIT + +Unless required by applicable law or agreed to in writing, software distributed +under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR +CONDITIONS OF ANY KIND, either express or implied. See the License for the +specific language governing permissions and limitations under the License. + +License notice for DirectX Math Library +--------------------------------------- + +https://github.com/microsoft/DirectXMath/blob/master/LICENSE + + The MIT License (MIT) + +Copyright (c) 2011-2020 Microsoft Corp + +Permission is hereby granted, free of charge, to any person obtaining a copy of this +software and associated documentation files (the "Software"), to deal in the Software +without restriction, including without limitation the rights to use, copy, modify, +merge, publish, distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to the following +conditions: + +The above copyright notice and this permission notice shall be included in all copies +or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, +INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A +PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF +CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE +OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License notice for ldap4net +--------------------------- + +The MIT License (MIT) + +Copyright (c) 2018 Alexander Chermyanin + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License notice for vectorized sorting code +------------------------------------------ + +MIT License + +Copyright (c) 2020 Dan Shechter + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License notice for musl +----------------------- + +musl as a whole is licensed under the following standard MIT license: + +Copyright © 2005-2020 Rich Felker, et al. + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +License notice for "Faster Unsigned Division by Constants" +------------------------------ + +Reference implementations of computing and using the "magic number" approach to dividing +by constants, including codegen instructions. The unsigned division incorporates the +"round down" optimization per ridiculous_fish. + +This is free and unencumbered software. Any copyright is dedicated to the Public Domain. + + +License notice for mimalloc +----------------------------------- + +MIT License + +Copyright (c) 2019 Microsoft Corporation, Daan Leijen + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License notice for The LLVM Project +----------------------------------- + +Copyright 2019 LLVM Project + +Licensed under the Apache License, Version 2.0 (the "License") with LLVM Exceptions; +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + +https://llvm.org/LICENSE.txt + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. + +License notice for Apple header files +------------------------------------- + +Copyright (c) 1980, 1986, 1993 + The Regents of the University of California. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. +3. All advertising materials mentioning features or use of this software + must display the following acknowledgement: + This product includes software developed by the University of + California, Berkeley and its contributors. +4. Neither the name of the University nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +SUCH DAMAGE. + +License notice for JavaScript queues +------------------------------------- + +CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED HEREUNDER. + +Statement of Purpose +The laws of most jurisdictions throughout the world automatically confer exclusive Copyright and Related Rights (defined below) upon the creator and subsequent owner(s) (each and all, an "owner") of an original work of authorship and/or a database (each, a "Work"). +Certain owners wish to permanently relinquish those rights to a Work for the purpose of contributing to a commons of creative, cultural and scientific works ("Commons") that the public can reliably and without fear of later claims of infringement build upon, modify, incorporate in other works, reuse and redistribute as freely as possible in any form whatsoever and for any purposes, including without limitation commercial purposes. These owners may contribute to the Commons to promote the ideal of a free culture and the further production of creative, cultural and scientific works, or to gain reputation or greater distribution for their Work in part through the use and efforts of others. +For these and/or other purposes and motivations, and without any expectation of additional consideration or compensation, the person associating CC0 with a Work (the "Affirmer"), to the extent that he or she is an owner of Copyright and Related Rights in the Work, voluntarily elects to apply CC0 to the Work and publicly distribute the Work under its terms, with knowledge of his or her Copyright and Related Rights in the Work and the meaning and intended legal effect of CC0 on those rights. + +1. Copyright and Related Rights. A Work made available under CC0 may be protected by copyright and related or neighboring rights ("Copyright and Related Rights"). Copyright and Related Rights include, but are not limited to, the following: +the right to reproduce, adapt, distribute, perform, display, communicate, and translate a Work; +moral rights retained by the original author(s) and/or performer(s); +publicity and privacy rights pertaining to a person's image or likeness depicted in a Work; +rights protecting against unfair competition in regards to a Work, subject to the limitations in paragraph 4(a), below; +rights protecting the extraction, dissemination, use and reuse of data in a Work; +database rights (such as those arising under Directive 96/9/EC of the European Parliament and of the Council of 11 March 1996 on the legal protection of databases, and under any national implementation thereof, including any amended or successor version of such directive); and +other similar, equivalent or corresponding rights throughout the world based on applicable law or treaty, and any national implementations thereof. +2. Waiver. To the greatest extent permitted by, but not in contravention of, applicable law, Affirmer hereby overtly, fully, permanently, irrevocably and unconditionally waives, abandons, and surrenders all of Affirmer's Copyright and Related Rights and associated claims and causes of action, whether now known or unknown (including existing as well as future claims and causes of action), in the Work (i) in all territories worldwide, (ii) for the maximum duration provided by applicable law or treaty (including future time extensions), (iii) in any current or future medium and for any number of copies, and (iv) for any purpose whatsoever, including without limitation commercial, advertising or promotional purposes (the "Waiver"). Affirmer makes the Waiver for the benefit of each member of the public at large and to the detriment of Affirmer's heirs and successors, fully intending that such Waiver shall not be subject to revocation, rescission, cancellation, termination, or any other legal or equitable action to disrupt the quiet enjoyment of the Work by the public as contemplated by Affirmer's express Statement of Purpose. +3. Public License Fallback. Should any part of the Waiver for any reason be judged legally invalid or ineffective under applicable law, then the Waiver shall be preserved to the maximum extent permitted taking into account Affirmer's express Statement of Purpose. In addition, to the extent the Waiver is so judged Affirmer hereby grants to each affected person a royalty-free, non transferable, non sublicensable, non exclusive, irrevocable and unconditional license to exercise Affirmer's Copyright and Related Rights in the Work (i) in all territories worldwide, (ii) for the maximum duration provided by applicable law or treaty (including future time extensions), (iii) in any current or future medium and for any number of copies, and (iv) for any purpose whatsoever, including without limitation commercial, advertising or promotional purposes (the "License"). The License shall be deemed effective as of the date CC0 was applied by Affirmer to the Work. Should any part of the License for any reason be judged legally invalid or ineffective under applicable law, such partial invalidity or ineffectiveness shall not invalidate the remainder of the License, and in such case Affirmer hereby affirms that he or she will not (i) exercise any of his or her remaining Copyright and Related Rights in the Work or (ii) assert any associated claims and causes of action with respect to the Work, in either case contrary to Affirmer's express Statement of Purpose. +4. Limitations and Disclaimers. +a. No trademark or patent rights held by Affirmer are waived, abandoned, surrendered, licensed or otherwise affected by this document. +b. Affirmer offers the Work as-is and makes no representations or warranties of any kind concerning the Work, express, implied, statutory or otherwise, including without limitation warranties of title, merchantability, fitness for a particular purpose, non infringement, or the absence of latent or other defects, accuracy, or the present or absence of errors, whether or not discoverable, all to the greatest extent permissible under applicable law. +c. Affirmer disclaims responsibility for clearing rights of other persons that may apply to the Work or any use thereof, including without limitation any person's Copyright and Related Rights in the Work. Further, Affirmer disclaims responsibility for obtaining any necessary consents, permissions or other rights required for any use of the Work. +d. Affirmer understands and acknowledges that Creative Commons is not a party to this document and has no duty or obligation with respect to this CC0 or use of the Work. + + +License notice for FastFloat algorithm +------------------------------------- +MIT License +Copyright (c) 2021 csFastFloat authors +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License notice for MsQuic +-------------------------------------- + +Copyright (c) Microsoft Corporation. +Licensed under the MIT License. + +Available at +https://github.com/microsoft/msquic/blob/main/LICENSE + +License notice for m-ou-se/floatconv +------------------------------- + +Copyright (c) 2020 Mara Bos +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for code from The Practice of Programming +------------------------------- + +Copyright (C) 1999 Lucent Technologies + +Excerpted from 'The Practice of Programming +by Brian W. Kernighan and Rob Pike + +You may use this code for any purpose, as long as you leave the copyright notice and book citation attached. + +Notice for Euclidean Affine Functions and Applications to Calendar +Algorithms +------------------------------- + +Aspects of Date/Time processing based on algorithm described in "Euclidean Affine Functions and Applications to Calendar +Algorithms", Cassio Neri and Lorenz Schneider. https://arxiv.org/pdf/2102.06959.pdf + +License notice for amd/aocl-libm-ose +------------------------------- + +Copyright (C) 2008-2020 Advanced Micro Devices, Inc. All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: +1. Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. +3. Neither the name of the copyright holder nor the names of its contributors + may be used to endorse or promote products derived from this software without + specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, +OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. + +License notice for fmtlib/fmt +------------------------------- + +Formatting library for C++ + +Copyright (c) 2012 - present, Victor Zverovich + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License for Jb Evain +--------------------- + +Copyright (c) 2006 Jb Evain (jbevain@gmail.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +--- Optional exception to the license --- + +As an exception, if, as a result of your compiling your source code, portions +of this Software are embedded into a machine-executable object form of such +source code, you may redistribute such embedded portions in such object form +without including the above copyright and permission notices. + + +License for MurmurHash3 +-------------------------------------- + +https://github.com/aappleby/smhasher/blob/master/src/MurmurHash3.cpp + +MurmurHash3 was written by Austin Appleby, and is placed in the public +domain. The author hereby disclaims copyright to this source + +License for Fast CRC Computation +-------------------------------------- + +https://github.com/intel/isa-l/blob/33a2d9484595c2d6516c920ce39a694c144ddf69/crc/crc32_ieee_by4.asm +https://github.com/intel/isa-l/blob/33a2d9484595c2d6516c920ce39a694c144ddf69/crc/crc64_ecma_norm_by8.asm + +Copyright(c) 2011-2015 Intel Corporation All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + * Neither the name of Intel Corporation nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License for C# Implementation of Fast CRC Computation +----------------------------------------------------- + +https://github.com/SixLabors/ImageSharp/blob/f4f689ce67ecbcc35cebddba5aacb603e6d1068a/src/ImageSharp/Formats/Png/Zlib/Crc32.cs + +Copyright (c) Six Labors. +Licensed under the Apache License, Version 2.0. + +Available at +https://github.com/SixLabors/ImageSharp/blob/f4f689ce67ecbcc35cebddba5aacb603e6d1068a/LICENSE diff --git a/packages/Microsoft.Bcl.AsyncInterfaces.8.0.0/buildTransitive/net461/Microsoft.Bcl.AsyncInterfaces.targets b/packages/Microsoft.Bcl.AsyncInterfaces.8.0.0/buildTransitive/net461/Microsoft.Bcl.AsyncInterfaces.targets new file mode 100644 index 0000000..81fa271 --- /dev/null +++ b/packages/Microsoft.Bcl.AsyncInterfaces.8.0.0/buildTransitive/net461/Microsoft.Bcl.AsyncInterfaces.targets @@ -0,0 +1,6 @@ + + + + + diff --git a/packages/Microsoft.Bcl.AsyncInterfaces.8.0.0/buildTransitive/net462/_._ b/packages/Microsoft.Bcl.AsyncInterfaces.8.0.0/buildTransitive/net462/_._ new file mode 100644 index 0000000..e69de29 diff --git a/packages/Microsoft.Bcl.AsyncInterfaces.8.0.0/lib/net462/Microsoft.Bcl.AsyncInterfaces.dll b/packages/Microsoft.Bcl.AsyncInterfaces.8.0.0/lib/net462/Microsoft.Bcl.AsyncInterfaces.dll new file mode 100644 index 0000000000000000000000000000000000000000..6031ba1e94835abd1d276b9700394dbafeb2b46c GIT binary patch literal 26904 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

    Z~tDC|6_& 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 + + + Microsoft.Bcl.AsyncInterfaces + + + +

    Provides the core logic for implementing a manual-reset or . + + + + + The callback to invoke when the operation completes if was called before the operation completed, + or if the operation completed before a callback was supplied, + or null if a callback hasn't yet been provided and the operation hasn't yet completed. + + + + State to pass to . + + + to flow to the callback, or null if no flowing is required. + + + + A "captured" or with which to invoke the callback, + or null if no special context is required. + + + + Whether the current operation has completed. + + + The result with which the operation succeeded, or the default value if it hasn't yet completed or failed. + + + The exception with which the operation failed, or null if it hasn't yet completed or completed successfully. + + + The current version of this value, used to help prevent misuse. + + + Gets or sets whether to force continuations to run asynchronously. + Continuations may run asynchronously if this is false, but they'll never run synchronously if this is true. + + + Resets to prepare for the next operation. + + + Completes with a successful result. + The result. + + + Complets with an error. + + + + Gets the operation version. + + + Gets the status of the operation. + Opaque value that was provided to the 's constructor. + + + Gets the result of the operation. + Opaque value that was provided to the 's constructor. + + + Schedules the continuation action for this operation. + The continuation to invoke when the operation has completed. + The state object to pass to when it's invoked. + Opaque value that was provided to the 's constructor. + The flags describing the behavior of the continuation. + + + Ensures that the specified token matches the current version. + The token supplied by . + + + Signals that the operation has completed. Invoked after the result or error has been set. + + + + Invokes the continuation with the appropriate captured context / scheduler. + This assumes that if is not null we're already + running within that . + + + + Provides a set of static methods for configuring -related behaviors on asynchronous enumerables and disposables. + + + Configures how awaits on the tasks returned from an async disposable will be performed. + The source async disposable. + Whether to capture and marshal back to the current context. + The configured async disposable. + + + Configures how awaits on the tasks returned from an async iteration will be performed. + The type of the objects being iterated. + The source enumerable being iterated. + Whether to capture and marshal back to the current context. + The configured enumerable. + + + Sets the to be passed to when iterating. + The type of the objects being iterated. + The source enumerable being iterated. + The to use. + The configured enumerable. + + + Represents a builder for asynchronous iterators. + + + Creates an instance of the struct. + The initialized instance. + + + Invokes on the state machine while guarding the . + The type of the state machine. + The state machine instance, passed by reference. + + + Schedules the state machine to proceed to the next action when the specified awaiter completes. + The type of the awaiter. + The type of the state machine. + The awaiter. + The state machine. + + + Schedules the state machine to proceed to the next action when the specified awaiter completes. + The type of the awaiter. + The type of the state machine. + The awaiter. + The state machine. + + + Marks iteration as being completed, whether successfully or otherwise. + + + Gets an object that may be used to uniquely identify this builder to the debugger. + + + Indicates whether a method is an asynchronous iterator. + + + Initializes a new instance of the class. + The type object for the underlying state machine type that's used to implement a state machine method. + + + Provides a type that can be used to configure how awaits on an are performed. + + + Asynchronously releases the unmanaged resources used by the . + A task that represents the asynchronous dispose operation. + + + Provides an awaitable async enumerable that enables cancelable iteration and configured awaits. + + + Configures how awaits on the tasks returned from an async iteration will be performed. + Whether to capture and marshal back to the current context. + The configured enumerable. + This will replace any previous value set by for this iteration. + + + Sets the to be passed to when iterating. + The to use. + The configured enumerable. + This will replace any previous set by for this iteration. + + + Returns an enumerator that iterates asynchronously through collections that enables cancelable iteration and configured awaits. + An enumerator for the class. + + + Provides an awaitable async enumerator that enables cancelable iteration and configured awaits. + + + Advances the enumerator asynchronously to the next element of the collection. + + A that will complete with a result of true + if the enumerator was successfully advanced to the next element, or false if the enumerator has + passed the end of the collection. + + + + Gets the element in the collection at the current position of the enumerator. + + + + Performs application-defined tasks associated with freeing, releasing, or + resetting unmanaged resources asynchronously. + + + + Allows users of async-enumerable methods to mark the parameter that should receive the cancellation token value from . + + + Initializes a new instance of the class. + + + + Attribute used to indicate a source generator should create a function for marshalling + arguments instead of relying on the runtime to generate an equivalent marshalling function at run-time. + + + This attribute is meaningless if the source generator associated with it is not enabled. + The current built-in source generator only supports C# and only supplies an implementation when + applied to static, partial, non-generic methods. + + + + + Initializes a new instance of the . + + Name of the library containing the import. + + + + Gets the name of the library containing the import. + + + + + Gets or sets the name of the entry point to be called. + + + + + Gets or sets how to marshal string arguments to the method. + + + If this field is set to a value other than , + must not be specified. + + + + + Gets or sets the used to control how string arguments to the method are marshalled. + + + If this field is specified, must not be specified + or must be set to . + + + + + Gets or sets whether the callee sets an error (SetLastError on Windows or errno + on other platforms) before returning from the attributed method. + + + + + Specifies how strings should be marshalled for generated p/invokes + + + + + Indicates the user is suppling a specific marshaller in . + + + + + Use the platform-provided UTF-8 marshaller. + + + + + Use the platform-provided UTF-16 marshaller. + + + + Exposes an enumerator that provides asynchronous iteration over values of a specified type. + The type of values to enumerate. + + + Returns an enumerator that iterates asynchronously through the collection. + A that may be used to cancel the asynchronous iteration. + An enumerator that can be used to iterate asynchronously through the collection. + + + Supports a simple asynchronous iteration over a generic collection. + The type of objects to enumerate. + + + Advances the enumerator asynchronously to the next element of the collection. + + A that will complete with a result of true if the enumerator + was successfully advanced to the next element, or false if the enumerator has passed the end + of the collection. + + + + Gets the element in the collection at the current position of the enumerator. + + + Provides a mechanism for releasing unmanaged resources asynchronously. + + + + Performs application-defined tasks associated with freeing, releasing, or + resetting unmanaged resources asynchronously. + + + + Specifies that null is allowed as an input even if the corresponding type disallows it. + + + Specifies that null is disallowed as an input even if the corresponding type allows it. + + + Specifies that an output may be null even if the corresponding type disallows it. + + + Specifies that an output will not be null even if the corresponding type allows it. Specifies that an input argument was not null when the call returns. + + + Specifies that when a method returns , the parameter may be null even if the corresponding type disallows it. + + + Initializes the attribute with the specified return value condition. + + The return value condition. If the method returns this value, the associated parameter may be null. + + + + Gets the return value condition. + + + Specifies that when a method returns , the parameter will not be null even if the corresponding type allows it. + + + Initializes the attribute with the specified return value condition. + + The return value condition. If the method returns this value, the associated parameter will not be null. + + + + Gets the return value condition. + + + Specifies that the output will be non-null if the named parameter is non-null. + + + Initializes the attribute with the associated parameter name. + + The associated parameter name. The output will be non-null if the argument to the parameter specified is non-null. + + + + Gets the associated parameter name. + + + Applied to a method that will never return under any circumstance. + + + Specifies that the method will not return if the associated Boolean parameter is passed the specified value. + + + Initializes the attribute with the specified parameter value. + + The condition parameter value. Code after the method will be considered unreachable by diagnostics if the argument to + the associated parameter matches this value. + + + + Gets the condition parameter value. + + + Specifies that the method or property will ensure that the listed field and property members have not-null values. + + + Initializes the attribute with a field or property member. + + The field or property member that is promised to be not-null. + + + + Initializes the attribute with the list of field and property members. + + The list of field and property members that are promised to be not-null. + + + + Gets field or property member names. + + + Specifies that the method or property will ensure that the listed field and property members have not-null values when returning with the specified return value condition. + + + Initializes the attribute with the specified return value condition and a field or property member. + + The return value condition. If the method returns this value, the associated parameter will not be null. + + + The field or property member that is promised to be not-null. + + + + Initializes the attribute with the specified return value condition and list of field and property members. + + The return value condition. If the method returns this value, the associated parameter will not be null. + + + The list of field and property members that are promised to be not-null. + + + + Gets the return value condition. + + + Gets field or property member names. + + + diff --git a/packages/Microsoft.Bcl.AsyncInterfaces.8.0.0/lib/netstandard2.0/Microsoft.Bcl.AsyncInterfaces.dll b/packages/Microsoft.Bcl.AsyncInterfaces.8.0.0/lib/netstandard2.0/Microsoft.Bcl.AsyncInterfaces.dll new file mode 100644 index 0000000000000000000000000000000000000000..c828d99215169e2ddc8e2d8c7f8c2415dd99e415 GIT binary patch literal 26784 zcmd^n2Ut@})9{{?kU;1lf;2<#Apt>bC{d zR=DC%2Lk^YlmpwO`F0bu(crk#Rx0+mQ&NsZ$<0^DvlYTTu1F}8$yMA8F;`J2<4R=Q z$Zm<;Jb9*=XKc)I)rgLdLMWDEpl22?!y9_LiJZBH6d$1$K;fvVClcYxg>O215i%oX zTCF!GVExIb1|ZPGt|J&%`Y>D-|7*NzP)veP3CQh+3+X^-E-gf9sQ zCBgOI{%{e}*Qu-zcqbj4rxF*b06!ZD0C;4qpttUa3tI6MN`(lBM7MM(V4=bA)%kRQ z>EbEGQaMz_x?-KN4Nxe2bv_*s3fDnNaSgUBe6Vgb(nD805OVcK$be9F0F1v}2mQOE zBkkD)Ce6Fy+E0zs)?)++QEp8cvr8$ME$`MEI^#za^w#AvzDHr2nOfNmef)TBl&z<( zUP7*oWR`|Zu8m}vek{C1b5#$dkqwq7Y;tWJSAcq43rfLcx|$Odq><|&?Qp@LnP3fd zE9QbyL)@yz_iUz`3XO4XtP-i!s0z$7Avau&G44z=N=X6gn=}we0SKlI1X2J3tO<1! zQb3k`8a0JUg~>6uKwqtFz#S}*rxna)DF7zRJD47f3k*-F;sf)i#+aTkVY(xaTPtf3msECnr?-b6QO zf?e92F2O80%mIsIf#?!k!_xsbOMzyNP=IF5@kOtci^*N-5=>>#B^XsY>CosBT#=!s z4N%upSCcyfL(NvY;1&%o21+Wyky+lBdn|g27w!|&`SW56;&LDMtH$R5EkDez4G7yY40bOCvSjZ8tbg&P@ z&rkuyd?m<)MtVdC6Q)g?uOaOj1T-=_6Q*^VZ>T54HjW|Nm&=y7gwiQcl=2LLl4mOb zz6La#*uclivo+vG`krmz!ei6=YSWN`aaev<;04$^^k6(vMiWoa!-vCaH5OE3mBCCf zdD<~xn_B9b>-jb_*DJ*R85{U{KoQzgmP~V|Uq^4xc32A269Ov7k#s3<4@GxxgR%~A zb@Q`!FAIahS5`PcWdx>`V-B=|*yAIQg7WuL%$XVy;ozEhb{Z7I{?0&!peX)mrl>(# zYqg7zVftCBM@NRE9-(g}U4lKuH&}fwiv~nTyN-Y=J7HQm=FkP8oZV;)JYxX&rae33 z3-pWUZ#`Ur2Wt+S$VlJUN}t#V?AuA7n8%RqR|t)|0NdAv7)k9~bO|>8&*swQ%42a? ztg<+`=&0BgP>lgGN4Ld~ru>dariQJtsjb>SJ2&~tf+4e%kl{JyZZPX4xWr?*%+l^~ zfpttH99vjqoR}j|06=03uHXszkpuCpgs_q@@wnKc@9h719&WXPk?Hp5c^XILN!kJ=8VO7hCsY#cK%%%;fbBYDIC$^ zV+7v;EqHuhAU{w5O9{`c6yQ(@VlHI}y?|>Hbm)?(Qb=UkN?aq-2_cBc$R#-ur9;^a zmpdlMM8Y*6@Qt9HOSn{?0XY89uwZ&NUtnMW0T+Fw0&zmYy~7ekP#u96A+RZeg-z%% zU>qONVEBS41lAxi6`GMUZVNKW*BGu~1@c8`wgKkhSsTd8HDaN`Yz&q97)I-TG_*u3 zV8AT2ThHErh3+%Eb6CiUjo~SFEl}DS#6r!UYz$NMF?|!^K4szZNCKAL1~>FM=r+QXbxd66PXi1yN!ia3OSnhcdNXlZ z#lf(e!0{lTgJv)=T!=9JIl^r>nB353Au~fCpwNc6$3w=Wpw2d z1;DdsJ%x69cn=DgzXszF?4q8U2fhM4Lk$lm8?Y!12EGDV2EkZ(6#@2`v}0rc0*u4P zQuL7}!Ilu7K7x%a@bpMK1LC}9D3xFwShHBq{wNNHZG;>M_FjX5yFl zGI&@4^yZBy;6=i`7a}VSRs~iXgRBvs@P@#A7Xl_ASSieVA@mkVu;bv}-C+&3L=_-K z4zp4USP0?mL!+RkJ*=*B;Ekh38I>Y8)Dh8uod@$2B6k#n7*1v=2J|UKo+u6|myBN1 z?&z}qJAiGB%Yb6S`A9pVB)SaNs2V<|z5u0wP|naGLPJ-VIrJBrLXQcYKr@}Ttr zZiM?oocwfXV1l?nhzh0gyszhDHGIQ`e!F2!80h3DrN15RARSI*xO^yRRY}8xQE+nOn<8W5sF5Sb$B%TsKa9*+6lo2kIxKN zp}88T6}>ht2VRI4`;Fm@k~LU!&J2bd zN>jJfziV=Y@ZQR>QTrKwsL~DdD$r?zR}dQ~YcLUqLIKFeUCrYY>^#9H zpfZCqi~w{^joG|5yub)VF9=ozWB(nZ1cJL4Y?ngn3L^-)t1*4-XF;fihKFq(gi;7L zfk+8LS!y1!U=YeDSQSc!s2qf*YcNB=g3(3|<`0;9pR)ufHKc~G7`S|pP~33}L#uGI zB3v4&DYzyLbTcywy}~IFnZYKBLT5>g^_X$Ks(eMAQuSo#Jl>@N~=Qbmf)r?4nGlH7KAR6G9XAkAykt?D2k{sqs@|iEmbG{_c`I0>6OR}IZ z$%4KlJNlCB=!@`L2%|PLA0l6}O2VieoOftB=z!@rK(}>J2FpMl6G})0m^7h2pw$rb zE}=gd%>hQ3dQcLe`var_;!y-qdnq5&F4Pg!nc1B>LY+71LA51$v@OZ0ZHeC(faGfG z5>?9_4U#iVmO>qzW!pkDub_$vw-se%xRLTjc$NAh97Q5gAI4dzgEMhkgx5$USfHA+ zCz;!x*eVuQ=SwOHZ1|0eMR;wtg*p^UMTQiIPDKus51dT-p*yrboLXWSiyi`uN6%;v z)EceS_kakIqt63P9@0G6G zwvtdP2&IZpCIN-Zo=+$XfpVC=fl&4k%3cEZ6M7vf--hxvHlndU6oCwS5@PDR06fh0 zqOpb@2t5KQw)!Fht7vba*AV)CpoHlo2A05pJadZ4VBitCFeV|HegvG!J*3kKS47I? zq+A8u!|b7u>!#>0B&`;bRtp)1P=7z6>?f21q|QyXWG0rzW#YbE2<$*$BooU?C*^Vi zD+sJ1a1r6|A?2F{B0VgDOW-0sXH=sPM~R?0V&mSq1a=@WolW#-`0rz<{Xk!4-1{nghgB==;>_I0QH3zL|h~<_5ouL*5>(mO$u5edG zL9DQbvO7e4xYGbg!|ns`iM;^Q5JMaQwgDLwY73A?9Y7Kd>(>Rz(L}Te?L_<0X_QMH zryfxsC`X!Eu0CzRISrBy3a5=B578Lad|J^hVJ!G;0#k7vgj&&YkdF{p&<^C|0}cxG zXb()dCm~n-SO((=^e`d0w1Wl@*Wf*oJy-`pUYZQ?3}4lF9}V6|gDW-d3gPMp4{`ia zSIBW)Q85aqMxZ$q8+JwdXc$-RB zRtPhs;&cH5FWZi4%e%(gd+mtkUum z<%J3nXsN)xXsJ*R6JeF1@SQd)xdKSpVpUpj`%o6JuT20m^q>0p12~E-@nW$~N5FW9L zp|h@V3C&GQ3m1xV;ovS>B9;O>R+6C*DvE#2R3Guh2^Gp5p;QWuA_|o%d0tX+{x2jY zh*gCO8L|7%-DtJ=8~#r{{VXC;tcn#XRZ$9sT=6qEPMnt^Rw#dFM9EZ&;&{14ruvze zPzWyD=+sIwH8~2oOkSvz7XMUVCRQm`LRqFz0k%~VZv$`6%ZK@iDiY-gW!YkwSG-hE znpo@d8n09P0(M`W6+k-tB}ePOTCYc-txA$7#@6oyT7aOAVim@s74kd{g*Y*BVXejS z)FRNa(F+J)XX25x(FsseqDrU|#|cF_5*ZAKX!sooOwh>3%crXxD(X_PPMQUXOSsNY z^V{f22-fgF@-?GG5yE`%FfgA&3>qMC^v0hoLD8y6sm+_ zDmb#vCCVOQguMn zQW}&5w5VLf}ydAr9%agYA33`u!y{MwTU4SsplU%@z>U<(46@Ts`QmhmyB>6ZMG%~-laU;1w ztw?c}uu!TBlS+ijMs9*QD-pu5syG4Cfeu|$I}*&DmoHbS62(G=C?{U1%F(H$b~K`6 z0wlj8Qqti!bRDmNY$H-N_S(RRkmnaGB-uGStcch|EEcqs=}%alqr8X|QBMcDmuu$4fB6DL9LkwKuu`zrN1P*c+2 z6{{aeDpD2OTr)(JHbA`qQBR2~M^}a>sp+Q5@1w8QXyPo*9ti!otwb>pX(U<2#81ga z6U9U*Br1tWDE*1kEg#24FpydcaVDf!F?9fym}sQMa4Ht6L^(L(pggjrfGh%$8t*?LjpWEP!wV(SOtC^uZV2Gtv(jL{rBf5z zxLZbl*c`@WM#~lIv;h*Z%tTR+7;h>8BZ(dgLcGm|D{iK{=TZBs&L#*p8F(**cL7Al z#z3guen3z}Jdqlbi)Lv=N`%=m@K%XPiT=^yv@@&Td+@ZDN)#&wNWde1tU!EKp8t1j zb@US}e&lP{Di2#l$y4v;m6{w2s}J_x(3y4-srfqlUcB&?s3Babu`ELSdC0I=&lHEj zT~D!6qC5WY$Ug=VwPLUoMAAY~g^UwKXbte=2(-ygNhVr%hF}l)1D9-Rz~8$OCs&fW z*X(FDZm2}spsY^+KN$mWA_|q*8#E=g&mnS?)VSv)ZbmxLq$`vJH6Y31mYNc{ou-tg zQ1h@eMieR(u*yi=DDAGAxTOvXohwubheGWgk2YA~I~VmPE>ja8f%O9+5mp=Cf=dRe zBY--L!V(pW3Q0)N5YogyQb^BT#RCycg?u1U6Bf5_)cRqAPgMUGRq(*0g?Q~0lX+|? z%k$G>Wa0w2357&P?x~xJ;2c4QR7e7_5KfbE2~!YCYj)qx?9SHCRf(HidC3zNAO;sv zOfE&~>j5yg!bKB3E=`%3;37?^UIZpH*_3%YoCcT|v-uP}B6fsxaLN&J_%uAfbwp;4 z6pKSU!Yfp4#IQHBx3|a5Eb?%(zAP?fUOs_lS(!^IOT=bbS;WJYX3-3mx!8!ypfm(? zv4+Lr0x1dVn2Xs~=H=y3;(%Ie8jWQ_O%UdY;8H|nu^226X^EIDi}Lvx%%NHKxU2FR zl)XNpfND{`7!Ql3$3;*yW3%in%GX(xZ&E{hcH8GXB%&fKs>z!n=#@BW}Xgvna1qlkLsL=H(Be4>sUKK~b#PHhruX!9X1_ z6iwONn3>TuQ1=oWVmlgeFb<;a*-!ym+2gjmIEVqr94Ofvuo)WFVIIM{YDGY#+Q!&^ zY&Ke8z^KAa|)gaI7e4R*UVMZQIzOTW!8>+VG?mQZcQ9 zm)<^hX-FFLr0KANC-F|K;Ubh%3xXK!L=B!T z0EH!i9LVaRO;|7^G@+QMVy1a2bYq?lb?q_Bf(uIrfy*0U3uB+BiLG(TTx@_Rf%r5y zmU#|Th9_sV+MV%2a0KcP1aNog1)LUoV3F0d9K0B$u}rv3jR)GZ%*$6X5jYf_1ycH? zlPMIu28r<3gy{*|0{|EFM4+!HI5^Pl;mgve;CK#y-~~tu-koULQz6WU+i7iD$wiL3` z%HhH>9o!<35RXtGg?RgxbAQR@ap8`XOKy0ST*yYS?+|D5;CU~+tWpsHcS!>zkdC>k z95MI1<2@Kw+oVt~*hxcgJZ6EP7{CULY^Vu8M=XU6CszfB6-qALYI1+F7mus{!2)dT z;Rt{$QF3MQg9Qb|e+it;ag{jd!6t<}5O&T#wHA<0h)jGq$qj^;>x?ENQ zo2&#G_|Qbz+L)u+cc{nGsI!*wi*rWaj|2brE90#pGN+JH2q+a0$O{S-@Zsq1 zbMb+D5^YRQCE{S0B7s9%AQ;5Ra^Q#+&S?--i-i}m{*7vQ4gITXFp6^WEd9GaFx3mk z)gP&N{r*4&eabz5)e-e$;|`$D&yDwJwA2~mj|QNi58U`)4F>E8ADznoAQQo}R}y5P zjiv~15FuE;@TeU=qwepi-tK;7?Ch}xAxo^vJC16Sc|$P#Qp%*EX4`$f+BiKwY5m8g z-?~sMrhb`W-Tgw^=z?`d%vV>JoVsPBs_2^6+izoS>w61Ng?a}>E;A}@X>H@xBQ-2% z>Xu0ziz+zF^W5Kc`%iIOM9()q^{XG8Uk+YHE$3I9f-#@ZsHrBzxWzT*@ z#l>Si%i((#-oQNzuGjFv!-Y5X$jci^iSV9kPyX7AnR5I_JX>WB<7kFF!K_C3Xr6 z2nt3GD#$b{;9>69e-=Aw7~@N#$*rvmVJHosUAW9`z`nmW{6t4hO@m+qXBBZmi45f_ zMG$$!QGrNjHcER3l?8(DY) zd%zR)G=Nbk0ZK9OORKJc#{i60|LO|uVm|+hmkWL-CqHRTu2=%RUQa%-5m5WD2FI63 z_);KMh!h}40`D=yi8k!WvtVD2KdyMQ1dnszrW>eA;Op+%agDXiCZHUP+kxc30y^5M$`eh%rK3+-_)xd5|4D()XklYul9 zTophofKf?E3CmCd9m`YSH)R85AaJog{&n91sM9c#Mm@2;aX(xXsL{_Do_^wQ!%X12 zGAWFe3vZ|>p(fTNNjvt|q;4YMST`}u0Pnkb`IViq^zU2XzNBQ%L}YBZPbEm|2oh!R z#oi?PLGrI={68UCMJxorr-Wzz4gQJeO$KA`3RmoN_!CET#J;M8Zx)P$OKhkhUWUE0 z@g6r5?#d|b+K2=RN*Es=Wxh_WU&-X5aHuH-TQvGUUZp>JEkbx^8vE!$tf+(@)OXnk z-gj2}V*r`?AbO1SpQwUc;G*Hrg6~YK_9W8S2mH3 zeIOrfimi|h9<72p%fW^}_w{#n#cL~!NXKiZK?+_`*u$~!Dj<$v4~8u<)Wc)!rm2ae z6&_H>STR@v2QUhOcbP|vs(PDpr z0}A4G*phi9#^R{(_j+Le`d|8qSN}HXlzKV+FEzsd-eK3kJq?`4A%3OjWR`(1f)Fi!-jgI{i#JS!tsy<7HE>2|nP7|&^lU!42e3xIz z67egUU1}I`E<{^`Ycd8Oso(jO-Fr3Mm|+Zy)hJ6Dfl6fpL%sovk<4US(#eSeOTIZq z^es6(g-UqiAzLMv3C#E=n8>zdCx|oQ7Clqo$hXH7j^(dUFa(}_cg$y4HrL)MzzIjD zn2R5S;e&zrh%jydUm)N+S{nxh@`D5dK`VY>U_c6>E%-tF5Dm%~{YUgO<{PT@W8z~7 zekHX)*Df$sj7n-8Of5B%uB0l^i5DZ*7!CgHa4WYHZ~EsI6;T(@wL@a32MYybD?aSo zx9qb^?1|$1$D!j*hW$A(X<_7$`!h0*yp83ot=M;4|0;JVx;*sgJN=6G>04dV)rq?@ zj{b9YwXzUb%I(ZmLH`;Gbhl;_aqP^!u`3I#uRBA+F8zf^jBU zE6%5Xv6+`($$MnfUcCI8>jnB+(3Y(5hbcBkRTB+{uW(o1=@o|*?838Ks^0DmDWVay+$57%uj@6@tBpw`~Y{q7^T z%$o_T28z7bwTK;KnACJ*|I|LF3p+>EuPa+09NW3X_O0pD#Ydlo-%@t87_F+lc|lP| z7j=$|Hn5@x3)`+8^y18;mHd=v;m_};*$1cP+6f~cm$N#U_BilY(r=^6oX;dxuIgl+ zTe9g)bZxGINxL>j`dW4!*7{!O$t5;kel-uWe4q5J7PkBCyyL7lrpuny=6CCQ-FZR& z)!BXg-_fuxsD+i35@tlsZw^!E;KsD!H`OklSbd764@*l=kIi849dHE`W>aR9gysE( z9Xmy*MmReTv@J$gD1K-RKMJ$WnW6l)i&}%DX?)r6?|iu_zX|pgJxk*j!7Ty;0)2vD zaSDReYPeuE%A0hOW!{a~`>S$=b<38{oAQ<&Eu^RLlW;%HnQ{Cs{Fs`KHBr?O_^1a? zdIk<0$jj3{*2V`u`MDB#zS3W$km9>!SShehV2R)rl7@jFzoj2Pga>@SuwkGS#Z2ZW z^1CKl`Wd${id2BVUOH)cCU+n>$N3@Mpuc02CU z^yod-=aL>u-=!qiUrpY*G-h9#_2}bgO^+L&KH*+FEb+mrl$X5>7RUwl5eqD@e2#dwV>uNqup%`P9w(r@!H$XlVn+Ghv&U1BgJ8%^*^7IoazBflygGK6X!ztx zq)WH+ZBMn4ymU@zPiI|CulIR%?0uJk54P&xud{k|IpxpHJtvoWF7fI$F)A#?Ao~cr zx@uBSTS36#p{3D_PgK4!yv<(QQW{W}9ASKn^T>NiQS_q^$4>_uuiKzdS>MfX)kqu~K_3TQ-en*ZztG#!J@DzCx2K<)j(D`DUbK6?yh+nCfp-wX#p~?6&WFx@Pbr$%o3BTgE|48@_;Pdg4WLSDNrk4acoIpo_ ze@n999SW708&(J}9l()ju{O~_x@pM|3E&5{;`;8p0wah(a zanbNa$i5k@wSTlaM>P?I|24w6ICFT}L5iCet+&MV zyZH2J#DuC#CF@J7?Jk9`8{PN8h;Bn|U(NULeP?_dztw@g4sHqk8t~T!M!R+E*Gvp4 zJ2R);_ifi66P$wF_P3H{4oTcT+jLbkm!ZerY-d!Dd6)L$RKo7jlZWrz;g zr-x^V+w@kQgHH}#H*vMS%hKgpPlV0;*LlXwN&D@VTi?H&x`ZYi*wnMVE91rKL4Ews zx!lh0YuY_};D-08Zs+fGW!jZJRvUKNolWj?ztw!xhb}QYZMH@Zj=HmVzhcl$#eLTs zyQ60ue7?`V=as54PvTA7TSX?FR& zkr_p4>-~pb=s7!e_drk2mrwKddyexR*P&&%y>-JPM;tJSJ$QC;guiOaJK6gpZZBWU zzUfnDhIR`adU@?{*4O8DeKU3K&gdHH^fNcl|2EpNAqPH%9QcrL#xl_CB(30A!r&e{ zN$;1*sF}7w6Pjt{h)-t<;r=cHg^{h0gDDe>spgw%W4|7s0V&|SG^g-uO$)|HY-^&| zweHcBLb&3;wAc>2wxVq4x{7ggELvka%2*NG<1 z2%lPdrr2owUU3@FH}w5}#p%4NueI$TaE`Xw-EsNC*ODuu-OfRar}Y&N9bY;sIzIWL z(Zs=LY`fUMZW}%-;ndnMxwk{vJg-^z+Sx5WyUAhTCyHHd!;nbK3MclXix$^hca;zCXa`){BFFC;H6Y7}JV#h_mm|s?~Sb zU%F!TTlc75Apr#*wnNsv@pymTw>4KXeSPl{IWqauEvo$;^jJ$MZ_m)m_Lgy3hI=-| zy{#KJ#9nSy8ntx5-45R3h5P#^WK{2W5Cu=GzH#~W`&Uip&-AD}zIfWHXMIIsxBIYX z4-aJxWSwTMD{S7RRw&%`;_4wgX6=oz!zP~3u8aMjOsk)tI`twtKRp&FWduqid(AJ>f@Y4d}xu@09zcc;4P!d3pVhBq%M72gM&3 zRN6Z8D{UR&7L#8w<-eV{{`M|Y=f=0DVl^KEkmkPAfFUr_?%d%<815w-Z;K5DCb0i( z#I5-LjSZOsXC`;$mKxXPH#)xGF{I7%OIuyn#!s47_oKHF z!4IfuQf~3{8RLB0a+|+f)4IzJGBLA~DyMgQ&Aae6{m)^OTTWTAJmo~~%@e!F`E1&- z%GBn0)r)y{JtDFnw2W;tr04zh?zf!Tou0>a7``p&o!!#$$^&!mk2>w&>{XZRBj3~p zTlJ1PzM*62shQDc^teLW^Krp$%{!dCtk?i{dRL_{Xtt# zt~kAOadDri`JPKprJZ@?u_o4}!slSh*oU^AYEFLr;u&BpMt*unal zhwN@&+v>yEG01MKe=vN4N9~4-9W9aO1n+dJIeZMzKlo!y7+%gC;MZt9fsxrqa9w z?h8ENzQDBc_=(!^)$N3ro!v-#I9Nv12Hk~)Zx9CmM+~7E8N;&iMIEk=#+t(?J~?~} z;J1S5;s*rq1MxjUpddidLWBN)IZtpy@y|CJ8wZ>W1;c5m#=?b_;w#1-9Q8ewQ4b56XzaHGO&a359ON+HNP42%C_uZs0d0z4GM9*>D>GA`D zFNV9!97pc#mhgOG3x^|}dYnHeZks(@>f70P%F_=c4o7yY+p;GxtHAAU*r<>#*Y$fl z7G1dgq|gGN1sP4E+i)fwK~(aOM-aNdr4Lw-%f53^Z&BH5#F*id&4~5suqu$FRmZA z`l`X1ht~OP-yUhdv;G;cL-WVW!?$~^dpQ2e#!|=F`{t`!{ZTs4>uQ_xix=#SD06a< z|9*YNsd)w4LmoZfz3P+il)V$TPEbyxjOTP)6LBl%Q9$>EwPiDF3y+J9Mr0l{?mge{ z`u1-xE`KQ(F*;R=Y7^QPtamu#uzV6uxMmD2DIyrsor+0PU{xRR(9n4#5)fe^4=v(#X?iuk? zyTqVo4;B10yuohH?8WcFPpV0%iLdVZcRBZmLooG^KHLKMjSCkLSh@h=R)Oy+@FKSe z(uOTI+#;m&`@tEz<{%Jm5#s-4Uk!H&|6XrD9*s4{gLA_NWk!5XL%$4ta$N3Uis^7u z#V-FL=#fo)O7)JGC)OHl-9x9DHycqQ-njA1vCytlGC~J_G|P%F|9x4GOZ~9pK`YZa zYZk&iy@l)R9`<=fi^uYY{&{#vs=+~n^1$)jA=P7_EEFd94RPOP?YP)wjq3Bw-c3{M zjoOS_+(EYR+w*JBICD<~T^4O&EUyZWxpweY!n#ulvhWoJdrD&c?`=(-f5Q07jQ0y| z%4eUCR{l1j{eyv>_0zoGJ$`b*X>!L|8^(_eeSCEHycxz@O6v+21>YDJIXu?1Q@1%B zPUq;QFDph--M;4aU3L9s&@1=k9J`AzQf-gUakabsFsNQ|jy>3_`-kkUjF`xADaWPW z=?PVNQx=t)`YpPwH+aFY$N}dUWP7T<^yyJ{$4gAdn%dZ9iev5MtB>znKIR^3aU{Vr zL=iEBFDrN6ZT225@ice8Stn_AC^oI5p#M>?0YeLL-(W%D4q&GXT>npAgb)qKa3ieXAtQPci@#ia%BZl=HU zi0pN$+x0{8`kS|o8FKrKas8`<`@OHupM?uDb2sHy)VY-2m}yk@a$A1K8Bd=~U(~e7 zc$q-4bddkJ$Gn%wuS(HslDtYEqP z%g_x?=PU@{Ieevg=D}I3T{fFJpECP%U;bK1l?9M0dpD*^WOeXmp2o6SD6T-vqpkE207>!~5q&NpxE+7@b^9{4S_+u^KtQxXeOZk2UT`MNbYdswuK z(WWt$CkF=XF|&D)UfMsQDssz`vC+BgCa(_;cv~HRb#LS!1*zQyEo(R-vN2CDm|k>G z9NbDs4?3{oi$b!-Vdd}j!L>o|nU|-x*=}1BxT?HQ*=RHSISF4kKge*q+TZkK-#1^! zCZ0V1WLS^5=ht?QS#*2Cxb>}kyU%`@FEKtE?3X`Q@JEp6uG<@jyY9bvWL(*%q;Xe2 z>LpLl%V{$+de_rMs|R_t{QcPDs;K+XvZDd#_EhszyZPSASbu!mtuepdnfg1`c}H!* za_c_X>DS*+oZ#rt?hE&%vNUXFbm8#>X)UfEZ&7Lb!tB+Sjy6x1KA17Mee9Jr{r0^+cTw3c zqU+wkRYK(_O_)6S;2bL&$Ry7#rX;n2SI+p()%Q3y?!ki8 zjGWW$CXerP;lxav1NZO>|*;)h14aR>v@$%Z}VJ|?i3{!y7t_5 zZQkp#?GC-pxgoA!)MLfFDVsf$Jx;mq>QJ-0*=7q1^S5(-BK?{nBMRPuatOJwbR4T_pPoUnd*pBpg?RYp6X zOejCo?q286tTx?tRDTSxy)^aBxcUiH{fR@WFZHnsx!KA>{=pV&2VIQ+%IS5jL)*hi zd2>XnPQL59cJ$lZgjujV^Mh-xGVkbEgIyb_o-s+8my{QVIQEI8#-=ozkZU||k>}Oy zW}dFwL%PhAeR4|5?H^^{arw(FtN(Z~qF=W;XHLZq*wi!0V4Z}DEE_x@ehc`Ov*Srv zRy)a;V|&A5%E~6y9(&*B&K9fP8&8BT7IYuFb2q)WazTl;gVl&J`CspEI^}6Q!f;&h zjBJ*kj|qdeWmuttQIQX(UURfqyf3_;clngF6J1S&HE_gTQNF0` zznrgi9x&^{|9PZ`9y~6e!*{kZg^fNrMhOrE1`1lHXbAA|T|?jxu2unWK6WeWHzIxgm9hng z&kkunIHKspt1Uu6jKuVZj1kGx0zX^*lY` z@{^8hRf%4oHhA`|tv_S>tV7oo%(&Z$ABvRm$=P+Y{m+| z`tQytITHTW$&c=la3$55Z>v4HgEL{{?~dkvI`);stxDXJdgiZ4;cN?el^x66WWwvc zo$l?5>uJ0yFX@OKzv82g0NP(r@rYk>pI>o@U$KkHt)3rv&fDw^dvo+(0rBF9;IZBA zPD?#v>o~G?vrmt@?GEQxO#gpiDg4@SaOS;;Syi>5V%?nQDua;rX4@kkA6e1m%-Y)q zk+F62W}a_8SJxroSdCdpBacr$(Sh&RMnCOd^>kjyr;VdW){Q>#)bhZS7>{$eS9V-% zmpJ!f+xJbj_nv~>-%M^geMn@GVKeC&%a8{rC9fvz8*H+#%eJw`#(AGz`$?O1uM?as zwVu@N)67GOQ_c)d9PPBXk5$jXy;shEdZw~^^rkjnS0=|suW+92S264;V|Cv_DWemk za)vvt+Ipq5a?SkO*%{oMPZCAm9#&raIEOwoVHo^jKJMt0X=a0uZTqBW+2gDcYvrY~ zTeCy2+#gVo<#xP8bgQC|O^@2GCDX6pTGp#NVD!RwpZq6RwN44Jel^O7KXhFcwczF4 zyt!`&uad(N%cU8fJ9|!;w9Vq#-jVNp+YRm3=iR`ok=)de-J4~}4t2iM{(0xh#Zhf| z + + + Microsoft.Bcl.AsyncInterfaces + + + + Provides the core logic for implementing a manual-reset or . + + + + + The callback to invoke when the operation completes if was called before the operation completed, + or if the operation completed before a callback was supplied, + or null if a callback hasn't yet been provided and the operation hasn't yet completed. + + + + State to pass to . + + + to flow to the callback, or null if no flowing is required. + + + + A "captured" or with which to invoke the callback, + or null if no special context is required. + + + + Whether the current operation has completed. + + + The result with which the operation succeeded, or the default value if it hasn't yet completed or failed. + + + The exception with which the operation failed, or null if it hasn't yet completed or completed successfully. + + + The current version of this value, used to help prevent misuse. + + + Gets or sets whether to force continuations to run asynchronously. + Continuations may run asynchronously if this is false, but they'll never run synchronously if this is true. + + + Resets to prepare for the next operation. + + + Completes with a successful result. + The result. + + + Complets with an error. + + + + Gets the operation version. + + + Gets the status of the operation. + Opaque value that was provided to the 's constructor. + + + Gets the result of the operation. + Opaque value that was provided to the 's constructor. + + + Schedules the continuation action for this operation. + The continuation to invoke when the operation has completed. + The state object to pass to when it's invoked. + Opaque value that was provided to the 's constructor. + The flags describing the behavior of the continuation. + + + Ensures that the specified token matches the current version. + The token supplied by . + + + Signals that the operation has completed. Invoked after the result or error has been set. + + + + Invokes the continuation with the appropriate captured context / scheduler. + This assumes that if is not null we're already + running within that . + + + + Provides a set of static methods for configuring -related behaviors on asynchronous enumerables and disposables. + + + Configures how awaits on the tasks returned from an async disposable will be performed. + The source async disposable. + Whether to capture and marshal back to the current context. + The configured async disposable. + + + Configures how awaits on the tasks returned from an async iteration will be performed. + The type of the objects being iterated. + The source enumerable being iterated. + Whether to capture and marshal back to the current context. + The configured enumerable. + + + Sets the to be passed to when iterating. + The type of the objects being iterated. + The source enumerable being iterated. + The to use. + The configured enumerable. + + + Represents a builder for asynchronous iterators. + + + Creates an instance of the struct. + The initialized instance. + + + Invokes on the state machine while guarding the . + The type of the state machine. + The state machine instance, passed by reference. + + + Schedules the state machine to proceed to the next action when the specified awaiter completes. + The type of the awaiter. + The type of the state machine. + The awaiter. + The state machine. + + + Schedules the state machine to proceed to the next action when the specified awaiter completes. + The type of the awaiter. + The type of the state machine. + The awaiter. + The state machine. + + + Marks iteration as being completed, whether successfully or otherwise. + + + Gets an object that may be used to uniquely identify this builder to the debugger. + + + Indicates whether a method is an asynchronous iterator. + + + Initializes a new instance of the class. + The type object for the underlying state machine type that's used to implement a state machine method. + + + Provides a type that can be used to configure how awaits on an are performed. + + + Asynchronously releases the unmanaged resources used by the . + A task that represents the asynchronous dispose operation. + + + Provides an awaitable async enumerable that enables cancelable iteration and configured awaits. + + + Configures how awaits on the tasks returned from an async iteration will be performed. + Whether to capture and marshal back to the current context. + The configured enumerable. + This will replace any previous value set by for this iteration. + + + Sets the to be passed to when iterating. + The to use. + The configured enumerable. + This will replace any previous set by for this iteration. + + + Returns an enumerator that iterates asynchronously through collections that enables cancelable iteration and configured awaits. + An enumerator for the class. + + + Provides an awaitable async enumerator that enables cancelable iteration and configured awaits. + + + Advances the enumerator asynchronously to the next element of the collection. + + A that will complete with a result of true + if the enumerator was successfully advanced to the next element, or false if the enumerator has + passed the end of the collection. + + + + Gets the element in the collection at the current position of the enumerator. + + + + Performs application-defined tasks associated with freeing, releasing, or + resetting unmanaged resources asynchronously. + + + + Allows users of async-enumerable methods to mark the parameter that should receive the cancellation token value from . + + + Initializes a new instance of the class. + + + + Attribute used to indicate a source generator should create a function for marshalling + arguments instead of relying on the runtime to generate an equivalent marshalling function at run-time. + + + This attribute is meaningless if the source generator associated with it is not enabled. + The current built-in source generator only supports C# and only supplies an implementation when + applied to static, partial, non-generic methods. + + + + + Initializes a new instance of the . + + Name of the library containing the import. + + + + Gets the name of the library containing the import. + + + + + Gets or sets the name of the entry point to be called. + + + + + Gets or sets how to marshal string arguments to the method. + + + If this field is set to a value other than , + must not be specified. + + + + + Gets or sets the used to control how string arguments to the method are marshalled. + + + If this field is specified, must not be specified + or must be set to . + + + + + Gets or sets whether the callee sets an error (SetLastError on Windows or errno + on other platforms) before returning from the attributed method. + + + + + Specifies how strings should be marshalled for generated p/invokes + + + + + Indicates the user is suppling a specific marshaller in . + + + + + Use the platform-provided UTF-8 marshaller. + + + + + Use the platform-provided UTF-16 marshaller. + + + + Exposes an enumerator that provides asynchronous iteration over values of a specified type. + The type of values to enumerate. + + + Returns an enumerator that iterates asynchronously through the collection. + A that may be used to cancel the asynchronous iteration. + An enumerator that can be used to iterate asynchronously through the collection. + + + Supports a simple asynchronous iteration over a generic collection. + The type of objects to enumerate. + + + Advances the enumerator asynchronously to the next element of the collection. + + A that will complete with a result of true if the enumerator + was successfully advanced to the next element, or false if the enumerator has passed the end + of the collection. + + + + Gets the element in the collection at the current position of the enumerator. + + + Provides a mechanism for releasing unmanaged resources asynchronously. + + + + Performs application-defined tasks associated with freeing, releasing, or + resetting unmanaged resources asynchronously. + + + + Specifies that null is allowed as an input even if the corresponding type disallows it. + + + Specifies that null is disallowed as an input even if the corresponding type allows it. + + + Specifies that an output may be null even if the corresponding type disallows it. + + + Specifies that an output will not be null even if the corresponding type allows it. Specifies that an input argument was not null when the call returns. + + + Specifies that when a method returns , the parameter may be null even if the corresponding type disallows it. + + + Initializes the attribute with the specified return value condition. + + The return value condition. If the method returns this value, the associated parameter may be null. + + + + Gets the return value condition. + + + Specifies that when a method returns , the parameter will not be null even if the corresponding type allows it. + + + Initializes the attribute with the specified return value condition. + + The return value condition. If the method returns this value, the associated parameter will not be null. + + + + Gets the return value condition. + + + Specifies that the output will be non-null if the named parameter is non-null. + + + Initializes the attribute with the associated parameter name. + + The associated parameter name. The output will be non-null if the argument to the parameter specified is non-null. + + + + Gets the associated parameter name. + + + Applied to a method that will never return under any circumstance. + + + Specifies that the method will not return if the associated Boolean parameter is passed the specified value. + + + Initializes the attribute with the specified parameter value. + + The condition parameter value. Code after the method will be considered unreachable by diagnostics if the argument to + the associated parameter matches this value. + + + + Gets the condition parameter value. + + + Specifies that the method or property will ensure that the listed field and property members have not-null values. + + + Initializes the attribute with a field or property member. + + The field or property member that is promised to be not-null. + + + + Initializes the attribute with the list of field and property members. + + The list of field and property members that are promised to be not-null. + + + + Gets field or property member names. + + + Specifies that the method or property will ensure that the listed field and property members have not-null values when returning with the specified return value condition. + + + Initializes the attribute with the specified return value condition and a field or property member. + + The return value condition. If the method returns this value, the associated parameter will not be null. + + + The field or property member that is promised to be not-null. + + + + Initializes the attribute with the specified return value condition and list of field and property members. + + The return value condition. If the method returns this value, the associated parameter will not be null. + + + The list of field and property members that are promised to be not-null. + + + + Gets the return value condition. + + + Gets field or property member names. + + + diff --git a/packages/Microsoft.Bcl.AsyncInterfaces.8.0.0/lib/netstandard2.1/Microsoft.Bcl.AsyncInterfaces.dll b/packages/Microsoft.Bcl.AsyncInterfaces.8.0.0/lib/netstandard2.1/Microsoft.Bcl.AsyncInterfaces.dll new file mode 100644 index 0000000000000000000000000000000000000000..421e81245625378b1b5daf9ea3fde30ca7aa5699 GIT binary patch literal 19104 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 Z?hlb(n?!Dkt^WF{jHO+*M7nXu{{st~2Rr}( literal 0 HcmV?d00001 diff --git a/packages/Microsoft.Bcl.AsyncInterfaces.8.0.0/lib/netstandard2.1/Microsoft.Bcl.AsyncInterfaces.xml b/packages/Microsoft.Bcl.AsyncInterfaces.8.0.0/lib/netstandard2.1/Microsoft.Bcl.AsyncInterfaces.xml new file mode 100644 index 0000000..217d476 --- /dev/null +++ b/packages/Microsoft.Bcl.AsyncInterfaces.8.0.0/lib/netstandard2.1/Microsoft.Bcl.AsyncInterfaces.xml @@ -0,0 +1,124 @@ + + + + Microsoft.Bcl.AsyncInterfaces + + + + + Attribute used to indicate a source generator should create a function for marshalling + arguments instead of relying on the runtime to generate an equivalent marshalling function at run-time. + + + This attribute is meaningless if the source generator associated with it is not enabled. + The current built-in source generator only supports C# and only supplies an implementation when + applied to static, partial, non-generic methods. + + + + + Initializes a new instance of the . + + Name of the library containing the import. + + + + Gets the name of the library containing the import. + + + + + Gets or sets the name of the entry point to be called. + + + + + Gets or sets how to marshal string arguments to the method. + + + If this field is set to a value other than , + must not be specified. + + + + + Gets or sets the used to control how string arguments to the method are marshalled. + + + If this field is specified, must not be specified + or must be set to . + + + + + Gets or sets whether the callee sets an error (SetLastError on Windows or errno + on other platforms) before returning from the attributed method. + + + + + Specifies how strings should be marshalled for generated p/invokes + + + + + Indicates the user is suppling a specific marshaller in . + + + + + Use the platform-provided UTF-8 marshaller. + + + + + Use the platform-provided UTF-16 marshaller. + + + + Specifies that the method or property will ensure that the listed field and property members have not-null values. + + + Initializes the attribute with a field or property member. + + The field or property member that is promised to be not-null. + + + + Initializes the attribute with the list of field and property members. + + The list of field and property members that are promised to be not-null. + + + + Gets field or property member names. + + + Specifies that the method or property will ensure that the listed field and property members have not-null values when returning with the specified return value condition. + + + Initializes the attribute with the specified return value condition and a field or property member. + + The return value condition. If the method returns this value, the associated parameter will not be null. + + + The field or property member that is promised to be not-null. + + + + Initializes the attribute with the specified return value condition and list of field and property members. + + The return value condition. If the method returns this value, the associated parameter will not be null. + + + The list of field and property members that are promised to be not-null. + + + + Gets the return value condition. + + + Gets field or property member names. + + + diff --git a/packages/Microsoft.Bcl.AsyncInterfaces.8.0.0/useSharedDesignerContext.txt b/packages/Microsoft.Bcl.AsyncInterfaces.8.0.0/useSharedDesignerContext.txt new file mode 100644 index 0000000..e69de29 diff --git a/packages/Microsoft.Bcl.HashCode.1.1.1/.signature.p7s b/packages/Microsoft.Bcl.HashCode.1.1.1/.signature.p7s new file mode 100644 index 0000000000000000000000000000000000000000..545771eacbeacde62e896cde275d679588c9dfa3 GIT binary patch literal 18703 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 literal 0 HcmV?d00001 diff --git a/packages/Microsoft.Bcl.HashCode.1.1.1/Icon.png b/packages/Microsoft.Bcl.HashCode.1.1.1/Icon.png new file mode 100644 index 0000000000000000000000000000000000000000..ba1c7e05ec32d2e4fc246d3658a4e76edd57ac12 GIT binary patch literal 1371 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
  • 3=Izt3jXP7_MTP^hHDl(|XayHkZU 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 + + + Microsoft.Bcl.HashCode + + + + + Rotates the specified value left by the specified number of bits. + Similar in behavior to the x86 instruction ROL. + + The value to rotate. + The number of bits to rotate by. + Any value outside the range [0..31] is treated as congruent mod 32. + The rotated value. + + + + Rotates the specified value left by the specified number of bits. + Similar in behavior to the x86 instruction ROL. + + The value to rotate. + The number of bits to rotate by. + Any value outside the range [0..63] is treated as congruent mod 64. + The rotated value. + + + HashCode is a mutable struct and should not be compared with other HashCodes. + + + HashCode is a mutable struct and should not be compared with other HashCodes. Use ToHashCode to retrieve the computed hash code. + + + diff --git a/packages/Microsoft.Bcl.HashCode.1.1.1/lib/netcoreapp2.1/Microsoft.Bcl.HashCode.dll b/packages/Microsoft.Bcl.HashCode.1.1.1/lib/netcoreapp2.1/Microsoft.Bcl.HashCode.dll new file mode 100644 index 0000000000000000000000000000000000000000..33571cf08af73c47ff565786f598ad92241f540d GIT binary patch literal 14208 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 literal 0 HcmV?d00001 diff --git a/packages/Microsoft.Bcl.HashCode.1.1.1/lib/netcoreapp2.1/Microsoft.Bcl.HashCode.xml b/packages/Microsoft.Bcl.HashCode.1.1.1/lib/netcoreapp2.1/Microsoft.Bcl.HashCode.xml new file mode 100644 index 0000000..c77b293 --- /dev/null +++ b/packages/Microsoft.Bcl.HashCode.1.1.1/lib/netcoreapp2.1/Microsoft.Bcl.HashCode.xml @@ -0,0 +1,8 @@ + + + + Microsoft.Bcl.HashCode + + + + diff --git a/packages/Microsoft.Bcl.HashCode.1.1.1/lib/netstandard2.0/Microsoft.Bcl.HashCode.dll b/packages/Microsoft.Bcl.HashCode.1.1.1/lib/netstandard2.0/Microsoft.Bcl.HashCode.dll new file mode 100644 index 0000000000000000000000000000000000000000..0de0f25724ac26d10f56b017e38ef9eac24359bd GIT binary patch literal 23432 zcmeHv2UrwI({RtsW-=%s5*83a!ZJ(7Oi~d+Bq(CQWp{y9U~zX*(Nh5x!9)}l{U|=-zJY3Y#62xfqn8%xw7EJ(fmEp|EYupL*=nh- zxKOGol*YDCl@@4KYMF(Fq=8X%avVbKCmY6It9VFdJMy?_`jOF5yd397J=OMxX=Tk1=T_Tk3eXIC)`UB zGKbsdb_k`x{cm5=YSl>-5#ViVHI^CF{R|k#W0V^2pm*&{3R=l@dYux8M7JJL5Wo*i zQ~PQO(W;b;UYk8=x@w)w)_D6kQ7?#S7T3aADnO#795+BUI#qkeE;rYS0!T zN08MN#$Rfr{ngEt_Nj}I#J4+lrya()BSd-GGqVO#FiXCTjdbQy6#A%L%U~2bs?YMs zFrcxGk1Gs6K;~l)9Y`1=*i0bQIshuPr+pmZ&iK>=cts-c7YMXYP`m^}D42g5Ss+(G zB*D6aj`g9+*N&x;8Q{>hjV-$7+^xhsLT4!i1 z!NU}o37s;`gaRKsQpSn_iO5Zd_TWxmZ_kW|ZjFMe_x2beg3X9vbCGL?xrh^NE)tRs z%tfRFa}l-+*0C?#`TwOpc%xx##?I;Y_81|Zo0HBh#BSyp7Gkb<3o+Nbg;+$iun-e1 zEX3GOJhTaP0JHrU#`#qp_@lvaM&+3I_81|`S=jPy`L+UEp^pvpX~Prv*uve8XTukA zCBBV7#FYd#LNQko+CaSx;68OQv&cr|W}Sg=WE8l-jpI6uL-^k`4olu>m^R}GdGGBp zLPlt39H6a;8zSF0L>Pc^h%gZ25QR1(;}AvM0AWaEh+-SDTb&F$xY_W?jNu|TS}1V7 z!$U&wWLR4NTjuRA#%swR4c=ok1^>N0MmSTDnYI<#iaApVjHUns7)=2NFq%SSBQ}~s zjAz;gaLyDG8;P4^h8^5Yrocr$XB8-NR)GTN0|8(YSoi)1+r&~Z8l2QGMJ)+F+9fH92b0;3qsCAN_m%_ZTC1%@D=V`gLK=A2;%HaC zz*!CoCVxr=+ri@c|EBFMg`?qFFq&2P-X0^IS&c@uHRH?*D>5-F7}IE0Fs9M05*st4 zS;$?EM-RMz+B?&C z6zxDz#)aH6cy8ugf$wI^6?}t?9prYj&+uJC({5HOg*BqNZlFNBS#Sg*pAf7G!FLeN z)Y?a3y900GER6SSf$s{M7vNOGVsBNO#ZSm%v=EX=I9|N>@z9UPy^oR5^Z?iocot%Z zjDffyhE2JIk2CHB4$^U+8S@?iKjJ{};#U&wd`&<$zdIuaj$z-cWAmPoEJ4X+@^-;5S$ zfeQpMzE~X+@8Kxl(iJfj%=7WW+y^;scf#%T8MjwGeoYI$Pea^f1>@h4Yvn+bW&|)q3mCMH*q=jbBom=spXYd#0zN!{80@fFRG->G82}zXbSXh(bK0^R?NS z87_#;sZQPIiNz48q1RL}!X5-gFh0p2U`Qk->jroH96)o_4t|&iy2tJDvrc|uxMRBM z2W|n^GCsy}%j3)gfdI|oVR)3@D6m3_U_k*|!(8JFP&$p_5FUnN0;dpq7=ft-J|@tD zzy`cMz;UPSmYyq2tj2DDwiv_nV2v7sZ4#jj76mMqU<}TKU>+NR={rLWi~;I)qDd6SL`V$S zZs!R`x}2|A-XC=fM7qlJ6vhNvF@Ai(v)BeWdJspE8q zQb&Yg1c4a@_9Ji%Knhkb3_B3mo4^VJ-3V+!U>1Ry{NuC@VyII9)q=BhvJ~5)!f`5C zjzSsL*aeVRRE@<#-Qa2r*Nv^l>O);6!6qSt@G8_judWk7PWzT%6Ob!)n`TfQcLdi| zB%<#DmR5~Dp?PRSHTIeopr#%sPCg?>Ja}}ucD9TKdR~pWGqy+s%Oh78#5kf@;^Mf6 zIK~alhgA+y6Obi8lkrBs7_l-chw(#CjMz7T1t2l3gP5~9ozDa!e~h6Cs5O0?4n~p2 zxmqgn8-vTC$gC+f@pj%k7h8L_9lDyA74 z510tFmWZY@&Cz61Hwn4&7XkLG5%UuXsFuhA7FmQQAwQ8h6^)uyV|G*=Dy+snpm_9M zHReGjpxxD&AC-ijRb!!43TotUlG&2#ggSDVsDofRlZpBmu}o?;U_*>p1i{8*jGBsC ziq=8hylQL{(-l{sw(ykEs0%!D6e3ebAdOm+T1?@}49fi?g@*?J1)Yy3|HE1Vn)5e# zglNe>#VJB-Kzj-W0i;n1{1~JI$V0=4oOBp9jXH_&*tzmHybu9Drl$bJ{CKUe;ir&@ z*a|~9wE^pyDA|Pmj>7b7M9!yW3gwBct!dPlaC$<&G}&V)R8wY964C8b3J(?5qJJmE z{YH_w!<>v!&ZiWfQQDX3e51_TwVY&bbdkg|rm`4K6;Q|qpa9haD1kk5s=yl7$Ekw4 zD3X+;2#hDN1A(0hR1l~kus6W^s0^SKjRYuwX9~lm02`tc0R7Q*fI;X_LZ3n4&&Y#r z0XxeOVJxzt5=3oLJ!*m|8M#wVu%4|ZJgdpm-wxn;)QBRwQEm9YqDX40=svoOSpEwr z?-#xXc$ohIAbwskG$+swptGnxDRZ?Rr0hpvD1j}hDC$1dmbwc)rcz?qS@^UVIU)%_ zXJiFXis}Gtfa*c`{0`11z0m;JTfLDlDi_Eg#yHBzV0StPus-?&peOnO&=1w;VHi$e zBEVpz1PH4Tz!<`lfYv}c73~Gs1-${NB=la$o*xYR-wJ*V8UlUAK=v*Yq!NmfP?UtC zMBgF{fu7KZ5c&{89|H6c!6ZVTPw4XreLm2;2-Xt%DFUAn$WR{8BSYE3i0lBa;0F_! zN}!&=Nd&GX@Dzd12($yM06&4L1nLQ#MBrKiPZ9WxKs(rjfSj|Zl@c^Dup#KOE(4d}l*7^pOeIiH;3NXq5_pQh-2x{xLJ%vS50-3T zhM@=|5l=b-bw=Hg2I;c%FItZ{SKpLVG z2I~DGx}i}3oKNCsUyQPm7L}k8Xgc`+CUg}1pI3^XZSKN%B{i3GgmP>H@u()Z^#_%c*ayuWzic z5A`?(u8&3$J{KdOi;>U8$me3@a{)eB@{kMI3tw(Vem5h(n~~qm$nR$4cLRP{;(&i4 zY3FWi=WcB0ZfxgnZ0Bxl=WcB04(+gM+|f$XJ`n98ce(M7(&Q*Uu6MB_Ut=hV(H0ab zbZT7>IZD=P3e<9x)w@_-4EH{Ye0(bcN*_5&3*zd7jP*fWeGn=FN}nK<7R=QL8|#C) z`e0N9ls>^IErhEN;pibi3_)q395Iw5hN84Et`vsS!nsm7N{ir15vXaRR#lv@ZjMq@ z;6+wyiQb?tki}^8^VLd&Mq8+twN@9Zbs8m#QmIg`+K`p5S0`x;Qxt_NZGoo0TGd9O z&r4OSRY;#z{Ix0~Lt#+2hU7_+Z{*hFMpz=25CiZ3stZY4LuzqRkydB;l*44$Sx?rCKjb)F^dYy*9@ni&o~#OdX;$ZFRA=+E87N zkJadlw0cE$z8a+z7aCv+(@KieZ9p(kfD>b_blL(VMc-FrQ065m3e*UuK3h|$Mji1) zV>ZOef*PF~EP&!v8iQ6Bt<&};@>30%n5gMjU5G0vGL&#wlwPkc$j&cGR2vj3g+UQz zfMhkh7)vS0R;yHMRSgCEoF-qbGnu+pReE6`n86$k9uKy2O{3~kx?Yi6iyo`aF3!!x z{M8&NsW?CXW6CE(sbMwgou)C=me4+1ugzB*YRNP)wgSyNs&#sBxX-1;7v^Yn1q$qq ziu}*GQq{_09XxZ%YF&Xw|78iWYQ0jYDZ&yy7ayz6Q55GJqVhEgeN8QAPSRSu~_J+uol&1*BEUfe)n4=DOmw;%cFEU zMM(|K#GG85ov%^0FU+r1SJN}BK83X^j4q7(hGArD@Df!cGP(r(i7Zbl;GKr%_<3oi0dM%CuJK?;9j>fi%nFLMh3Y~BtaNJJ z_Df5FOqFkHfZA#`g~;SrQDhl3$x2b@7#BuVdkKo`r&JU70_os`g}I4}LQRfZUp?v? z2BMv|2*tM|P7VIkN25~f5PTiM6|#$SasbbTh0$a)kfz85nm$WsT+vJvrE#Z0+v|I&t5M_@YW0R%B%|NRj4G$9b$v9jn3`Ic zs<}r+t^2IrwEF&yl~|UV0$(Z^S8K#AKiG^gV|vt1t5oDi6%`qu5YFp>j=hR(L)e80 z$`wox33fd_Qs@BGOgdQr!8=Oy8a?=_GQSwQFu9B#kqxGLh$bhH)vPXh6s<9|FH-Bc z6#-R0NNLa!>^>+R&%bHr64WJn*b@qs3Ij5YkDGYZKD#Guu}GVfqgNYHiWYAK?bJCy zDawlL2djiqV?dh1qGAK88GE%55Nw)8*h$w&~ z58A5kf8ys)MO-Th^jTDFRUdViH7usNBOn7)*wXz?No4B?2n`fH8G70YpQ~F zStt(mCS3U-&j9wqR>9*eCL_{9Ydjv1@P)RYO8aVCn3_B5d!5Pc=+t)P_9G|PELfF< zcv6ZIF;YbFpl%^r~rfExS8j>2?(h~H-BO}A3EuqTN(#097 zEG?bkv=X4R5b^MhLoF>uK(#F`vvh_-NUq>4L40Egh+M6Uvj|bPrBybi3k6^fD2Waa zu={W%;Btr3O31VkuM`gYVFCm=y8%2UHA;>%6r8>!RO~*~FKuSX#`R839MO#?@7Jw; z5Qz-Dx?ziN9{Oc)7VntVu-@rQCXQX!=>9vKW1D_xve@$d;w|$%@_UX6m$W;@ysXov zSK(%l&chZ(w013g(fjbk1&XFTrmDi=xXzSEonj(+{p(m_=5PVULz=cl>;6IpbF)a`=0^4HjzVHfwrmXlP z$QZ=}YjAW|B(kPyxVcgiYla~OSK8c~$1@gP8B1$EzZ!AnSz8MPwNO{St+i125y4eZ z$66%%gybqTgD1gS%>99XfuDk75pU%oN-P$z6a{{2&QdhoIHv`bX=l(CzE4C(uN46^ zZAtvo5@y4;7^*NT7Q>krZDuB7M2O~zaD@n2ir}CRPZ?*xlBWL4E+LRub9 z5GdfoZV2fyh3sqgu#a*WTvu0?6qnWt!bNpot*)0T5QKJhDP(5cmvQXQOVdGgMySa; zHG~=Qh1uGEMyeCYsqRA>qt!tIMy3s+U<%20E|q?|{XX^Zn!QscL$#>hz}g&;Risx{=PbyAZEy-W&OuCyjQlp3@!G)TVGebiE5 zmEzWrhpD7EL}3Clje8X-;XD%F9w9iJMCj(rfnVF{+e35e zU+g2L)W6i{{tHin``mo((#_i)FS&lR-mSkRniZU#*!I}z0Y1;|A6z(m`p%AE;r+uwRpV&S;`v8C zWnSZ?Ehq5Y*S}~z_d&>tNUNZ3H`jT16lhAT8vW@IxA(VhgJ>6iaxp&UL(1=yr-Nye zu?uM7XPpSYKwQIJ*k|$kd2jd)hPuJE>M#d>_h0);NsUeYGi-J9G5lX+$F{iR_hY=c z3ziX>6{ye|G&u^TK_3VyYGCym`O!&JV6ELX01gz?3cdO(tg<3iHcD+16%-nVj6F_1 zYU~k@s^B6s{k`YiM=1+4CmjXNP1kR@EHz;t-%Ve0bJQ$YJY)0o6BUr=k|$EFCh0F% z`@svOd@_8B5a2`V(vRhG>mB8_0+QEk;COJh!SDa@kh)i7nxjZT9 z6%G+VJ|3MZ+rgH`I+?~03l`B6T{OU3!}TSZf30J4WK~OUN01B06EIGkBjPIr#uiR2 zBtt=Pm%%xE82qv13wo>CheIh6c!Pi%4r7l1 zYB;ox1Uwkz;(ty9`54$&4}bXF0q6cDpy#K0U>&d*aX+H|{|En03$*0EQG46$-`UCk zm;FE00wX*@Gnz(hxo5FJ>|4>M;-v*8q$|rkbAXghQ5{FAmk>7Jk+QHIke-pamp>o#%AACJ8! zra#&om67jDZ(p!@&(QakOJtbk-8llSddI;5iZ`siz3-g$p&hxu9YvFKgnnllyja~cB zP1wJ!^MJUM&zHB@6}xR|nd`N%#ho5sM1vh#w_Y`S@4z`-PwqM}Ha>sksBydI_V%9B zAoy~d#-g$3Zv~G&?lt<=%+X$R-PQ%iq#biP>aydvg==>V^;o|nZtMOoqOti~`ixP% z%65GbDhl*Ik$eA^yVa#W8xt?fT10F!D-OG!JnH1g-NOt6yV!)fTqxit$(F@z6x=`I ze>p&!)el$)p2J@RgSr`eWgm2HE&3~CT`+?s&z@JO;@elbo?GrNS9zWCT-;>+ zk@TZphuCCXZNrOaTQ7)XW8{rkZ|po~cD0UEYThTnxtdxBrwu6@rB-gw*1@cNJBy%T zmX!zjg@i@~M}%@3d18%9>$E9U-Ad-4DqrRh9`3QOV9CK^dJ3C{yL96vvI%T_W$Vhg zikLiup{Q|SVBfxdWd+qQz~B@ku&9?tTci(E>hf_u0$vP04DO4)Hw%LRHavihkU>4G zFpZg_c;Q(P{|8+dSaYnn9YuZM(GXpK{4g`+aO&`Fy)_9{jkkVx z*6QT2kkWzmXFUzN;i+O)B+riZd!Zgu)#dVpb7MnUDriLSK6^GKZ_L~(30oIoG426B zbCG6iOS4y3E^ka*)TH-^@f~`n-IE=z>8)Fq{j%V2X7ANWbabyJe3fFF{`W=} z-I}JqQgyldee^Zw(cv~>=G`CFy?9~dr03#}B|?urrJ_#qlUrWjmmlfe>|Fm*#SfF{ zTeG*_yVGYW^3b}aq~)&s)~St8lcI{#+of~QbzhY{XZMEj*G@jUaL;jU}oe$3_ZsBt7*@d~y9!?uHq5aC7rz0*OHXC#+x%7t#x%uxK z9XWXUbo*mH&mGwLb639!IlcC3ww*0ppKZ2T9JQ>6V7U6noso|F;+8u$bH6^|{n}Ty z3zNIu_@V#vTk3vyH=I|D{dLg!;DC2$RtyTgI}$$N7<0j`%4zg9v+h0R{$ zydBW69l$g9{o~go>m2R{&jqlfEB?Rdwy#EKIqh1rrGK> zDpXH!>AtUS>T$p0aK9%^JY;us}8ODu6>2BZ(dH9XIEe(v4-(_q#ov#;`k>3)m2WSv%DJ&)TG@byXCEfqiEp&n&S%l$ zfw`r(M`icRS`#?*T&G!GxApb$dGfGem(Mu=aV^8!@3=lJcI0kxyFI5D#snIsyexdx zPnzLx*R98t@0zy{9(rNb2!|_klAcdpwYgPg{`8aA&W;#uX4(!P!ghFwf}u_GpbkJpbpJ5ca@O0rP+{~N3mvjxwqnBF%_&;_1e#88Q20o+U9ftjcNJ# zn4jzLldj)eyib0@b7TmciCehwU?*bRS0+{_RKy#1A=s@x-{#032cKEs?{&yd1kWuz zweYZ3Z+2O1a8^(d+3dQTHaFPpQrKiR$%MmZ7yVb8U7*sm)BS~f16wv1D=+1hO=HU@ zvt<*ijU;2(vLS2>Q+G6FAN*I{;mup6Rq6wa;7db=u0&a+m*p7>*p}4-Xg0((Na|AS zP$Y{S6yaCcN=UY|Aoa#C`td;wKAgZuGBT;lCkraseRH2yES!EVt;9)o>bxP>W2V_u zo9oJnGoq&sJXvBseup|s=HL9)F5QWOA@8@g_)T)K$+p%@=Reb2RBrPKT{x|qdg%Cp z-?mClKW{$qo0Con&d-`gf17fA)w^Cdn+s))X5MaAf8ptME`29Q-ngqe5ZkO@f6r%j z0~d`q3>owMP(!+v@6J)yn-(nPo6mfh_c~8DrP8;BZ?BAarJGn&m^ppwuS1@1ANQ=4 z-<7vbj&BKlROq$h)=KY($1gv#TsgyM+Vn)rW@b-CBhR|+3Ua*hcu&C5E^~g2kCg0{ z?A-gqid$=bxmb5Zhq#Q0px)k2gI7QIes#sau~ajCP3Mt$h1$hG8Fsbg3l>qnKF!Np z*d^weZC{)C;`+G3&f2;I;}-Y1)zVize^s_juiAire>ZT6>nhnDc5|ub&d8 z-MC-e&*{Ov@EIkJ2_Md`^~@{2z4Ggk~pZcT8%( zt+bOzRX>{`_x_KfB&%DzS#o$mw;fd@W_Ie`F{w@5_UHpM`*e|%w(0e*WbTeF1qD41 zr0DG|`X?Wem)Ff@%j+s3{bS3f{HHgruV#R?lG4hu6)Y@3#+*>h$jz&Rct}zq&#OsU z&E%F4f7al2*}$5HJh=x?s+_)y9ecOUpR!jCJLngz;7{xSdmoqG(S7c%@bXEh%et}A zwVIpDL)f6oI;FOspEXuFl{$XynXdiVL1M-$r;xPY-uUUUZyv9>@%mknXJ_rV^+FTP zDl|V=+@AZRYRkJLZ}Pj2yE6W@Ym>ggY0V51UFRS2dlPnSfUS*gi;B{fn+tc%dw4;; zYX6hwSL-kFZt2B4EExaovBy6Qe>UpHz_EYycxJ6gACVbfY~|;qTG93DmMuSpuIIfU z{UVdTKHc@!tA@9CUOM{6IYY+F_uG%Q{S4vaQE6YwVC_BNH9sRe2rT;`y*^q4jI}hZaE@|*7rCKjd zOHGx=r6x5FkBDFc;({aDfCyF|BKKlFF&|^+TodW0!I#hh@NIHIk<|EAL1npREL+Zd z0mm|zYaPq@R9co@4?EL-Cpnh!sqNJGSmv95ixG??W9(eMsIl=-hQ)_6@<@4*JQ8Lq zlx2;FGV*XE`oC_Dz{fui@N1v<%$~6N?8~%^70r)qvy^oG!)(BV)ju})lewNgX>xSJ z#N~I|%^1|GB5TA0i+f&koB!V6eVey)1x*$`eQ^3db!c3_gZHI3Rv+4~Piyd|=uCLz zwO!wqo%2~`X|cD>rpu3?F3o4w2hW~V^=ACJVBYIe^X6qQ4+cEi_P7lyYcM+JkIFhf zUs#ba?b2a)!<*YvJAA)u)7Z(E550D7v%k3848!EpzLxgM!&7_gcJOQ;_Ikncn^Vei z!X+<{J#>Hj&Bm3!PZR7NuC7gyPqO!P^68iRaCdoSn>Th{(q|Mjb@xrVzsFgyWa$ zvys0SmBKRyPZ&5WK7L`z@r#^9q?x9O4kA)~xZ2i)LqyvAYugDv->Hd6zasn7a~C^2 z0xzC9D=~G!h(39Q;lL0MW3qBuI}S4|jchS;pRjYgRim4huClpR5&y$lG_CTRJRw5#F+U%4i!G-rHwFecvn6?0M6s zuezA-7F3c!P1yCJp;yO(zR5=pzp#;C%iJ(%6Wde>Ukg?p*md`uVxMS3gjIthX^A)0 zFIsa}J;@{1KNic{z2=g6-wkAFYulyk?p zc|VW+<3`ZnJDYTqk8Xe8bbrSA7Y=*W746or<$~U@_;ofNMu^MEzuiUjC&v1pa~Q!b zek`0m!1@;)78;5dzfcYh!RUW@Y5qqm)lwIW&3$b~HI_bjYd7u1>%p4Iy$osAXBJ9O z`LH(+zsXDR&)T!=mSSh0pPJ|Rb$MJj)te`Gi>mK5#pS5jZtOP-w)1K>*6K-*5ku2r z%+Domh!CxfzC3C9Sv}jSVfp+xi{tlRv@ScctwE2Vj2^9?X0)yd8tQ6LnSZ@OEjCYpZi|AGI<;H8MGSb+>nY-I_h_RJ?r4 zsOZF&9Zp!y5;V^p{32&NGc|V5qvHwh3U7UPaP^X>{e30!#}|?W6V{Iqh5pvhdDYz+ zN1EOVjNQ2S`6bns1=J3ycv8P3Z#Qp05ZkT0{Va;#-XqbpQr(7?>c(HD;$K{v{w1mS znLj!n8u#10uGx7fnoSVq8e`D$U*PROLv1@nk$vM#T>We#%`)%2` zWRBO(KQ}+@mDWk**P%St_RY_!qYpptVLPhN;g&6Z>R*-FotqkkOikF*JFYy*#`#~v~Z zr;h8~X!H7ayz51CgW7t(OJ5oIe*LYn!JD$PzPs3|<=rPoXXK0@{h?>};LCg3noVeU zBl1DLw!M|J2e=pPnl*o3)7OIsPVG6q-=cz(*Ju6d@;2i9slO z9}OJx_Z(>+9r3#*b{wOgKCM_2F2g$pJ%eyMKV@3&V=+I;`=if)jim$vWH zvO|l-%Of{E*n8-F`H#9IF3&d%qg+eh)F0`a7P+R&h5Z)kGx`tLHxb>Q9&m5WwP2ZT zqZiu))4bhZ?q8mC!Dqwjr5C5JSsXp@z_EH!iPtLr^!;wWO%8i%lOZVKs&c@K8KVO0 z?{i<-dEJUju}!BX_dZv3a!>kA&6Q3&PF!KPzdL+8@r}i{Ztd^RcC8l?xcOKHU-rnN zGCB0ZBeA#hnYDvLT}2x&gk3z9HSUUGM7(WPIeik2W}A>4{B70$&a`5lrv#1|gaW>w zB||$gb&9 z!+JPcnQ}pS7$jApnbm}FBZ2J;3k-MO0Es7$k_SS#Cou}Z2dfeQG;QCQhQm-HDceSH z4BeyeVur9<&1w8vy7~YEXR>sqgcadtjIc^tWhzq@m9@hYP?;$!L;T{b5w@OYh6Db4 zmhd~Yz5S|v3yH$vO;@EyALpKz45thQtC#t$8nI%$*Q%1jwZYqDIi5YoJ!|Kie|%NT z)Uk2$<*8$rxjkIU{?>Y>&KY}v1D*%qF3b6n4FSMpQ(KDt!j`l?{T25p!2-JPuLS8Y5u^UT@b>Re#UrvDFk z6uxXYI5_ip{ji;Fz>P)I);V1Z^iE8iVm1E7hoO!G1}*ZavO3nhxVA&W`2arj@|G|3 zNsA5J@}%S2=vd9OWhZ-2nRz(1UcxW^0{68z*LZ*Vi!Po1IDI@~NzCq*R}MT~*m!o( zPgdz>Cvw$WD)*`0DULI{H{MlW=`mH*^TfM$dP(x2tdN@@wmO~|K5CQABkgp0TU1Kg zpW=#l`}SlfEE#rqnz#45`O_AU?CRHS{gJs%-Um*)RXJ+hrN?Ct_wHDIEA7^V<$)L8 z_c$~`d@87JueDLd;ZJ6_JUZ48_UGJX&-Qd4ShRTk>fN(@Wkz{SDa;w&eeLrds^QHn zr|k?|;ro1|x%aJUN}sG5_7z?c*S`P0^5Uet7U;(l&GxCEuk!Yem>A%Cx89gFO;=m* UtJ|X2pACf*GrYO~8v;WA2VvQ@1ONa4 literal 0 HcmV?d00001 diff --git a/packages/Microsoft.Bcl.HashCode.1.1.1/lib/netstandard2.0/Microsoft.Bcl.HashCode.xml b/packages/Microsoft.Bcl.HashCode.1.1.1/lib/netstandard2.0/Microsoft.Bcl.HashCode.xml new file mode 100644 index 0000000..d5c6c3d --- /dev/null +++ b/packages/Microsoft.Bcl.HashCode.1.1.1/lib/netstandard2.0/Microsoft.Bcl.HashCode.xml @@ -0,0 +1,34 @@ + + + + Microsoft.Bcl.HashCode + + + + + Rotates the specified value left by the specified number of bits. + Similar in behavior to the x86 instruction ROL. + + The value to rotate. + The number of bits to rotate by. + Any value outside the range [0..31] is treated as congruent mod 32. + The rotated value. + + + + Rotates the specified value left by the specified number of bits. + Similar in behavior to the x86 instruction ROL. + + The value to rotate. + The number of bits to rotate by. + Any value outside the range [0..63] is treated as congruent mod 64. + The rotated value. + + + HashCode is a mutable struct and should not be compared with other HashCodes. + + + HashCode is a mutable struct and should not be compared with other HashCodes. Use ToHashCode to retrieve the computed hash code. + + + diff --git a/packages/Microsoft.Bcl.HashCode.1.1.1/lib/netstandard2.1/Microsoft.Bcl.HashCode.dll b/packages/Microsoft.Bcl.HashCode.1.1.1/lib/netstandard2.1/Microsoft.Bcl.HashCode.dll new file mode 100644 index 0000000000000000000000000000000000000000..8c140196fd159fc4ec1634b9c72396071aa1d003 GIT binary patch literal 14208 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 Ah5!Hn literal 0 HcmV?d00001 diff --git a/packages/Microsoft.Bcl.HashCode.1.1.1/lib/netstandard2.1/Microsoft.Bcl.HashCode.xml b/packages/Microsoft.Bcl.HashCode.1.1.1/lib/netstandard2.1/Microsoft.Bcl.HashCode.xml new file mode 100644 index 0000000..c77b293 --- /dev/null +++ b/packages/Microsoft.Bcl.HashCode.1.1.1/lib/netstandard2.1/Microsoft.Bcl.HashCode.xml @@ -0,0 +1,8 @@ + + + + Microsoft.Bcl.HashCode + + + + diff --git a/packages/Microsoft.Bcl.HashCode.1.1.1/ref/net461/Microsoft.Bcl.HashCode.dll b/packages/Microsoft.Bcl.HashCode.1.1.1/ref/net461/Microsoft.Bcl.HashCode.dll new file mode 100644 index 0000000000000000000000000000000000000000..b77a9fa4e5b0608b76fef4fa10fe382e1d579d42 GIT binary patch literal 15240 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 L)mA)^0N{TB0eCDo literal 0 HcmV?d00001 diff --git a/packages/Microsoft.Bcl.HashCode.1.1.1/ref/netcoreapp2.1/Microsoft.Bcl.HashCode.dll b/packages/Microsoft.Bcl.HashCode.1.1.1/ref/netcoreapp2.1/Microsoft.Bcl.HashCode.dll new file mode 100644 index 0000000000000000000000000000000000000000..c2db3483702199e940a9b6a3eccc957ee8f6e208 GIT binary patch literal 14216 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 literal 0 HcmV?d00001 diff --git a/packages/Microsoft.Bcl.HashCode.1.1.1/ref/netstandard2.1/Microsoft.Bcl.HashCode.dll b/packages/Microsoft.Bcl.HashCode.1.1.1/ref/netstandard2.1/Microsoft.Bcl.HashCode.dll new file mode 100644 index 0000000000000000000000000000000000000000..8302fd11eb4de56fc77209f2dbab7d7762fea991 GIT binary patch literal 14216 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 L-4p~85cK~5{g=i+ literal 0 HcmV?d00001 diff --git a/packages/Microsoft.Bcl.HashCode.1.1.1/useSharedDesignerContext.txt b/packages/Microsoft.Bcl.HashCode.1.1.1/useSharedDesignerContext.txt new file mode 100644 index 0000000..e69de29 diff --git a/packages/Microsoft.Bcl.HashCode.1.1.1/version.txt b/packages/Microsoft.Bcl.HashCode.1.1.1/version.txt new file mode 100644 index 0000000..a662b0e --- /dev/null +++ b/packages/Microsoft.Bcl.HashCode.1.1.1/version.txt @@ -0,0 +1 @@ +59d2f36ec02c494eec50940c7993257a807f9531 diff --git a/packages/Microsoft.Extensions.DependencyInjection.Abstractions.8.0.0/.signature.p7s b/packages/Microsoft.Extensions.DependencyInjection.Abstractions.8.0.0/.signature.p7s new file mode 100644 index 0000000000000000000000000000000000000000..e5afdc54d8e97c325a231fc91dd1582b241928f4 GIT binary patch literal 24222 zcmeHvbzBu~*Djk*>8?$uFq`gfK{`abyIYhJkWeHA1OcVHQ9+PWLb?^{k`|B@I2#q~ z@qHh^^PTT`zw`UaKQMdd9%j$n>$=vuu5}L(XpoGE!W<$OvWEdef=v%JhyVf&LSaF0 z5KI6A5ydD(4rC4o4+}zo0nEM~2ujz6*VHn1akX}I5P+bfaFd*bpJay*T(fb+IT&CS;ex!z*0kn|#uN0OW+bd28xnac!@_}JK#xoTW8ebxp^{^QK&SBV(1{cRV4iK`o^2xl zaL``>`Pl~-;0fUIq*or6?8I~iLN2OCqh@Z&s$J_ZoX z!wYqjGi#f(F0MXiaSeMe7NZ<<67D9&p(|TMV-s2xX|KBR7@uI=Gt$FR)R`L)4w9GF zxyNlyk}JEc^}@RVXVfy_=A<8rP~5^}dRFi=;R?pEJ;PJ#nR_=W-1zzrfYmv?br0)G33Renbk_b#kduTn!`wn zweO~!`q~E_I6QOHO8Q_{zvo~Sk9?MGtCFhNvbt0NXXr63o7L~hp5u*4>z}f zKm-5?geUqEy6`AOq=rMa7VhejRgUp0$luRgw0|^oA)F9^g9E~G7QE2V<>32n6L9(O zA_xRvhfWqKf-rtX5Oq0m4)Av{BI#&m4pz6ebg*`?JcE;pNCRjP zdE%blBk80vfj3eg{N{60-*AjLFMFgSu+>Bz#z;QTItUx&B_65H-%JU~8l@||;LRv- z<6WQSz>6a$hL;1^XyWFgX%g;w1|DSGq_M!!;8bxdW2CR8wQg!s+rqO950f6enDOY{ zEmm-RF_}Ur@+A6)86_j4`uvviVkd|Nr?W_*)5C&pzjwZ!F&XoM5VD@-Ez~*fT7{~2 zZVN0YcAYoe_<1nyZp>9(&dgi3K`pqsU1)i^s%0;-4@^h1f@~(Dme9C`iL=vs2ea|v z607Q-Yu&TpGLs-z@j#?Gz6cvva4)8rtI&hAY|gx6;z_#LzRz(S2vfe zF{v!v%>^@bI%Elsa-MKn*b{b_8)PH$(g{mf$lo2hnc0@FSV+FED2*I?hw*k71ny3P zmLE;4tF#L7@Dei9?3^Ax<1oFk4LYvXz|_N4Z7DB2i|tnd$}< zGnJv3$@>K}K@|npgypofgIOC+Oi*2Sf5y!J1Xw|H9}XyBLU_LBJ{(*CH-wvmlbfHL zUl$07{1HKM0c_~RgGa_i)rO{kP{ea{bbw%eidc9gTqHGfGkZq|GsxK_gdT>9OLf^@ z*4&NF(Zv$1X71$ZYVGFe;te+O1}j;cx;VNzTDYAb3-=qx{w=ny`#lZGXk|u-ui3DW zT1L#qYlQc<^R=_3xv+ic&4qH;GQhbZx&0FOouv=qPV7w^{;7F86whd%QNQcXLh&;s ztvq$})AvJr-oM5$e!}nuR+OatvVnZj^LlLK25 zPR(xCJwG$)qFR|?fCp}zDsO*asgvm%I>pQA8+3cXdV7g4-CM1Gt&8JS{xao;D@dXF zr6P32wbLuFf+M#!7HNdlxr2Z{RnJT6({L<_4Qq2?E(wGkK9gCBv1XcI!BP(4z- z`!4x;!o6Oml;t56Fq!q6xJAEChMC%@7PTa=Hs9uPluqLzVcfAR#w+nN#3Is3?$0^_wt~+>agAk8h$nN6|YziN~ACvVGBt zMRyfhlRtrW+$dLx-lJCO@Lrf4zdF z`V>Ua{Ez57ApmQ*xVySRE67jfqb%21`3T_z_yEY)9F+5HgZs0o>hY^I-Fx4nuJiyPoQJjlirNk=Msj2*_dyr0d|Jb}+dq)5Y#pgUfBP`&7pFxmFNf7_43;sat99 z=_=$BGc5D5Sods`%eBzfPSeo2gU(W;oCAz$t#@40pDk)vHkjvLgmk`+H5k7W<^Q@m zI#KMdceB^a>avz98zMe9tlOi5yqRnW*Kd6Y6v2viD$ooR=NNed@5<~D4f3T@9IPuQ zg>%>UvKSM9NF{TMH6V}Z%4aq$b_10@>BF2gdm{P84`X@d z_tHa0H=J9*W70z7k=K_pohnL6AhIB(!4UR- zXKy>KvEMJ$C@EGQXCh z`fwd@&}p`q?B2C?#~>~NI#}gw?lNa)bx|7 zQWSMy)b*zC&&)Ns*H1CCrVvp_dMvAeF==UWqx`CPui)H{;10a$yNxCd7}fM}=Jsx{ zS3}F8@I)2eCGxjQwqug2D;A6~`-5Q?RY>MY<5P(tHk6KYf^@q7D;N-JL0a8P{`eA~Jxg2nkCTyC_r`sn5NxXWQZi5Qta`O>+~!U@~%% zSh-Puiej2USKhPO;<2Bm%s+yMpVL|{4*sucEhi7a#ld%;)>{9_3xojv=XCYLIm)x1 zNsDX{aX|EJ2OKWn`HrvfFUtk~q4HN#7v}=_dB9MH=j7u8b3l`7s2Tu)Lh!$b=AlY< ziC)GcuNwU!{wt(qwCbv;(zNrEHl=*2SG zwz*aGLnXyPY&kWn39M&$+WJdGxaO^X<;uaVa+z8;xrYzfQu1N&`*=@C5aXJB+m=Z= z7CM@Cavs55aLX#;uP!jcnOz!wvIm(SFPbAtA8n+Om95CYba+%?pNJSlT4Q5*vHzJA zNeos%RH-1!$jkd2x=p7xMj8?Fjj?Ofm3mW-EA$7EL*)m2SPRSD(I4sujvQl+x%BE{ zr5S^Gm@OC$OI^Do=;;v4g9i0>@rf1JOr{Jtx0aSxQFBV+Sfa~$yzBRhkSW}=&0p2d z%BgI7Mw6VpQF$oSW~`I=!55Z5D2TC$KV)^V21C7fUv|MAxV;L*df;VWy`=AEtR#vP z?J?1y)9Hf6B)&P+YESQBg)NS&lRQq(0@?{vy7I=WCqO|&OxCbHK*co}i-zioQMj2# z<0~qXB|c(b3$iXRK4~CH`P5Wdu{IwASzX*$M_9JvuzEF;0|oY#oe;Vf_PHE#1)8#J z{!$M4hR9aDQ!CYi`-a#dM<>SDkZ+mqT$cDD%l{>0|BUdzlv6yG;7TU-}{5Istt-`}iSI`5lH@f&giiKn5fG*DL`wteb!^KWscNPa$h9w z)PrC6!C+F4!du1_L;8$(9l0TrlMx2dy#O7;UasO zb?J7OqX#c*uqa74{X3%iyGW&ye(|@!fliyRIyR1(xb-N*_%!!;!y`~KI?>)iNKV;^ z_4u8q>r--25r^q5Yho5I8$uHi`5v}Rx0s?gLYXNcl(UUmq%1V2QB}*gt~uE*q(40t z5S7kuSt5v5ix7V{u=6$Yw&EQN@grLY+~!&@dVV zce*LA-Px#G>8#oG#9dfq6fMLl&SIyw6F&&l!?$>4ccG&-qmf$Txnae59VqTAxuu-e_@l3+Qi18u>|6u7kz>77br zhX$(|dZUo#wvxP)IPyhPQh^XHugg%*T7`1f;1|w94SJ8VKxl`~WifurvK?*lJ!hTC z+5aG4oKY7iz{|n=mAW{1pw=7jId!@HNL{}v$WVL=5vU-8|5bQ_(wB>qql>W{)arwL z*$?+G_CvAh;rI9CvpE%YW=@4e&8YyGs5i5hiv0`p@3w`3Ta8{Cuo(0240od0dSW1T z_!IEF^c`mBQ>bgs>PaKCyne|i@Bsf&*}?$Adw;U>v~@nd$&meRPpmdgn_CiM*;#Kz z^2(BP!$bYXwvMBj4bd9$p7pM&3$MEo1?|D#Uf8H*TcGOCig|Mv)K8a(#R)>Du zZ|O-xp%55Xmg2pGQ;W+X#=a)@k`JLi`Ic;J+V)2_gW=cNsymaESDk{VHHjKbNVqGg z)ZcDWuUN+Vg>VU@SyD~NKNVrC5FR(OLT~j_za|$Ka-1>W)G>}!D{qm425!LCK$FEj zd~joauFPD?lOPcHk;KS;BSfEH2FJw$zpxsKk&zX%l&p;+vMsV!s|Mx6Cewvi@RVw} zVze$#Q=i{Jcsd9d!{+(F#h39_fYq@ zQ|P@+sJ1*U5d!X9d>?)gUUN%Zs*(4immG}BwrkdcSc!LE*wrWPdgjG7r7_RK>fku&>i+yI2)WIbr2p8H15Y4ZIWeO28zBz6*>BLFrZiS5H zrKVZ&CSAD`yb~@{tCN_2iYuydoRS;zpryrq_JtiyzTd8yPNzJX&Es_DDnSYVmr8mx zFRH0tErJUN~N|63y@LM~+idzXaH5X<#1_=wF zhtU`9U4!sx+bWNThV7t<)ox%9YPUv?)Vfoc@2ADv#rrY1b-(66a8VJmVa^Z9m_ z99vMZm7i`Qanq(?!j_vz=e2}!jF7b@Hbxt5*fGrP!)5E}(g364_^2-8_J-7g!oo^O zH?xe!>KsaF-XmeQ*(N6N9dR^|{lLQPv~l&6#Pvk*bqSuH+j~zwrl$rlND~&M+;_XE zb(b7rA^gvqXh?a3}O8eK?m?1NT3k3|3fGg+W+B? z_sf|7u_q)w5TpYTeQn1;frFrZ-9Q3C$>h9I0|fzsdB#`}fDTnX1!!CGxf^kjK>ZN5YDg{;g#m> zSAc+5-=C2k5>N*OJOKi#fq)7CdRVB1HjrB^GsyK))O$U{4!vpm(zIDg$||qg zN)4W?MdGSMy*t1@6Pn=u$fEy)1t2Weze_HlL<%1W@|Untj+dzGPZ`IMIQFb}#BF_L zm?kAG{&>;l#v!cWoyy3v|tS)bX%Thq<;I!%lI zCIy2Biz%9hG0g!x?<$f6Ppib`P`iv`T^6piYmlvk1P4jfb5I@HPKbU8I~%KqK3`~ zi^WW*Se=h1DrGp#uQPWPV@`w#rO7Wb#|7c!(uD;JYPLE1TqovuY*eL=kz0=QVv-P< zf}l}t=_L4h7I8pwdLRMR75dYE^|^8EyZ(*yHn6|z+xXLe^{4;pKiYqF8(Ofse<@fm z+$Xwo(0g%l_r=+n@%7KOPI7RZd0$_P)w9+~fd9N${U`jlzY|#hcwc|K zFVLevkN~ta=J~7t^{o{CrFitN+2iH0jR;xd;FiQ-5wt`xjE`*ItCL?QM3S zI((pFDk=c&$U}sO>Z(65tqMi&P+4_L$6 z-dx?y*xu>9{q=ABt`{NPi1HPU!Y=ZvnlI_#TDGEj^X{o;4EG21Jy3jTpI-VZ=s0q# zXmaJXa0{Vd0Wph+#JJ_1WmVzLVXeVM#)~ThWmWErl!)fHz$@w*tvAmtWs^uLw3(Ni1@8xr3M<6l>;wTtyrO9`Gmst?hpJpmKztc zOzq~fTgkh4F!Y8NNOK#_+{AL8yR<&NOj%Z?qvU-u66G3O$jU#HB{#fT3c=0OW=ddS z`w*HPb=d=7lin$j-Y=a*7A!d{Y3hH?-GPDbZlVAmcE#@Qg9X8>s{s?#cw>RgFJl_g zCuT(+x*jf4>e|I^sl{Wn=(ve77Pv}wPby@P+48kAZFl4+xJp>1Rm)VQ3OpKun`+p6 zDAXY_P9*1t$JNuXSg>(l_~gQ4Gv-5gMq2STi3Wre3wbq_9o20fd8G(&KdUykH%soe zv{4<+ZJoVw*YkpZ|{Clyfx2A4c=RAbvC(FL!DQ|C6)BOl;l z;lN!tq^UKVHJ!?y7TIlbD;K3e@mMX;mvNsldZdE_VuZPHQ)9jRoqn4Efb&e|LDhiA zll}{~N$CBYm0e}$ewRKJj<5WU-}RJW%w8#&-Id8BncY3o1|0RE&G83u^OunQGa~=O z??MLt|Mt7UpEXSA(wDC`7wowb0_}o>R+-;njvSav@GMWO2jBHJh?=fD-da@F^T@>wZ{)NGFu?@Hs=ERB;jmX#p(-ePhi8^UCgnGVi2-M_M5TsM76|Ew|Gb6OWFvQ(a10UN$z` zIFG%+^+#!`PU{K{rL9$dB>%+IBKo~c%DYRjYB{_&V$}-;$&uwTMr2I@&(5pzX=%^+B z+8U}MCx588mk-~&l*Gp z8Z!H~wa4n<4+AGSCgH<2VY>924ti<)V9@3~VCly;%{?TtnL<%ySr+_AGJ`QcCMN7^ zYOqlHA3oo@z%oC4l*cZGuds-Ff&2|GA4vww?%J^LM<`=8K^ZIm3u7Tjm2AhQBJ*cA zyb(2=HzxRL$^iceTYPc5AY9)liwo*@K{@Pm|FPU}QWh90I)0)o!f%uXB_`K1Vmj-^ z;QZS@j7RFyq2xh#t`>@DRM1TIq>aq?FY0GpKpAJ3dvwo7kU7P2+yq~zF)tQ7rz^kQ z<}DUeIE9I+^?*(aw{wHQy_GnXC^GQ!%Va_J1dCbgMeCER&BH8Uvc`LHm02nQTRojf z*??6?ki_ecekinYnSms)ZJv$_cIZzK69pehFJl+x6ZML#`W0G2^&9)7T z7`~PqxcQ;?<*wXC18MgJ_mj6+8Kgmtj~CS9t7J#KnD}j{ysq4vm10pCitpY)CR`3Q zQ#z%Y?Fd<~%%n1NS{a&8e{EX9_6}h^f0y z^=Wg**IY$7*44O<25VOa(^4+bVma$H&mQ)tuBjPQaAma{LQ}~)GrD9HY_ZdXy7pUO3S9H{kv#&1EZW177F(*POO#xR>;lWSpwhh~=8)BE zYJ7Q#C>hS>cFrXtj~x?+rm=8OjAc?rfMj?gJ+CT}u+HhWa=4IH$|&7w zC+l3-vOaapY9uvm-s2ws+_A;k);0RTaA$U+x0kCY>_(=IQdrj3gyrr$wtecW|E$TF z*Gk^=(aPO?oDqiL?K>1Pubag9()8QX+339JQkfBaZZaiSYkNn%q1R$5-OhQ&i$0p@ zp{(^pt*JVdFE3!xUR*EIy6*`~%ZqD0DTiJ&u_PW3t=$Jy=A>}y!59znqM7|pw(q_*8|MAf1tyY?FUQY1(7tp%N#>Ng?> zhNTk2QL}{6efiHdXG0na8Cb=8lQ|V~c?O@jB;2^?%_nEr(KIg1G3h?cW2qaqznk-N zUYT16=2?9Tvz<3+{I%4AzyzNlk^#TYj;||3Gub)i8C3;7W2J zw>Bd|r}Y*`a(Vx#z~eHR5ZkAO$1R?A_;$qwC9VQX@-j6;ey^(eo{z4QeW=cOEXg`~ zS@AlBmD6)i)Ir!OJ)>I2Q@(jM-Qhw)YMRSCs{@2bDz>Lco|Mk_q{Q1F%M93Y`0B7* z%9_uUx>hG0*s>zZY=~2AZW>O#87sQ$FID1?B_0k5g!6#v*e+029q{}|ND3C~S5*0( zf}bAH2atSq37}pX#t%lozjVt!Dfa-&cL&3wL&yLU0J<_29?xQvg`=sd9WzkBJ3qYr zg)(tUkJw+VGo2BjVNtMz{?cy*UCnQ0Zzu`V=O00=TUMZ&G^hVqL+vOYE;E(&>utOQCgyh7B z`aKIA99EUx&P4A`uYzpRY%Ly&E-bEk8gz)JZ)hu}xeJjhjpeB1r)NYBow6*C4U*1JSdP?1BxUd z2ps{<8FQU2l{9v;W^-`2{Jd<9-Gh_e+QH1+i_ON>(E+;B==))?5NI@^BO1FpIhebl zW12a-L4RAg7~7kBI=a}RqkQeP0s@A9jKhFdAfO2dXaJyA_Kyy>E)!_D=uuyw(UTXG zGq^(WBbOd**i6ljb1L4{=##y^0|bNv9+__ciKWf3SpRMb<7X=y#?i{H`u!GPj)LI} zE-cENWnuRPE3!3=*&y2Lh8U|!kHZh9XcdWaGAQ=mY#J!=s3TQLUauoCXWHoAB2fwN z4|~he;L_7NyfiUXecw|E88&ny=iK4Scn`P^p=IK4CG@clerVH%4WoO(P846_y(K_P zebnuQd%%pROz4k>cty^@>hcs_(!NSEjS9+2 z%pMzUJu?h(bD5CxmVJssx65x5Blb#AbtND2vkDJnC+hFMaMB>k2qdNY&soV+tfH^% zuJOpSy31p}9+a*&jeZoXT$>Vg2XorN#1qR17K^s|5G#M@rU#YPihcXN+W9Y5^0!!n z1=HxUhHU~PqD(tz9I5e6FNKFW``;^mK%4OE?#2$-+WKQ9|IHgk{#eO>Ughz>`c)o( ztmIFx5Bhm2=N~Ki&oautUq<=IN;doMC0qaIO(}n@7W9{jx8dPY?K>j?Rj+HDF z9yN5^&W(;7q+Rortk!od0iQxG9GuKWR24NBf;ZCSOZM`E(+7l(aD`ikg<-rTG3`z| zW6G~o8dH+)ETj$;4m%!YOX*x(F|-o0)w>V!zFK`ftgOP>oV`NNm-clxSPS1p#y+{e zDKa>>ODvD(*3oNsTNTg4%NDomn zuz_}g7tq_@7a@$AE_r8ZwM+1^L-D2z8HMJk0Prp_+V$lqIpHg~ z@oFIQy#x{EZMtl)#AFTx6B~_rignXC#{xfv7vHYObW0|QC)5{12ITuY7>#~hE zm!{X8$8#f^vq2r9-dU8KB_V0oW>UdIc@f(~jKjQ@lB!e4{*jZt7PC&$ml8D*K57v& h@9eyK!CI)OearP70&$Vbjhzh1BejjUOa-+h{|9+W`jr3x literal 0 HcmV?d00001 diff --git a/packages/Microsoft.Extensions.DependencyInjection.Abstractions.8.0.0/Icon.png b/packages/Microsoft.Extensions.DependencyInjection.Abstractions.8.0.0/Icon.png new file mode 100644 index 0000000000000000000000000000000000000000..a0f1fdbf4d5eae0e561018cccee74f6a454cdb9c GIT binary patch literal 7006 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 literal 0 HcmV?d00001 diff --git a/packages/Microsoft.Extensions.DependencyInjection.Abstractions.8.0.0/LICENSE.TXT b/packages/Microsoft.Extensions.DependencyInjection.Abstractions.8.0.0/LICENSE.TXT new file mode 100644 index 0000000..984713a --- /dev/null +++ b/packages/Microsoft.Extensions.DependencyInjection.Abstractions.8.0.0/LICENSE.TXT @@ -0,0 +1,23 @@ +The MIT License (MIT) + +Copyright (c) .NET Foundation and Contributors + +All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/packages/Microsoft.Extensions.DependencyInjection.Abstractions.8.0.0/Microsoft.Extensions.DependencyInjection.Abstractions.8.0.0.nupkg b/packages/Microsoft.Extensions.DependencyInjection.Abstractions.8.0.0/Microsoft.Extensions.DependencyInjection.Abstractions.8.0.0.nupkg new file mode 100644 index 0000000000000000000000000000000000000000..2ebd47f55b9916f655fe7d913c67473d403d7ce5 GIT binary patch literal 276886 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 literal 0 HcmV?d00001 diff --git a/packages/Microsoft.Extensions.DependencyInjection.Abstractions.8.0.0/PACKAGE.md b/packages/Microsoft.Extensions.DependencyInjection.Abstractions.8.0.0/PACKAGE.md new file mode 100644 index 0000000..6c8a654 --- /dev/null +++ b/packages/Microsoft.Extensions.DependencyInjection.Abstractions.8.0.0/PACKAGE.md @@ -0,0 +1,34 @@ +## About +Supports the lower-level abstractions for the dependency injection (DI) software design pattern which is a technique for achieving Inversion of Control (IoC) between classes and their dependencies. + +## Key Features +- Interfaces for DI implementations which are provided in other packages including `Microsoft.Extensions.DependencyInjection`. +- An implementation of a service collection, which is used to add services to and later retrieve them either directly or through constructor injection. +- Interfaces, attributes and extensions methods to support various DI concepts including specifying a service's lifetime and supporting keyed services. + +## How to Use +This package is typically used with an implementation of the DI abstractions, such as `Microsoft.Extensions.DependencyInjection`. + +## Main Types +The main types provided by this library are: +* `Microsoft.Extensions.DependencyInjection.ActivatorUtilities` +* `Microsoft.Extensions.DependencyInjection.IServiceCollection` +* `Microsoft.Extensions.DependencyInjection.ServiceCollection` +* `Microsoft.Extensions.DependencyInjection.ServiceCollectionDescriptorExtensions` +* `Microsoft.Extensions.DependencyInjection.ServiceDescriptor` +* `Microsoft.Extensions.DependencyInjection.IServiceProviderFactory` + +## Additional Documentation +* [Conceptual documentation](https://learn.microsoft.com/dotnet/core/extensions/dependency-injection) +* API documentation + - [ActivatorUtilities](https://learn.microsoft.com/dotnet/api/microsoft.extensions.dependencyinjection.defaultserviceproviderfactory) + - [ServiceCollection](https://learn.microsoft.com/dotnet/api/microsoft.extensions.dependencyinjection.servicecollection) + - [ServiceDescriptor](https://learn.microsoft.com/dotnet/api/microsoft.extensions.dependencyinjection.servicedescriptor) + +## Related Packages +- `Microsoft.Extensions.DependencyInjection` +- `Microsoft.Extensions.Hosting` +- `Microsoft.Extensions.Options` + +## Feedback & Contributing +Microsoft.Extensions.DependencyInjection.Abstractions is released as open source under the [MIT license](https://licenses.nuget.org/MIT). Bug reports and contributions are welcome at [the GitHub repository](https://github.com/dotnet/runtime). diff --git a/packages/Microsoft.Extensions.DependencyInjection.Abstractions.8.0.0/THIRD-PARTY-NOTICES.TXT b/packages/Microsoft.Extensions.DependencyInjection.Abstractions.8.0.0/THIRD-PARTY-NOTICES.TXT new file mode 100644 index 0000000..4b40333 --- /dev/null +++ b/packages/Microsoft.Extensions.DependencyInjection.Abstractions.8.0.0/THIRD-PARTY-NOTICES.TXT @@ -0,0 +1,1272 @@ +.NET Runtime uses third-party libraries or other resources that may be +distributed under licenses different than the .NET Runtime software. + +In the event that we accidentally failed to list a required notice, please +bring it to our attention. Post an issue or email us: + + dotnet@microsoft.com + +The attached notices are provided for information only. + +License notice for ASP.NET +------------------------------- + +Copyright (c) .NET Foundation. All rights reserved. +Licensed under the Apache License, Version 2.0. + +Available at +https://github.com/dotnet/aspnetcore/blob/main/LICENSE.txt + +License notice for Slicing-by-8 +------------------------------- + +http://sourceforge.net/projects/slicing-by-8/ + +Copyright (c) 2004-2006 Intel Corporation - All Rights Reserved + + +This software program is licensed subject to the BSD License, available at +http://www.opensource.org/licenses/bsd-license.html. + + +License notice for Unicode data +------------------------------- + +https://www.unicode.org/license.html + +Copyright © 1991-2022 Unicode, Inc. All rights reserved. +Distributed under the Terms of Use in https://www.unicode.org/copyright.html. + +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Unicode data files and any associated documentation +(the "Data Files") or Unicode software and any associated documentation +(the "Software") to deal in the Data Files or Software +without restriction, including without limitation the rights to use, +copy, modify, merge, publish, distribute, and/or sell copies of +the Data Files or Software, and to permit persons to whom the Data Files +or Software are furnished to do so, provided that either +(a) this copyright and permission notice appear with all copies +of the Data Files or Software, or +(b) this copyright and permission notice appear in associated +Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF +ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE +WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT OF THIRD PARTY RIGHTS. +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS +NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL +DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, +DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THE DATA FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder +shall not be used in advertising or otherwise to promote the sale, +use or other dealings in these Data Files or Software without prior +written authorization of the copyright holder. + +License notice for Zlib +----------------------- + +https://github.com/madler/zlib +https://zlib.net/zlib_license.html + +/* zlib.h -- interface of the 'zlib' general purpose compression library + version 1.2.13, October 13th, 2022 + + Copyright (C) 1995-2022 Jean-loup Gailly and Mark Adler + + This software is provided 'as-is', without any express or implied + warranty. In no event will the authors be held liable for any damages + arising from the use of this software. + + Permission is granted to anyone to use this software for any purpose, + including commercial applications, and to alter it and redistribute it + freely, subject to the following restrictions: + + 1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. + 2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. + 3. This notice may not be removed or altered from any source distribution. + + Jean-loup Gailly Mark Adler + jloup@gzip.org madler@alumni.caltech.edu + +*/ + +License notice for Mono +------------------------------- + +http://www.mono-project.com/docs/about-mono/ + +Copyright (c) .NET Foundation Contributors + +MIT License + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the Software), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License notice for International Organization for Standardization +----------------------------------------------------------------- + +Portions (C) International Organization for Standardization 1986: + Permission to copy in any form is granted for use with + conforming SGML systems and applications as defined in + ISO 8879, provided this notice is included in all copies. + +License notice for Intel +------------------------ + +"Copyright (c) 2004-2006 Intel Corporation - All Rights Reserved + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this +list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, +this list of conditions and the following disclaimer in the documentation +and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for Xamarin and Novell +------------------------------------- + +Copyright (c) 2015 Xamarin, Inc (http://www.xamarin.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +Copyright (c) 2011 Novell, Inc (http://www.novell.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +Third party notice for W3C +-------------------------- + +"W3C SOFTWARE AND DOCUMENT NOTICE AND LICENSE +Status: This license takes effect 13 May, 2015. +This work is being provided by the copyright holders under the following license. +License +By obtaining and/or copying this work, you (the licensee) agree that you have read, understood, and will comply with the following terms and conditions. +Permission to copy, modify, and distribute this work, with or without modification, for any purpose and without fee or royalty is hereby granted, provided that you include the following on ALL copies of the work or portions thereof, including modifications: +The full text of this NOTICE in a location viewable to users of the redistributed or derivative work. +Any pre-existing intellectual property disclaimers, notices, or terms and conditions. If none exist, the W3C Software and Document Short Notice should be included. +Notice of any changes or modifications, through a copyright statement on the new code or document such as "This software or document includes material copied from or derived from [title and URI of the W3C document]. Copyright © [YEAR] W3C® (MIT, ERCIM, Keio, Beihang)." +Disclaimers +THIS WORK IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE OR DOCUMENT WILL NOT INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS. +COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR DOCUMENT. +The name and trademarks of copyright holders may NOT be used in advertising or publicity pertaining to the work without specific, written prior permission. Title to copyright in this work will at all times remain with copyright holders." + +License notice for Bit Twiddling Hacks +-------------------------------------- + +Bit Twiddling Hacks + +By Sean Eron Anderson +seander@cs.stanford.edu + +Individually, the code snippets here are in the public domain (unless otherwise +noted) — feel free to use them however you please. The aggregate collection and +descriptions are © 1997-2005 Sean Eron Anderson. The code and descriptions are +distributed in the hope that they will be useful, but WITHOUT ANY WARRANTY and +without even the implied warranty of merchantability or fitness for a particular +purpose. + +License notice for Brotli +-------------------------------------- + +Copyright (c) 2009, 2010, 2013-2016 by the Brotli Authors. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +compress_fragment.c: +Copyright (c) 2011, Google Inc. +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +""AS IS"" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +decode_fuzzer.c: +Copyright (c) 2015 The Chromium Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +""AS IS"" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." + +License notice for Json.NET +------------------------------- + +https://github.com/JamesNK/Newtonsoft.Json/blob/master/LICENSE.md + +The MIT License (MIT) + +Copyright (c) 2007 James Newton-King + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License notice for vectorized base64 encoding / decoding +-------------------------------------------------------- + +Copyright (c) 2005-2007, Nick Galbreath +Copyright (c) 2013-2017, Alfred Klomp +Copyright (c) 2015-2017, Wojciech Mula +Copyright (c) 2016-2017, Matthieu Darbois +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + +- Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + +- Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS +IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A +PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED +TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for vectorized hex parsing +-------------------------------------------------------- + +Copyright (c) 2022, Geoff Langdale +Copyright (c) 2022, Wojciech Mula +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + +- Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + +- Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS +IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A +PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED +TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for RFC 3492 +--------------------------- + +The punycode implementation is based on the sample code in RFC 3492 + +Copyright (C) The Internet Society (2003). All Rights Reserved. + +This document and translations of it may be copied and furnished to +others, and derivative works that comment on or otherwise explain it +or assist in its implementation may be prepared, copied, published +and distributed, in whole or in part, without restriction of any +kind, provided that the above copyright notice and this paragraph are +included on all such copies and derivative works. However, this +document itself may not be modified in any way, such as by removing +the copyright notice or references to the Internet Society or other +Internet organizations, except as needed for the purpose of +developing Internet standards in which case the procedures for +copyrights defined in the Internet Standards process must be +followed, or as required to translate it into languages other than +English. + +The limited permissions granted above are perpetual and will not be +revoked by the Internet Society or its successors or assigns. + +This document and the information contained herein is provided on an +"AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING +TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING +BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION +HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF +MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. + +Copyright(C) The Internet Society 1997. All Rights Reserved. + +This document and translations of it may be copied and furnished to others, +and derivative works that comment on or otherwise explain it or assist in +its implementation may be prepared, copied, published and distributed, in +whole or in part, without restriction of any kind, provided that the above +copyright notice and this paragraph are included on all such copies and +derivative works.However, this document itself may not be modified in any +way, such as by removing the copyright notice or references to the Internet +Society or other Internet organizations, except as needed for the purpose of +developing Internet standards in which case the procedures for copyrights +defined in the Internet Standards process must be followed, or as required +to translate it into languages other than English. + +The limited permissions granted above are perpetual and will not be revoked +by the Internet Society or its successors or assigns. + +This document and the information contained herein is provided on an "AS IS" +basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE +DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO +ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY +RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A +PARTICULAR PURPOSE. + +License notice for Algorithm from RFC 4122 - +A Universally Unique IDentifier (UUID) URN Namespace +---------------------------------------------------- + +Copyright (c) 1990- 1993, 1996 Open Software Foundation, Inc. +Copyright (c) 1989 by Hewlett-Packard Company, Palo Alto, Ca. & +Digital Equipment Corporation, Maynard, Mass. +Copyright (c) 1998 Microsoft. +To anyone who acknowledges that this file is provided "AS IS" +without any express or implied warranty: permission to use, copy, +modify, and distribute this file for any purpose is hereby +granted without fee, provided that the above copyright notices and +this notice appears in all source code copies, and that none of +the names of Open Software Foundation, Inc., Hewlett-Packard +Company, Microsoft, or Digital Equipment Corporation be used in +advertising or publicity pertaining to distribution of the software +without specific, written prior permission. Neither Open Software +Foundation, Inc., Hewlett-Packard Company, Microsoft, nor Digital +Equipment Corporation makes any representations about the +suitability of this software for any purpose." + +License notice for The LLVM Compiler Infrastructure (Legacy License) +-------------------------------------------------------------------- + +Developed by: + + LLVM Team + + University of Illinois at Urbana-Champaign + + http://llvm.org + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal with +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is furnished to do +so, subject to the following conditions: + + * Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimers. + + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimers in the + documentation and/or other materials provided with the distribution. + + * Neither the names of the LLVM Team, University of Illinois at + Urbana-Champaign, nor the names of its contributors may be used to + endorse or promote products derived from this Software without specific + prior written permission. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS WITH THE +SOFTWARE. + +License notice for Bob Jenkins +------------------------------ + +By Bob Jenkins, 1996. bob_jenkins@burtleburtle.net. You may use this +code any way you wish, private, educational, or commercial. It's free. + +License notice for Greg Parker +------------------------------ + +Greg Parker gparker@cs.stanford.edu December 2000 +This code is in the public domain and may be copied or modified without +permission. + +License notice for libunwind based code +---------------------------------------- + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License notice for Printing Floating-Point Numbers (Dragon4) +------------------------------------------------------------ + +/****************************************************************************** + Copyright (c) 2014 Ryan Juckett + http://www.ryanjuckett.com/ + + This software is provided 'as-is', without any express or implied + warranty. In no event will the authors be held liable for any damages + arising from the use of this software. + + Permission is granted to anyone to use this software for any purpose, + including commercial applications, and to alter it and redistribute it + freely, subject to the following restrictions: + + 1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. + + 2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. + + 3. This notice may not be removed or altered from any source + distribution. +******************************************************************************/ + +License notice for Printing Floating-point Numbers (Grisu3) +----------------------------------------------------------- + +Copyright 2012 the V8 project authors. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google Inc. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for xxHash +------------------------- + +xxHash - Extremely Fast Hash algorithm +Header File +Copyright (C) 2012-2021 Yann Collet + +BSD 2-Clause License (https://www.opensource.org/licenses/bsd-license.php) + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following disclaimer + in the documentation and/or other materials provided with the + distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +You can contact the author at: + - xxHash homepage: https://www.xxhash.com + - xxHash source repository: https://github.com/Cyan4973/xxHash + +License notice for Berkeley SoftFloat Release 3e +------------------------------------------------ + +https://github.com/ucb-bar/berkeley-softfloat-3 +https://github.com/ucb-bar/berkeley-softfloat-3/blob/master/COPYING.txt + +License for Berkeley SoftFloat Release 3e + +John R. Hauser +2018 January 20 + +The following applies to the whole of SoftFloat Release 3e as well as to +each source file individually. + +Copyright 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018 The Regents of the +University of California. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + 1. Redistributions of source code must retain the above copyright notice, + this list of conditions, and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions, and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + 3. Neither the name of the University nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS "AS IS", AND ANY +EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ARE +DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for xoshiro RNGs +-------------------------------- + +Written in 2018 by David Blackman and Sebastiano Vigna (vigna@acm.org) + +To the extent possible under law, the author has dedicated all copyright +and related and neighboring rights to this software to the public domain +worldwide. This software is distributed without any warranty. + +See . + +License for fastmod (https://github.com/lemire/fastmod), ibm-fpgen (https://github.com/nigeltao/parse-number-fxx-test-data) and fastrange (https://github.com/lemire/fastrange) +-------------------------------------- + + Copyright 2018 Daniel Lemire + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +License for sse4-strstr (https://github.com/WojciechMula/sse4-strstr) +-------------------------------------- + + Copyright (c) 2008-2016, Wojciech Mula + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are + met: + + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS + IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A + PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED + TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for The C++ REST SDK +----------------------------------- + +C++ REST SDK + +The MIT License (MIT) + +Copyright (c) Microsoft Corporation + +All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License notice for MessagePack-CSharp +------------------------------------- + +MessagePack for C# + +MIT License + +Copyright (c) 2017 Yoshifumi Kawai + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License notice for lz4net +------------------------------------- + +lz4net + +Copyright (c) 2013-2017, Milosz Krajewski + +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: + +Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. + +Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for Nerdbank.Streams +----------------------------------- + +The MIT License (MIT) + +Copyright (c) Andrew Arnott + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License notice for RapidJSON +---------------------------- + +Tencent is pleased to support the open source community by making RapidJSON available. + +Copyright (C) 2015 THL A29 Limited, a Tencent company, and Milo Yip. All rights reserved. + +Licensed under the MIT License (the "License"); you may not use this file except +in compliance with the License. You may obtain a copy of the License at + +http://opensource.org/licenses/MIT + +Unless required by applicable law or agreed to in writing, software distributed +under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR +CONDITIONS OF ANY KIND, either express or implied. See the License for the +specific language governing permissions and limitations under the License. + +License notice for DirectX Math Library +--------------------------------------- + +https://github.com/microsoft/DirectXMath/blob/master/LICENSE + + The MIT License (MIT) + +Copyright (c) 2011-2020 Microsoft Corp + +Permission is hereby granted, free of charge, to any person obtaining a copy of this +software and associated documentation files (the "Software"), to deal in the Software +without restriction, including without limitation the rights to use, copy, modify, +merge, publish, distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to the following +conditions: + +The above copyright notice and this permission notice shall be included in all copies +or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, +INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A +PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF +CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE +OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License notice for ldap4net +--------------------------- + +The MIT License (MIT) + +Copyright (c) 2018 Alexander Chermyanin + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License notice for vectorized sorting code +------------------------------------------ + +MIT License + +Copyright (c) 2020 Dan Shechter + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License notice for musl +----------------------- + +musl as a whole is licensed under the following standard MIT license: + +Copyright © 2005-2020 Rich Felker, et al. + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +License notice for "Faster Unsigned Division by Constants" +------------------------------ + +Reference implementations of computing and using the "magic number" approach to dividing +by constants, including codegen instructions. The unsigned division incorporates the +"round down" optimization per ridiculous_fish. + +This is free and unencumbered software. Any copyright is dedicated to the Public Domain. + + +License notice for mimalloc +----------------------------------- + +MIT License + +Copyright (c) 2019 Microsoft Corporation, Daan Leijen + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License notice for The LLVM Project +----------------------------------- + +Copyright 2019 LLVM Project + +Licensed under the Apache License, Version 2.0 (the "License") with LLVM Exceptions; +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + +https://llvm.org/LICENSE.txt + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. + +License notice for Apple header files +------------------------------------- + +Copyright (c) 1980, 1986, 1993 + The Regents of the University of California. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. +3. All advertising materials mentioning features or use of this software + must display the following acknowledgement: + This product includes software developed by the University of + California, Berkeley and its contributors. +4. Neither the name of the University nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +SUCH DAMAGE. + +License notice for JavaScript queues +------------------------------------- + +CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED HEREUNDER. + +Statement of Purpose +The laws of most jurisdictions throughout the world automatically confer exclusive Copyright and Related Rights (defined below) upon the creator and subsequent owner(s) (each and all, an "owner") of an original work of authorship and/or a database (each, a "Work"). +Certain owners wish to permanently relinquish those rights to a Work for the purpose of contributing to a commons of creative, cultural and scientific works ("Commons") that the public can reliably and without fear of later claims of infringement build upon, modify, incorporate in other works, reuse and redistribute as freely as possible in any form whatsoever and for any purposes, including without limitation commercial purposes. These owners may contribute to the Commons to promote the ideal of a free culture and the further production of creative, cultural and scientific works, or to gain reputation or greater distribution for their Work in part through the use and efforts of others. +For these and/or other purposes and motivations, and without any expectation of additional consideration or compensation, the person associating CC0 with a Work (the "Affirmer"), to the extent that he or she is an owner of Copyright and Related Rights in the Work, voluntarily elects to apply CC0 to the Work and publicly distribute the Work under its terms, with knowledge of his or her Copyright and Related Rights in the Work and the meaning and intended legal effect of CC0 on those rights. + +1. Copyright and Related Rights. A Work made available under CC0 may be protected by copyright and related or neighboring rights ("Copyright and Related Rights"). Copyright and Related Rights include, but are not limited to, the following: +the right to reproduce, adapt, distribute, perform, display, communicate, and translate a Work; +moral rights retained by the original author(s) and/or performer(s); +publicity and privacy rights pertaining to a person's image or likeness depicted in a Work; +rights protecting against unfair competition in regards to a Work, subject to the limitations in paragraph 4(a), below; +rights protecting the extraction, dissemination, use and reuse of data in a Work; +database rights (such as those arising under Directive 96/9/EC of the European Parliament and of the Council of 11 March 1996 on the legal protection of databases, and under any national implementation thereof, including any amended or successor version of such directive); and +other similar, equivalent or corresponding rights throughout the world based on applicable law or treaty, and any national implementations thereof. +2. Waiver. To the greatest extent permitted by, but not in contravention of, applicable law, Affirmer hereby overtly, fully, permanently, irrevocably and unconditionally waives, abandons, and surrenders all of Affirmer's Copyright and Related Rights and associated claims and causes of action, whether now known or unknown (including existing as well as future claims and causes of action), in the Work (i) in all territories worldwide, (ii) for the maximum duration provided by applicable law or treaty (including future time extensions), (iii) in any current or future medium and for any number of copies, and (iv) for any purpose whatsoever, including without limitation commercial, advertising or promotional purposes (the "Waiver"). Affirmer makes the Waiver for the benefit of each member of the public at large and to the detriment of Affirmer's heirs and successors, fully intending that such Waiver shall not be subject to revocation, rescission, cancellation, termination, or any other legal or equitable action to disrupt the quiet enjoyment of the Work by the public as contemplated by Affirmer's express Statement of Purpose. +3. Public License Fallback. Should any part of the Waiver for any reason be judged legally invalid or ineffective under applicable law, then the Waiver shall be preserved to the maximum extent permitted taking into account Affirmer's express Statement of Purpose. In addition, to the extent the Waiver is so judged Affirmer hereby grants to each affected person a royalty-free, non transferable, non sublicensable, non exclusive, irrevocable and unconditional license to exercise Affirmer's Copyright and Related Rights in the Work (i) in all territories worldwide, (ii) for the maximum duration provided by applicable law or treaty (including future time extensions), (iii) in any current or future medium and for any number of copies, and (iv) for any purpose whatsoever, including without limitation commercial, advertising or promotional purposes (the "License"). The License shall be deemed effective as of the date CC0 was applied by Affirmer to the Work. Should any part of the License for any reason be judged legally invalid or ineffective under applicable law, such partial invalidity or ineffectiveness shall not invalidate the remainder of the License, and in such case Affirmer hereby affirms that he or she will not (i) exercise any of his or her remaining Copyright and Related Rights in the Work or (ii) assert any associated claims and causes of action with respect to the Work, in either case contrary to Affirmer's express Statement of Purpose. +4. Limitations and Disclaimers. +a. No trademark or patent rights held by Affirmer are waived, abandoned, surrendered, licensed or otherwise affected by this document. +b. Affirmer offers the Work as-is and makes no representations or warranties of any kind concerning the Work, express, implied, statutory or otherwise, including without limitation warranties of title, merchantability, fitness for a particular purpose, non infringement, or the absence of latent or other defects, accuracy, or the present or absence of errors, whether or not discoverable, all to the greatest extent permissible under applicable law. +c. Affirmer disclaims responsibility for clearing rights of other persons that may apply to the Work or any use thereof, including without limitation any person's Copyright and Related Rights in the Work. Further, Affirmer disclaims responsibility for obtaining any necessary consents, permissions or other rights required for any use of the Work. +d. Affirmer understands and acknowledges that Creative Commons is not a party to this document and has no duty or obligation with respect to this CC0 or use of the Work. + + +License notice for FastFloat algorithm +------------------------------------- +MIT License +Copyright (c) 2021 csFastFloat authors +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License notice for MsQuic +-------------------------------------- + +Copyright (c) Microsoft Corporation. +Licensed under the MIT License. + +Available at +https://github.com/microsoft/msquic/blob/main/LICENSE + +License notice for m-ou-se/floatconv +------------------------------- + +Copyright (c) 2020 Mara Bos +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for code from The Practice of Programming +------------------------------- + +Copyright (C) 1999 Lucent Technologies + +Excerpted from 'The Practice of Programming +by Brian W. Kernighan and Rob Pike + +You may use this code for any purpose, as long as you leave the copyright notice and book citation attached. + +Notice for Euclidean Affine Functions and Applications to Calendar +Algorithms +------------------------------- + +Aspects of Date/Time processing based on algorithm described in "Euclidean Affine Functions and Applications to Calendar +Algorithms", Cassio Neri and Lorenz Schneider. https://arxiv.org/pdf/2102.06959.pdf + +License notice for amd/aocl-libm-ose +------------------------------- + +Copyright (C) 2008-2020 Advanced Micro Devices, Inc. All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: +1. Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. +3. Neither the name of the copyright holder nor the names of its contributors + may be used to endorse or promote products derived from this software without + specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, +OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. + +License notice for fmtlib/fmt +------------------------------- + +Formatting library for C++ + +Copyright (c) 2012 - present, Victor Zverovich + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License for Jb Evain +--------------------- + +Copyright (c) 2006 Jb Evain (jbevain@gmail.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +--- Optional exception to the license --- + +As an exception, if, as a result of your compiling your source code, portions +of this Software are embedded into a machine-executable object form of such +source code, you may redistribute such embedded portions in such object form +without including the above copyright and permission notices. + + +License for MurmurHash3 +-------------------------------------- + +https://github.com/aappleby/smhasher/blob/master/src/MurmurHash3.cpp + +MurmurHash3 was written by Austin Appleby, and is placed in the public +domain. The author hereby disclaims copyright to this source + +License for Fast CRC Computation +-------------------------------------- + +https://github.com/intel/isa-l/blob/33a2d9484595c2d6516c920ce39a694c144ddf69/crc/crc32_ieee_by4.asm +https://github.com/intel/isa-l/blob/33a2d9484595c2d6516c920ce39a694c144ddf69/crc/crc64_ecma_norm_by8.asm + +Copyright(c) 2011-2015 Intel Corporation All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + * Neither the name of Intel Corporation nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License for C# Implementation of Fast CRC Computation +----------------------------------------------------- + +https://github.com/SixLabors/ImageSharp/blob/f4f689ce67ecbcc35cebddba5aacb603e6d1068a/src/ImageSharp/Formats/Png/Zlib/Crc32.cs + +Copyright (c) Six Labors. +Licensed under the Apache License, Version 2.0. + +Available at +https://github.com/SixLabors/ImageSharp/blob/f4f689ce67ecbcc35cebddba5aacb603e6d1068a/LICENSE diff --git a/packages/Microsoft.Extensions.DependencyInjection.Abstractions.8.0.0/buildTransitive/net461/Microsoft.Extensions.DependencyInjection.Abstractions.targets b/packages/Microsoft.Extensions.DependencyInjection.Abstractions.8.0.0/buildTransitive/net461/Microsoft.Extensions.DependencyInjection.Abstractions.targets new file mode 100644 index 0000000..8a086a7 --- /dev/null +++ b/packages/Microsoft.Extensions.DependencyInjection.Abstractions.8.0.0/buildTransitive/net461/Microsoft.Extensions.DependencyInjection.Abstractions.targets @@ -0,0 +1,6 @@ + + + + + diff --git a/packages/Microsoft.Extensions.DependencyInjection.Abstractions.8.0.0/buildTransitive/net462/_._ b/packages/Microsoft.Extensions.DependencyInjection.Abstractions.8.0.0/buildTransitive/net462/_._ new file mode 100644 index 0000000..e69de29 diff --git a/packages/Microsoft.Extensions.DependencyInjection.Abstractions.8.0.0/buildTransitive/net6.0/_._ b/packages/Microsoft.Extensions.DependencyInjection.Abstractions.8.0.0/buildTransitive/net6.0/_._ new file mode 100644 index 0000000..e69de29 diff --git a/packages/Microsoft.Extensions.DependencyInjection.Abstractions.8.0.0/buildTransitive/netcoreapp2.0/Microsoft.Extensions.DependencyInjection.Abstractions.targets b/packages/Microsoft.Extensions.DependencyInjection.Abstractions.8.0.0/buildTransitive/netcoreapp2.0/Microsoft.Extensions.DependencyInjection.Abstractions.targets new file mode 100644 index 0000000..dd4fb26 --- /dev/null +++ b/packages/Microsoft.Extensions.DependencyInjection.Abstractions.8.0.0/buildTransitive/netcoreapp2.0/Microsoft.Extensions.DependencyInjection.Abstractions.targets @@ -0,0 +1,6 @@ + + + + + diff --git a/packages/Microsoft.Extensions.DependencyInjection.Abstractions.8.0.0/lib/net462/Microsoft.Extensions.DependencyInjection.Abstractions.dll b/packages/Microsoft.Extensions.DependencyInjection.Abstractions.8.0.0/lib/net462/Microsoft.Extensions.DependencyInjection.Abstractions.dll new file mode 100644 index 0000000000000000000000000000000000000000..3298f8dce62f174a4bae966aad92960dd1d66ca5 GIT binary patch literal 64264 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 K^mf}N@xK5#cfe2p literal 0 HcmV?d00001 diff --git a/packages/Microsoft.Extensions.DependencyInjection.Abstractions.8.0.0/lib/net462/Microsoft.Extensions.DependencyInjection.Abstractions.xml b/packages/Microsoft.Extensions.DependencyInjection.Abstractions.8.0.0/lib/net462/Microsoft.Extensions.DependencyInjection.Abstractions.xml new file mode 100644 index 0000000..ca535c8 --- /dev/null +++ b/packages/Microsoft.Extensions.DependencyInjection.Abstractions.8.0.0/lib/net462/Microsoft.Extensions.DependencyInjection.Abstractions.xml @@ -0,0 +1,2515 @@ + + + + Microsoft.Extensions.DependencyInjection.Abstractions + + + + + Helper code for the various activator services. + + + + + Instantiate a type with constructor arguments provided directly and/or from an . + + The service provider used to resolve dependencies + The type to activate + Constructor arguments not provided by the . + An activated object of type instanceType + + + + Create a delegate that will instantiate a type with constructor arguments provided directly + and/or from an . + + The type to activate + + The types of objects, in order, that will be passed to the returned function as its second parameter + + + A factory that will instantiate instanceType using an + and an argument array containing objects matching the types defined in argumentTypes + + + + + Create a delegate that will instantiate a type with constructor arguments provided directly + and/or from an . + + The type to activate + + The types of objects, in order, that will be passed to the returned function as its second parameter + + + A factory that will instantiate type T using an + and an argument array containing objects matching the types defined in argumentTypes + + + + + Instantiate a type with constructor arguments provided directly and/or from an . + + The type to activate + The service provider used to resolve dependencies + Constructor arguments not provided by the . + An activated object of type T + + + + Retrieve an instance of the given type from the service provider. If one is not found then instantiate it directly. + + The type of the service + The service provider used to resolve dependencies + The resolved service or created instance + + + + Retrieve an instance of the given type from the service provider. If one is not found then instantiate it directly. + + The service provider + The type of the service + The resolved service or created instance + + + + Marks the constructor to be used when activating type using . + + + + + An implementation that implements . + + + + + Initializes a new instance of the struct. + Wraps an instance of . + + The instance to wrap. + + + + + + + + + + + + + Extension methods for adding and removing services to an . + + + + + Adds the specified to the . + + The . + The to add. + A reference to the current instance of . + + + + Adds a sequence of to the . + + The . + The s to add. + A reference to the current instance of . + + + + Adds the specified to the if the + service type hasn't already been registered. + + The . + The to add. + + + + Adds the specified to the if the + service type hasn't already been registered. + + The . + The s to add. + + + + Adds the specified as a service + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + + + + Adds the specified as a service + with the implementation + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The implementation type of the service. + + + + Adds the specified as a service + using the factory specified in + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The factory that creates the service. + + + + Adds the specified as a service + to the if the service type hasn't already been registered. + + The type of the service to add. + The . + + + + Adds the specified as a service + implementation type specified in + to the if the service type hasn't already been registered. + + The type of the service to add. + The type of the implementation to use. + The . + + + + Adds the specified as a service + using the factory specified in + to the if the service type hasn't already been registered. + + The type of the service to add. + The . + The factory that creates the service. + + + + Adds the specified as a service + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + + + + Adds the specified as a service + with the implementation + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The implementation type of the service. + + + + Adds the specified as a service + using the factory specified in + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The factory that creates the service. + + + + Adds the specified as a service + to the if the service type hasn't already been registered. + + The type of the service to add. + The . + + + + Adds the specified as a service + implementation type specified in + to the if the service type hasn't already been registered. + + The type of the service to add. + The type of the implementation to use. + The . + + + + Adds the specified as a service + using the factory specified in + to the if the service type hasn't already been registered. + + The type of the service to add. + The . + The factory that creates the service. + + + + Adds the specified as a service + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + + + + Adds the specified as a service + with the implementation + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The implementation type of the service. + + + + Adds the specified as a service + using the factory specified in + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The factory that creates the service. + + + + Adds the specified as a service + to the if the service type hasn't already been registered. + + The type of the service to add. + The . + + + + Adds the specified as a service + implementation type specified in + to the if the service type hasn't already been registered. + + The type of the service to add. + The type of the implementation to use. + The . + + + + Adds the specified as a service + with an instance specified in + to the if the service type hasn't already been registered. + + The type of the service to add. + The . + The instance of the service to add. + + + + Adds the specified as a service + using the factory specified in + to the if the service type hasn't already been registered. + + The type of the service to add. + The . + The factory that creates the service. + + + + Adds a if an existing descriptor with the same + and an implementation that does not already exist + in . + + The . + The . + + Use when registering a service implementation of a + service type that + supports multiple registrations of the same service type. Using + is not idempotent and can add + duplicate + instances if called twice. Using + will prevent registration + of multiple implementation types. + + + + + Adds the specified s if an existing descriptor with the same + and an implementation that does not already exist + in . + + The . + The s. + + Use when registering a service + implementation of a service type that + supports multiple registrations of the same service type. Using + is not idempotent and can add + duplicate + instances if called twice. Using + will prevent registration + of multiple implementation types. + + + + + Removes the first service in with the same service type + as and adds to the collection. + + The . + The to replace with. + The for chaining. + + + + Removes all services of type in . + + The . + The for chaining. + + + + Removes all services of type in . + + The . + The service type to remove. + The for chaining. + + + + Adds the specified as a service + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The service key. + + + + Adds the specified as a service + with the implementation + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The service key. + The implementation type of the service. + + + + Adds the specified as a service + using the factory specified in + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The service key. + The factory that creates the service. + + + + Adds the specified as a service + to the if the service type hasn't already been registered. + + The type of the service to add. + The . + The service key. + + + + Adds the specified as a service + implementation type specified in + to the if the service type hasn't already been registered. + + The type of the service to add. + The type of the implementation to use. + The . + The service key. + + + + Adds the specified as a service + using the factory specified in + to the if the service type hasn't already been registered. + + The type of the service to add. + The . + The service key. + The factory that creates the service. + + + + Adds the specified as a service + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The service key. + + + + Adds the specified as a service + with the implementation + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The service key. + The implementation type of the service. + + + + Adds the specified as a service + using the factory specified in + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The service key. + The factory that creates the service. + + + + Adds the specified as a service + to the if the service type hasn't already been registered. + + The type of the service to add. + The . + The service key. + + + + Adds the specified as a service + implementation type specified in + to the if the service type hasn't already been registered. + + The type of the service to add. + The type of the implementation to use. + The . + The service key. + + + + Adds the specified as a service + using the factory specified in + to the if the service type hasn't already been registered. + + The type of the service to add. + The . + The factory that creates the service. + The service key. + + + + Adds the specified as a service + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The service key. + + + + Adds the specified as a service + with the implementation + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The service key. + The implementation type of the service. + + + + Adds the specified as a service + using the factory specified in + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The service key. + The factory that creates the service. + + + + Adds the specified as a service + to the if the service type hasn't already been registered. + + The type of the service to add. + The . + The service key. + + + + Adds the specified as a service + implementation type specified in + to the if the service type hasn't already been registered. + + The type of the service to add. + The type of the implementation to use. + The . + The service key. + + + + Adds the specified as a service + with an instance specified in + to the if the service type hasn't already been registered. + + The type of the service to add. + The . + The service key. + The instance of the service to add. + + + + Adds the specified as a service + using the factory specified in + to the if the service type hasn't already been registered. + + The type of the service to add. + The . + The service key. + The factory that creates the service. + + + + Removes all services of type in . + + The . + The service key. + The for chaining. + + + + Removes all services of type in . + + The . + The service type to remove. + The service key. + The for chaining. + + + + Indicates that the parameter should be bound using the keyed service registered with the specified key. + + + + + Creates a new instance. + + The key of the keyed service to bind to. + + + + The key of the keyed service to bind to. + + + + + IKeyedServiceProvider is a service provider that can be used to retrieve services using a key in addition + to a type. + + + + + Gets the service object of the specified type. + + An object that specifies the type of service object to get. + An object that specifies the key of service object to get. + A service object of type serviceType. -or- null if there is no service object of type serviceType. + + + + Gets service of type from the implementing + this interface. + + An object that specifies the type of service object to get. + The of the service. + A service object of type . + Throws an exception if the cannot create the object. + + + + Statics for use with . + + + + + Represents a key that matches any key. + + + + + Specifies the contract for a collection of service descriptors. + + + + + Provides an extension point for creating a container specific builder and an . + + + + + Creates a container builder from an . + + The collection of services + A container builder that can be used to create an . + + + + Creates an from the container builder. + + The container builder + An + + + + Optional service used to determine if the specified type with the specified service key is available + from the . + + + + + Determines if the specified service type with the specified service key is available from the + . + + An object that specifies the type of service object to test. + The of the service. + true if the specified service is a available, false if it is not. + + + + Optional service used to determine if the specified type is available from the . + + + + + Determines if the specified service type is available from the . + + An object that specifies the type of service object to test. + true if the specified service is a available, false if it is not. + + + + The method ends the scope lifetime. Once Dispose + is called, any scoped services that have been resolved from + will be + disposed. + + + + + The used to resolve dependencies from the scope. + + + + + A factory for creating instances of , which is used to create + services within a scope. + + + + + Create an which + contains an used to resolve dependencies from a + newly created scope. + + + An controlling the + lifetime of the scope. Once this is disposed, any scoped services that have been resolved + from the + will also be disposed. + + + + + Optional contract used by + to resolve services if supported by . + + + + + Gets service of type from the implementing + this interface. + + An object that specifies the type of service object to get. + A service object of type . + Throws an exception if the cannot create the object. + + + + The result of . + + The to get service arguments from. + Additional constructor arguments. + The instantiated type. + + + + The result of . A delegate to specify a factory method to call to instantiate an instance of type `T` + + The type of the instance being returned + The to get service arguments from. + Additional constructor arguments. + An instance of T + + + + Default implementation of . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Makes this collection read-only. + + + After the collection is marked as read-only, any further attempt to modify it throws an . + + + + + Extension methods for adding services to an . + + + Extension methods for adding services to an . + + + + + Adds a transient service of the type specified in with an + implementation of the type specified in to the + specified . + + The to add the service to. + The type of the service to register. + The implementation type of the service. + A reference to this instance after the operation has completed. + + + + + Adds a transient service of the type specified in with a + factory specified in to the + specified . + + The to add the service to. + The type of the service to register. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a transient service of the type specified in with an + implementation type specified in to the + specified . + + The type of the service to add. + The type of the implementation to use. + The to add the service to. + A reference to this instance after the operation has completed. + + + + + Adds a transient service of the type specified in to the + specified . + + The to add the service to. + The type of the service to register and the implementation to use. + A reference to this instance after the operation has completed. + + + + + Adds a transient service of the type specified in to the + specified . + + The type of the service to add. + The to add the service to. + A reference to this instance after the operation has completed. + + + + + Adds a transient service of the type specified in with a + factory specified in to the + specified . + + The type of the service to add. + The to add the service to. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a transient service of the type specified in with an + implementation type specified in using the + factory specified in to the + specified . + + The type of the service to add. + The type of the implementation to use. + The to add the service to. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a scoped service of the type specified in with an + implementation of the type specified in to the + specified . + + The to add the service to. + The type of the service to register. + The implementation type of the service. + A reference to this instance after the operation has completed. + + + + + Adds a scoped service of the type specified in with a + factory specified in to the + specified . + + The to add the service to. + The type of the service to register. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a scoped service of the type specified in with an + implementation type specified in to the + specified . + + The type of the service to add. + The type of the implementation to use. + The to add the service to. + A reference to this instance after the operation has completed. + + + + + Adds a scoped service of the type specified in to the + specified . + + The to add the service to. + The type of the service to register and the implementation to use. + A reference to this instance after the operation has completed. + + + + + Adds a scoped service of the type specified in to the + specified . + + The type of the service to add. + The to add the service to. + A reference to this instance after the operation has completed. + + + + + Adds a scoped service of the type specified in with a + factory specified in to the + specified . + + The type of the service to add. + The to add the service to. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a scoped service of the type specified in with an + implementation type specified in using the + factory specified in to the + specified . + + The type of the service to add. + The type of the implementation to use. + The to add the service to. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in with an + implementation of the type specified in to the + specified . + + The to add the service to. + The type of the service to register. + The implementation type of the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in with a + factory specified in to the + specified . + + The to add the service to. + The type of the service to register. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in with an + implementation type specified in to the + specified . + + The type of the service to add. + The type of the implementation to use. + The to add the service to. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in to the + specified . + + The to add the service to. + The type of the service to register and the implementation to use. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in to the + specified . + + The type of the service to add. + The to add the service to. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in with a + factory specified in to the + specified . + + The type of the service to add. + The to add the service to. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in with an + implementation type specified in using the + factory specified in to the + specified . + + The type of the service to add. + The type of the implementation to use. + The to add the service to. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in with an + instance specified in to the + specified . + + The to add the service to. + The type of the service to register. + The instance of the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in with an + instance specified in to the + specified . + + The to add the service to. + The instance of the service. + A reference to this instance after the operation has completed. + + + + + Adds a transient service of the type specified in with an + implementation of the type specified in to the + specified . + + The to add the service to. + The type of the service to register. + The of the service. + The implementation type of the service. + A reference to this instance after the operation has completed. + + + + + Adds a transient service of the type specified in with a + factory specified in to the + specified . + + The to add the service to. + The type of the service to register. + The of the service. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a transient service of the type specified in with an + implementation type specified in to the + specified . + + The type of the service to add. + The type of the implementation to use. + The to add the service to. + The of the service. + A reference to this instance after the operation has completed. + + + + + Adds a transient service of the type specified in to the + specified . + + The to add the service to. + The type of the service to register and the implementation to use. + The of the service. + A reference to this instance after the operation has completed. + + + + + Adds a transient service of the type specified in to the + specified . + + The type of the service to add. + The to add the service to. + The of the service. + A reference to this instance after the operation has completed. + + + + + Adds a transient service of the type specified in with a + factory specified in to the + specified . + + The type of the service to add. + The to add the service to. + The of the service. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a transient service of the type specified in with an + implementation type specified in using the + factory specified in to the + specified . + + The type of the service to add. + The type of the implementation to use. + The to add the service to. + The of the service. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a scoped service of the type specified in with an + implementation of the type specified in to the + specified . + + The to add the service to. + The type of the service to register. + The of the service. + The implementation type of the service. + A reference to this instance after the operation has completed. + + + + + Adds a scoped service of the type specified in with a + factory specified in to the + specified . + + The to add the service to. + The type of the service to register. + The of the service. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a scoped service of the type specified in with an + implementation type specified in to the + specified . + + The type of the service to add. + The type of the implementation to use. + The to add the service to. + The of the service. + A reference to this instance after the operation has completed. + + + + + Adds a scoped service of the type specified in to the + specified . + + The to add the service to. + The type of the service to register and the implementation to use. + The of the service. + A reference to this instance after the operation has completed. + + + + + Adds a scoped service of the type specified in to the + specified . + + The type of the service to add. + The to add the service to. + The of the service. + A reference to this instance after the operation has completed. + + + + + Adds a scoped service of the type specified in with a + factory specified in to the + specified . + + The type of the service to add. + The to add the service to. + The of the service. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a scoped service of the type specified in with an + implementation type specified in using the + factory specified in to the + specified . + + The type of the service to add. + The type of the implementation to use. + The to add the service to. + The of the service. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in with an + implementation of the type specified in to the + specified . + + The to add the service to. + The type of the service to register. + The of the service. + The implementation type of the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in with a + factory specified in to the + specified . + + The to add the service to. + The type of the service to register. + The of the service. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in with an + implementation type specified in to the + specified . + + The type of the service to add. + The type of the implementation to use. + The to add the service to. + The of the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in to the + specified . + + The to add the service to. + The type of the service to register and the implementation to use. + The of the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in to the + specified . + + The type of the service to add. + The to add the service to. + The of the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in with a + factory specified in to the + specified . + + The type of the service to add. + The to add the service to. + The of the service. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in with an + implementation type specified in using the + factory specified in to the + specified . + + The type of the service to add. + The type of the implementation to use. + The to add the service to. + The of the service. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in with an + instance specified in to the + specified . + + The to add the service to. + The type of the service to register. + The of the service. + The instance of the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in with an + instance specified in to the + specified . + + The to add the service to. + The of the service. + The instance of the service. + A reference to this instance after the operation has completed. + + + + + Describes a service with its service type, implementation, and lifetime. + + + + + Initializes a new instance of with the specified . + + The of the service. + The implementing the service. + The of the service. + + + + Initializes a new instance of with the specified . + + The of the service. + The of the service. + The implementing the service. + The of the service. + + + + Initializes a new instance of with the specified + as a . + + The of the service. + The instance implementing the service. + + + + Initializes a new instance of with the specified + as a . + + The of the service. + The of the service. + The instance implementing the service. + + + + Initializes a new instance of with the specified . + + The of the service. + A factory used for creating service instances. + The of the service. + + + + Initializes a new instance of with the specified . + + The of the service. + The of the service. + A factory used for creating service instances. + The of the service. + + + + Gets the of the service. + + + + + Get the key of the service, if applicable. + + + + + Gets the of the service. + + + + + Gets the that implements the service. + + + + + Gets the that implements the service. + + + + + Gets the instance that implements the service. + + + + + Gets the instance that implements the service. + + + + + Gets the factory used for creating service instances. + + + + + Gets the factory used for creating Keyed service instances. + + + + + Indicates whether the service is a keyed service. + + + + + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The type of the implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The type of the implementation. + The of the service. + A new instance of . + + + + Creates an instance of with the specified + and + and the lifetime. + + The type of the service. + The type of the implementation. + A new instance of . + + + + Creates an instance of with the specified + and + and the lifetime. + + The type of the service. + The of the service. + The type of the implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + , + and the lifetime. + + The type of the service. + The type of the implementation. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + , + and the lifetime. + + The type of the service. + The type of the implementation. + The of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The type of the implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The type of the implementation. + The of the service. + A new instance of . + + + + Creates an instance of with the specified + and + and the lifetime. + + The type of the service. + The type of the implementation. + A new instance of . + + + + Creates an instance of with the specified + and + and the lifetime. + + The type of the service. + The of the service. + The type of the implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + , + and the lifetime. + + The type of the service. + The type of the implementation. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + , + and the lifetime. + + The type of the service. + The type of the implementation. + The of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The type of the implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The type of the implementation. + The of the service. + A new instance of . + + + + Creates an instance of with the specified + and + and the lifetime. + + The type of the service. + The type of the implementation. + A new instance of . + + + + Creates an instance of with the specified + and + and the lifetime. + + The type of the service. + The of the service. + The type of the implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + , + and the lifetime. + + The type of the service. + The type of the implementation. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + , + and the lifetime. + + The type of the service. + The type of the implementation. + The of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The instance of the implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The of the service. + The instance of the implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The instance of the implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The of the service. + The instance of the implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and . + + The type of the service. + The type of the implementation. + The lifetime of the service. + A new instance of . + + + + Creates an instance of with the specified + , , + and . + + The type of the service. + The of the service. + The type of the implementation. + The lifetime of the service. + A new instance of . + + + + Creates an instance of with the specified + , , + and . + + The type of the service. + A factory to create new instances of the service implementation. + The lifetime of the service. + A new instance of . + + + + Creates an instance of with the specified + , , + and . + + The type of the service. + The of the service. + A factory to create new instances of the service implementation. + The lifetime of the service. + A new instance of . + + + + ServiceKeyAttribute can be specified on a parameter to inject the key that was used for + registration/resolution. + + + + + Specifies the lifetime of a service in an . + + + + + Specifies that a single instance of the service will be created. + + + + + Specifies that a new instance of the service will be created for each scope. + + + In ASP.NET Core applications a scope is created around each server request. + + + + + Specifies that a new instance of the service will be created every time it is requested. + + + + + Extension methods for getting services from an . + + + + + Get service of type from the . + + The type of service object to get. + The to retrieve the service object from. + An object that specifies the key of service object to get. + A service object of type or null if there is no such service. + + + + Get service of type from the . + + The to retrieve the service object from. + An object that specifies the type of service object to get. + An object that specifies the key of service object to get. + A service object of type . + There is no service of type . + + + + Get service of type from the . + + The type of service object to get. + The to retrieve the service object from. + An object that specifies the key of service object to get. + A service object of type . + There is no service of type . + + + + Get an enumeration of services of type from the . + + The type of service object to get. + The to retrieve the services from. + An object that specifies the key of service object to get. + An enumeration of services of type . + + + + Get an enumeration of services of type from the . + + The to retrieve the services from. + An object that specifies the type of service object to get. + An object that specifies the key of service object to get. + An enumeration of services of type . + + + + Extension methods for getting services from an . + + + + + Get service of type from the . + + The type of service object to get. + The to retrieve the service object from. + A service object of type or null if there is no such service. + + + + Get service of type from the . + + The to retrieve the service object from. + An object that specifies the type of service object to get. + A service object of type . + There is no service of type . + + + + Get service of type from the . + + The type of service object to get. + The to retrieve the service object from. + A service object of type . + There is no service of type . + + + + Get an enumeration of services of type from the . + + The type of service object to get. + The to retrieve the services from. + An enumeration of services of type . + + + + Get an enumeration of services of type from the . + + The to retrieve the services from. + An object that specifies the type of service object to get. + An enumeration of services of type . + + + + Creates a new that can be used to resolve scoped services. + + The to create the scope from. + A that can be used to resolve scoped services. + + + + Creates a new that can be used to resolve scoped services. + + The to create the scope from. + An that can be used to resolve scoped services. + + + + Creates a new that can be used to resolve scoped services. + + The to create the scope from. + An that can be used to resolve scoped services. + + + Throws an if is null. + The reference type argument to validate as non-null. + The name of the parameter with which corresponds. + + + + Throws either an or an + if the specified string is or whitespace respectively. + + String to be checked for or whitespace. + The name of the parameter being checked. + The original value of . + + + + Attribute used to indicate a source generator should create a function for marshalling + arguments instead of relying on the runtime to generate an equivalent marshalling function at run-time. + + + This attribute is meaningless if the source generator associated with it is not enabled. + The current built-in source generator only supports C# and only supplies an implementation when + applied to static, partial, non-generic methods. + + + + + Initializes a new instance of the . + + Name of the library containing the import. + + + + Gets the name of the library containing the import. + + + + + Gets or sets the name of the entry point to be called. + + + + + Gets or sets how to marshal string arguments to the method. + + + If this field is set to a value other than , + must not be specified. + + + + + Gets or sets the used to control how string arguments to the method are marshalled. + + + If this field is specified, must not be specified + or must be set to . + + + + + Gets or sets whether the callee sets an error (SetLastError on Windows or errno + on other platforms) before returning from the attributed method. + + + + + Specifies how strings should be marshalled for generated p/invokes + + + + + Indicates the user is suppling a specific marshaller in . + + + + + Use the platform-provided UTF-8 marshaller. + + + + + Use the platform-provided UTF-16 marshaller. + + + + + Indicates that certain members on a specified are accessed dynamically, + for example through . + + + This allows tools to understand which members are being accessed during the execution + of a program. + + This attribute is valid on members whose type is or . + + When this attribute is applied to a location of type , the assumption is + that the string represents a fully qualified type name. + + When this attribute is applied to a class, interface, or struct, the members specified + can be accessed dynamically on instances returned from calling + on instances of that class, interface, or struct. + + If the attribute is applied to a method it's treated as a special case and it implies + the attribute should be applied to the "this" parameter of the method. As such the attribute + should only be used on instance methods of types assignable to System.Type (or string, but no methods + will use it there). + + + + + Initializes a new instance of the class + with the specified member types. + + The types of members dynamically accessed. + + + + Gets the which specifies the type + of members dynamically accessed. + + + + + Specifies the types of members that are dynamically accessed. + + This enumeration has a attribute that allows a + bitwise combination of its member values. + + + + + Specifies no members. + + + + + Specifies the default, parameterless public constructor. + + + + + Specifies all public constructors. + + + + + Specifies all non-public constructors. + + + + + Specifies all public methods. + + + + + Specifies all non-public methods. + + + + + Specifies all public fields. + + + + + Specifies all non-public fields. + + + + + Specifies all public nested types. + + + + + Specifies all non-public nested types. + + + + + Specifies all public properties. + + + + + Specifies all non-public properties. + + + + + Specifies all public events. + + + + + Specifies all non-public events. + + + + + Specifies all interfaces implemented by the type. + + + + + Specifies all members. + + + + + Suppresses reporting of a specific rule violation, allowing multiple suppressions on a + single code artifact. + + + is different than + in that it doesn't have a + . So it is always preserved in the compiled assembly. + + + + + Initializes a new instance of the + class, specifying the category of the tool and the identifier for an analysis rule. + + The category for the attribute. + The identifier of the analysis rule the attribute applies to. + + + + Gets the category identifying the classification of the attribute. + + + The property describes the tool or tool analysis category + for which a message suppression attribute applies. + + + + + Gets the identifier of the analysis tool rule to be suppressed. + + + Concatenated together, the and + properties form a unique check identifier. + + + + + Gets or sets the scope of the code that is relevant for the attribute. + + + The Scope property is an optional argument that specifies the metadata scope for which + the attribute is relevant. + + + + + Gets or sets a fully qualified path that represents the target of the attribute. + + + The property is an optional argument identifying the analysis target + of the attribute. An example value is "System.IO.Stream.ctor():System.Void". + Because it is fully qualified, it can be long, particularly for targets such as parameters. + The analysis tool user interface should be capable of automatically formatting the parameter. + + + + + Gets or sets an optional argument expanding on exclusion criteria. + + + The property is an optional argument that specifies additional + exclusion where the literal metadata target is not sufficiently precise. For example, + the cannot be applied within a method, + and it may be desirable to suppress a violation against a statement in the method that will + give a rule violation, but not against all statements in the method. + + + + + Gets or sets the justification for suppressing the code analysis message. + + + + + Indicates that the specified method requires the ability to generate new code at runtime, + for example through . + + + This allows tools to understand which methods are unsafe to call when compiling ahead of time. + + + + + Initializes a new instance of the class + with the specified message. + + + A message that contains information about the usage of dynamic code. + + + + + Gets a message that contains information about the usage of dynamic code. + + + + + Gets or sets an optional URL that contains more information about the method, + why it requires dynamic code, and what options a consumer has to deal with it. + + + + Specifies that null is allowed as an input even if the corresponding type disallows it. + + + Specifies that null is disallowed as an input even if the corresponding type allows it. + + + Specifies that an output may be null even if the corresponding type disallows it. + + + Specifies that an output will not be null even if the corresponding type allows it. Specifies that an input argument was not null when the call returns. + + + Specifies that when a method returns , the parameter may be null even if the corresponding type disallows it. + + + Initializes the attribute with the specified return value condition. + + The return value condition. If the method returns this value, the associated parameter may be null. + + + + Gets the return value condition. + + + Specifies that when a method returns , the parameter will not be null even if the corresponding type allows it. + + + Initializes the attribute with the specified return value condition. + + The return value condition. If the method returns this value, the associated parameter will not be null. + + + + Gets the return value condition. + + + Specifies that the output will be non-null if the named parameter is non-null. + + + Initializes the attribute with the associated parameter name. + + The associated parameter name. The output will be non-null if the argument to the parameter specified is non-null. + + + + Gets the associated parameter name. + + + Applied to a method that will never return under any circumstance. + + + Specifies that the method will not return if the associated Boolean parameter is passed the specified value. + + + Initializes the attribute with the specified parameter value. + + The condition parameter value. Code after the method will be considered unreachable by diagnostics if the argument to + the associated parameter matches this value. + + + + Gets the condition parameter value. + + + Specifies that the method or property will ensure that the listed field and property members have not-null values. + + + Initializes the attribute with a field or property member. + + The field or property member that is promised to be not-null. + + + + Initializes the attribute with the list of field and property members. + + The list of field and property members that are promised to be not-null. + + + + Gets field or property member names. + + + Specifies that the method or property will ensure that the listed field and property members have not-null values when returning with the specified return value condition. + + + Initializes the attribute with the specified return value condition and a field or property member. + + The return value condition. If the method returns this value, the associated parameter will not be null. + + + The field or property member that is promised to be not-null. + + + + Initializes the attribute with the specified return value condition and list of field and property members. + + The return value condition. If the method returns this value, the associated parameter will not be null. + + + The list of field and property members that are promised to be not-null. + + + + Gets the return value condition. + + + Gets field or property member names. + + + Multiple constructors accepting all given argument types have been found in type '{0}'. There should only be one applicable constructor. + + + Unable to resolve service for type '{0}' while attempting to activate '{1}'. + + + A suitable constructor for type '{0}' could not be located. Ensure the type is concrete and services are registered for all parameters of a public constructor. + + + No service for type '{0}' has been registered. + + + The service collection cannot be modified because it is read-only. + + + Implementation type cannot be '{0}' because it is indistinguishable from other services registered for '{1}'. + + + Multiple constructors were marked with {0}. + + + Constructor marked with {0} does not accept all given argument types. + + + Instances of abstract classes cannot be created. + + + Multiple constructors for type '{0}' were found with length {1}. + + + Unable to resolve service for type '{0}' while attempting to activate '{1}'. + + + A suitable constructor for type '{0}' could not be located. Ensure the type is concrete and all parameters of a public constructor are either registered as services or passed as arguments. Also ensure no extraneous arguments are provided. + + + Multiple constructors accepting all given argument types have been found in type '{0}'. There should only be one applicable constructor. + + + This service provider doesn't support keyed services. + + + This service descriptor is keyed. Your service provider may not support keyed services. + + + This service descriptor is not keyed. + + + diff --git a/packages/Microsoft.Extensions.DependencyInjection.Abstractions.8.0.0/lib/net6.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll b/packages/Microsoft.Extensions.DependencyInjection.Abstractions.8.0.0/lib/net6.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll new file mode 100644 index 0000000000000000000000000000000000000000..b6f0c274ba8ec72beabf6b5e67898e8cc5ac09d9 GIT binary patch literal 63264 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 literal 0 HcmV?d00001 diff --git a/packages/Microsoft.Extensions.DependencyInjection.Abstractions.8.0.0/lib/net6.0/Microsoft.Extensions.DependencyInjection.Abstractions.xml b/packages/Microsoft.Extensions.DependencyInjection.Abstractions.8.0.0/lib/net6.0/Microsoft.Extensions.DependencyInjection.Abstractions.xml new file mode 100644 index 0000000..ea06241 --- /dev/null +++ b/packages/Microsoft.Extensions.DependencyInjection.Abstractions.8.0.0/lib/net6.0/Microsoft.Extensions.DependencyInjection.Abstractions.xml @@ -0,0 +1,2207 @@ + + + + Microsoft.Extensions.DependencyInjection.Abstractions + + + + + Helper code for the various activator services. + + + + + Instantiate a type with constructor arguments provided directly and/or from an . + + The service provider used to resolve dependencies + The type to activate + Constructor arguments not provided by the . + An activated object of type instanceType + + + + Create a delegate that will instantiate a type with constructor arguments provided directly + and/or from an . + + The type to activate + + The types of objects, in order, that will be passed to the returned function as its second parameter + + + A factory that will instantiate instanceType using an + and an argument array containing objects matching the types defined in argumentTypes + + + + + Create a delegate that will instantiate a type with constructor arguments provided directly + and/or from an . + + The type to activate + + The types of objects, in order, that will be passed to the returned function as its second parameter + + + A factory that will instantiate type T using an + and an argument array containing objects matching the types defined in argumentTypes + + + + + Instantiate a type with constructor arguments provided directly and/or from an . + + The type to activate + The service provider used to resolve dependencies + Constructor arguments not provided by the . + An activated object of type T + + + + Retrieve an instance of the given type from the service provider. If one is not found then instantiate it directly. + + The type of the service + The service provider used to resolve dependencies + The resolved service or created instance + + + + Retrieve an instance of the given type from the service provider. If one is not found then instantiate it directly. + + The service provider + The type of the service + The resolved service or created instance + + + + Marks the constructor to be used when activating type using . + + + + + An implementation that implements . + + + + + Initializes a new instance of the struct. + Wraps an instance of . + + The instance to wrap. + + + + + + + + + + + + + Extension methods for adding and removing services to an . + + + + + Adds the specified to the . + + The . + The to add. + A reference to the current instance of . + + + + Adds a sequence of to the . + + The . + The s to add. + A reference to the current instance of . + + + + Adds the specified to the if the + service type hasn't already been registered. + + The . + The to add. + + + + Adds the specified to the if the + service type hasn't already been registered. + + The . + The s to add. + + + + Adds the specified as a service + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + + + + Adds the specified as a service + with the implementation + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The implementation type of the service. + + + + Adds the specified as a service + using the factory specified in + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The factory that creates the service. + + + + Adds the specified as a service + to the if the service type hasn't already been registered. + + The type of the service to add. + The . + + + + Adds the specified as a service + implementation type specified in + to the if the service type hasn't already been registered. + + The type of the service to add. + The type of the implementation to use. + The . + + + + Adds the specified as a service + using the factory specified in + to the if the service type hasn't already been registered. + + The type of the service to add. + The . + The factory that creates the service. + + + + Adds the specified as a service + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + + + + Adds the specified as a service + with the implementation + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The implementation type of the service. + + + + Adds the specified as a service + using the factory specified in + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The factory that creates the service. + + + + Adds the specified as a service + to the if the service type hasn't already been registered. + + The type of the service to add. + The . + + + + Adds the specified as a service + implementation type specified in + to the if the service type hasn't already been registered. + + The type of the service to add. + The type of the implementation to use. + The . + + + + Adds the specified as a service + using the factory specified in + to the if the service type hasn't already been registered. + + The type of the service to add. + The . + The factory that creates the service. + + + + Adds the specified as a service + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + + + + Adds the specified as a service + with the implementation + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The implementation type of the service. + + + + Adds the specified as a service + using the factory specified in + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The factory that creates the service. + + + + Adds the specified as a service + to the if the service type hasn't already been registered. + + The type of the service to add. + The . + + + + Adds the specified as a service + implementation type specified in + to the if the service type hasn't already been registered. + + The type of the service to add. + The type of the implementation to use. + The . + + + + Adds the specified as a service + with an instance specified in + to the if the service type hasn't already been registered. + + The type of the service to add. + The . + The instance of the service to add. + + + + Adds the specified as a service + using the factory specified in + to the if the service type hasn't already been registered. + + The type of the service to add. + The . + The factory that creates the service. + + + + Adds a if an existing descriptor with the same + and an implementation that does not already exist + in . + + The . + The . + + Use when registering a service implementation of a + service type that + supports multiple registrations of the same service type. Using + is not idempotent and can add + duplicate + instances if called twice. Using + will prevent registration + of multiple implementation types. + + + + + Adds the specified s if an existing descriptor with the same + and an implementation that does not already exist + in . + + The . + The s. + + Use when registering a service + implementation of a service type that + supports multiple registrations of the same service type. Using + is not idempotent and can add + duplicate + instances if called twice. Using + will prevent registration + of multiple implementation types. + + + + + Removes the first service in with the same service type + as and adds to the collection. + + The . + The to replace with. + The for chaining. + + + + Removes all services of type in . + + The . + The for chaining. + + + + Removes all services of type in . + + The . + The service type to remove. + The for chaining. + + + + Adds the specified as a service + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The service key. + + + + Adds the specified as a service + with the implementation + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The service key. + The implementation type of the service. + + + + Adds the specified as a service + using the factory specified in + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The service key. + The factory that creates the service. + + + + Adds the specified as a service + to the if the service type hasn't already been registered. + + The type of the service to add. + The . + The service key. + + + + Adds the specified as a service + implementation type specified in + to the if the service type hasn't already been registered. + + The type of the service to add. + The type of the implementation to use. + The . + The service key. + + + + Adds the specified as a service + using the factory specified in + to the if the service type hasn't already been registered. + + The type of the service to add. + The . + The service key. + The factory that creates the service. + + + + Adds the specified as a service + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The service key. + + + + Adds the specified as a service + with the implementation + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The service key. + The implementation type of the service. + + + + Adds the specified as a service + using the factory specified in + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The service key. + The factory that creates the service. + + + + Adds the specified as a service + to the if the service type hasn't already been registered. + + The type of the service to add. + The . + The service key. + + + + Adds the specified as a service + implementation type specified in + to the if the service type hasn't already been registered. + + The type of the service to add. + The type of the implementation to use. + The . + The service key. + + + + Adds the specified as a service + using the factory specified in + to the if the service type hasn't already been registered. + + The type of the service to add. + The . + The factory that creates the service. + The service key. + + + + Adds the specified as a service + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The service key. + + + + Adds the specified as a service + with the implementation + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The service key. + The implementation type of the service. + + + + Adds the specified as a service + using the factory specified in + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The service key. + The factory that creates the service. + + + + Adds the specified as a service + to the if the service type hasn't already been registered. + + The type of the service to add. + The . + The service key. + + + + Adds the specified as a service + implementation type specified in + to the if the service type hasn't already been registered. + + The type of the service to add. + The type of the implementation to use. + The . + The service key. + + + + Adds the specified as a service + with an instance specified in + to the if the service type hasn't already been registered. + + The type of the service to add. + The . + The service key. + The instance of the service to add. + + + + Adds the specified as a service + using the factory specified in + to the if the service type hasn't already been registered. + + The type of the service to add. + The . + The service key. + The factory that creates the service. + + + + Removes all services of type in . + + The . + The service key. + The for chaining. + + + + Removes all services of type in . + + The . + The service type to remove. + The service key. + The for chaining. + + + + Indicates that the parameter should be bound using the keyed service registered with the specified key. + + + + + Creates a new instance. + + The key of the keyed service to bind to. + + + + The key of the keyed service to bind to. + + + + + IKeyedServiceProvider is a service provider that can be used to retrieve services using a key in addition + to a type. + + + + + Gets the service object of the specified type. + + An object that specifies the type of service object to get. + An object that specifies the key of service object to get. + A service object of type serviceType. -or- null if there is no service object of type serviceType. + + + + Gets service of type from the implementing + this interface. + + An object that specifies the type of service object to get. + The of the service. + A service object of type . + Throws an exception if the cannot create the object. + + + + Statics for use with . + + + + + Represents a key that matches any key. + + + + + Specifies the contract for a collection of service descriptors. + + + + + Provides an extension point for creating a container specific builder and an . + + + + + Creates a container builder from an . + + The collection of services + A container builder that can be used to create an . + + + + Creates an from the container builder. + + The container builder + An + + + + Optional service used to determine if the specified type with the specified service key is available + from the . + + + + + Determines if the specified service type with the specified service key is available from the + . + + An object that specifies the type of service object to test. + The of the service. + true if the specified service is a available, false if it is not. + + + + Optional service used to determine if the specified type is available from the . + + + + + Determines if the specified service type is available from the . + + An object that specifies the type of service object to test. + true if the specified service is a available, false if it is not. + + + + The method ends the scope lifetime. Once Dispose + is called, any scoped services that have been resolved from + will be + disposed. + + + + + The used to resolve dependencies from the scope. + + + + + A factory for creating instances of , which is used to create + services within a scope. + + + + + Create an which + contains an used to resolve dependencies from a + newly created scope. + + + An controlling the + lifetime of the scope. Once this is disposed, any scoped services that have been resolved + from the + will also be disposed. + + + + + Optional contract used by + to resolve services if supported by . + + + + + Gets service of type from the implementing + this interface. + + An object that specifies the type of service object to get. + A service object of type . + Throws an exception if the cannot create the object. + + + + The result of . + + The to get service arguments from. + Additional constructor arguments. + The instantiated type. + + + + The result of . A delegate to specify a factory method to call to instantiate an instance of type `T` + + The type of the instance being returned + The to get service arguments from. + Additional constructor arguments. + An instance of T + + + + Default implementation of . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Makes this collection read-only. + + + After the collection is marked as read-only, any further attempt to modify it throws an . + + + + + Extension methods for adding services to an . + + + Extension methods for adding services to an . + + + + + Adds a transient service of the type specified in with an + implementation of the type specified in to the + specified . + + The to add the service to. + The type of the service to register. + The implementation type of the service. + A reference to this instance after the operation has completed. + + + + + Adds a transient service of the type specified in with a + factory specified in to the + specified . + + The to add the service to. + The type of the service to register. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a transient service of the type specified in with an + implementation type specified in to the + specified . + + The type of the service to add. + The type of the implementation to use. + The to add the service to. + A reference to this instance after the operation has completed. + + + + + Adds a transient service of the type specified in to the + specified . + + The to add the service to. + The type of the service to register and the implementation to use. + A reference to this instance after the operation has completed. + + + + + Adds a transient service of the type specified in to the + specified . + + The type of the service to add. + The to add the service to. + A reference to this instance after the operation has completed. + + + + + Adds a transient service of the type specified in with a + factory specified in to the + specified . + + The type of the service to add. + The to add the service to. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a transient service of the type specified in with an + implementation type specified in using the + factory specified in to the + specified . + + The type of the service to add. + The type of the implementation to use. + The to add the service to. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a scoped service of the type specified in with an + implementation of the type specified in to the + specified . + + The to add the service to. + The type of the service to register. + The implementation type of the service. + A reference to this instance after the operation has completed. + + + + + Adds a scoped service of the type specified in with a + factory specified in to the + specified . + + The to add the service to. + The type of the service to register. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a scoped service of the type specified in with an + implementation type specified in to the + specified . + + The type of the service to add. + The type of the implementation to use. + The to add the service to. + A reference to this instance after the operation has completed. + + + + + Adds a scoped service of the type specified in to the + specified . + + The to add the service to. + The type of the service to register and the implementation to use. + A reference to this instance after the operation has completed. + + + + + Adds a scoped service of the type specified in to the + specified . + + The type of the service to add. + The to add the service to. + A reference to this instance after the operation has completed. + + + + + Adds a scoped service of the type specified in with a + factory specified in to the + specified . + + The type of the service to add. + The to add the service to. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a scoped service of the type specified in with an + implementation type specified in using the + factory specified in to the + specified . + + The type of the service to add. + The type of the implementation to use. + The to add the service to. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in with an + implementation of the type specified in to the + specified . + + The to add the service to. + The type of the service to register. + The implementation type of the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in with a + factory specified in to the + specified . + + The to add the service to. + The type of the service to register. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in with an + implementation type specified in to the + specified . + + The type of the service to add. + The type of the implementation to use. + The to add the service to. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in to the + specified . + + The to add the service to. + The type of the service to register and the implementation to use. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in to the + specified . + + The type of the service to add. + The to add the service to. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in with a + factory specified in to the + specified . + + The type of the service to add. + The to add the service to. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in with an + implementation type specified in using the + factory specified in to the + specified . + + The type of the service to add. + The type of the implementation to use. + The to add the service to. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in with an + instance specified in to the + specified . + + The to add the service to. + The type of the service to register. + The instance of the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in with an + instance specified in to the + specified . + + The to add the service to. + The instance of the service. + A reference to this instance after the operation has completed. + + + + + Adds a transient service of the type specified in with an + implementation of the type specified in to the + specified . + + The to add the service to. + The type of the service to register. + The of the service. + The implementation type of the service. + A reference to this instance after the operation has completed. + + + + + Adds a transient service of the type specified in with a + factory specified in to the + specified . + + The to add the service to. + The type of the service to register. + The of the service. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a transient service of the type specified in with an + implementation type specified in to the + specified . + + The type of the service to add. + The type of the implementation to use. + The to add the service to. + The of the service. + A reference to this instance after the operation has completed. + + + + + Adds a transient service of the type specified in to the + specified . + + The to add the service to. + The type of the service to register and the implementation to use. + The of the service. + A reference to this instance after the operation has completed. + + + + + Adds a transient service of the type specified in to the + specified . + + The type of the service to add. + The to add the service to. + The of the service. + A reference to this instance after the operation has completed. + + + + + Adds a transient service of the type specified in with a + factory specified in to the + specified . + + The type of the service to add. + The to add the service to. + The of the service. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a transient service of the type specified in with an + implementation type specified in using the + factory specified in to the + specified . + + The type of the service to add. + The type of the implementation to use. + The to add the service to. + The of the service. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a scoped service of the type specified in with an + implementation of the type specified in to the + specified . + + The to add the service to. + The type of the service to register. + The of the service. + The implementation type of the service. + A reference to this instance after the operation has completed. + + + + + Adds a scoped service of the type specified in with a + factory specified in to the + specified . + + The to add the service to. + The type of the service to register. + The of the service. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a scoped service of the type specified in with an + implementation type specified in to the + specified . + + The type of the service to add. + The type of the implementation to use. + The to add the service to. + The of the service. + A reference to this instance after the operation has completed. + + + + + Adds a scoped service of the type specified in to the + specified . + + The to add the service to. + The type of the service to register and the implementation to use. + The of the service. + A reference to this instance after the operation has completed. + + + + + Adds a scoped service of the type specified in to the + specified . + + The type of the service to add. + The to add the service to. + The of the service. + A reference to this instance after the operation has completed. + + + + + Adds a scoped service of the type specified in with a + factory specified in to the + specified . + + The type of the service to add. + The to add the service to. + The of the service. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a scoped service of the type specified in with an + implementation type specified in using the + factory specified in to the + specified . + + The type of the service to add. + The type of the implementation to use. + The to add the service to. + The of the service. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in with an + implementation of the type specified in to the + specified . + + The to add the service to. + The type of the service to register. + The of the service. + The implementation type of the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in with a + factory specified in to the + specified . + + The to add the service to. + The type of the service to register. + The of the service. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in with an + implementation type specified in to the + specified . + + The type of the service to add. + The type of the implementation to use. + The to add the service to. + The of the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in to the + specified . + + The to add the service to. + The type of the service to register and the implementation to use. + The of the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in to the + specified . + + The type of the service to add. + The to add the service to. + The of the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in with a + factory specified in to the + specified . + + The type of the service to add. + The to add the service to. + The of the service. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in with an + implementation type specified in using the + factory specified in to the + specified . + + The type of the service to add. + The type of the implementation to use. + The to add the service to. + The of the service. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in with an + instance specified in to the + specified . + + The to add the service to. + The type of the service to register. + The of the service. + The instance of the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in with an + instance specified in to the + specified . + + The to add the service to. + The of the service. + The instance of the service. + A reference to this instance after the operation has completed. + + + + + Describes a service with its service type, implementation, and lifetime. + + + + + Initializes a new instance of with the specified . + + The of the service. + The implementing the service. + The of the service. + + + + Initializes a new instance of with the specified . + + The of the service. + The of the service. + The implementing the service. + The of the service. + + + + Initializes a new instance of with the specified + as a . + + The of the service. + The instance implementing the service. + + + + Initializes a new instance of with the specified + as a . + + The of the service. + The of the service. + The instance implementing the service. + + + + Initializes a new instance of with the specified . + + The of the service. + A factory used for creating service instances. + The of the service. + + + + Initializes a new instance of with the specified . + + The of the service. + The of the service. + A factory used for creating service instances. + The of the service. + + + + Gets the of the service. + + + + + Get the key of the service, if applicable. + + + + + Gets the of the service. + + + + + Gets the that implements the service. + + + + + Gets the that implements the service. + + + + + Gets the instance that implements the service. + + + + + Gets the instance that implements the service. + + + + + Gets the factory used for creating service instances. + + + + + Gets the factory used for creating Keyed service instances. + + + + + Indicates whether the service is a keyed service. + + + + + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The type of the implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The type of the implementation. + The of the service. + A new instance of . + + + + Creates an instance of with the specified + and + and the lifetime. + + The type of the service. + The type of the implementation. + A new instance of . + + + + Creates an instance of with the specified + and + and the lifetime. + + The type of the service. + The of the service. + The type of the implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + , + and the lifetime. + + The type of the service. + The type of the implementation. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + , + and the lifetime. + + The type of the service. + The type of the implementation. + The of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The type of the implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The type of the implementation. + The of the service. + A new instance of . + + + + Creates an instance of with the specified + and + and the lifetime. + + The type of the service. + The type of the implementation. + A new instance of . + + + + Creates an instance of with the specified + and + and the lifetime. + + The type of the service. + The of the service. + The type of the implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + , + and the lifetime. + + The type of the service. + The type of the implementation. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + , + and the lifetime. + + The type of the service. + The type of the implementation. + The of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The type of the implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The type of the implementation. + The of the service. + A new instance of . + + + + Creates an instance of with the specified + and + and the lifetime. + + The type of the service. + The type of the implementation. + A new instance of . + + + + Creates an instance of with the specified + and + and the lifetime. + + The type of the service. + The of the service. + The type of the implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + , + and the lifetime. + + The type of the service. + The type of the implementation. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + , + and the lifetime. + + The type of the service. + The type of the implementation. + The of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The instance of the implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The of the service. + The instance of the implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The instance of the implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The of the service. + The instance of the implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and . + + The type of the service. + The type of the implementation. + The lifetime of the service. + A new instance of . + + + + Creates an instance of with the specified + , , + and . + + The type of the service. + The of the service. + The type of the implementation. + The lifetime of the service. + A new instance of . + + + + Creates an instance of with the specified + , , + and . + + The type of the service. + A factory to create new instances of the service implementation. + The lifetime of the service. + A new instance of . + + + + Creates an instance of with the specified + , , + and . + + The type of the service. + The of the service. + A factory to create new instances of the service implementation. + The lifetime of the service. + A new instance of . + + + + ServiceKeyAttribute can be specified on a parameter to inject the key that was used for + registration/resolution. + + + + + Specifies the lifetime of a service in an . + + + + + Specifies that a single instance of the service will be created. + + + + + Specifies that a new instance of the service will be created for each scope. + + + In ASP.NET Core applications a scope is created around each server request. + + + + + Specifies that a new instance of the service will be created every time it is requested. + + + + + Extension methods for getting services from an . + + + + + Get service of type from the . + + The type of service object to get. + The to retrieve the service object from. + An object that specifies the key of service object to get. + A service object of type or null if there is no such service. + + + + Get service of type from the . + + The to retrieve the service object from. + An object that specifies the type of service object to get. + An object that specifies the key of service object to get. + A service object of type . + There is no service of type . + + + + Get service of type from the . + + The type of service object to get. + The to retrieve the service object from. + An object that specifies the key of service object to get. + A service object of type . + There is no service of type . + + + + Get an enumeration of services of type from the . + + The type of service object to get. + The to retrieve the services from. + An object that specifies the key of service object to get. + An enumeration of services of type . + + + + Get an enumeration of services of type from the . + + The to retrieve the services from. + An object that specifies the type of service object to get. + An object that specifies the key of service object to get. + An enumeration of services of type . + + + + Extension methods for getting services from an . + + + + + Get service of type from the . + + The type of service object to get. + The to retrieve the service object from. + A service object of type or null if there is no such service. + + + + Get service of type from the . + + The to retrieve the service object from. + An object that specifies the type of service object to get. + A service object of type . + There is no service of type . + + + + Get service of type from the . + + The type of service object to get. + The to retrieve the service object from. + A service object of type . + There is no service of type . + + + + Get an enumeration of services of type from the . + + The type of service object to get. + The to retrieve the services from. + An enumeration of services of type . + + + + Get an enumeration of services of type from the . + + The to retrieve the services from. + An object that specifies the type of service object to get. + An enumeration of services of type . + + + + Creates a new that can be used to resolve scoped services. + + The to create the scope from. + A that can be used to resolve scoped services. + + + + Creates a new that can be used to resolve scoped services. + + The to create the scope from. + An that can be used to resolve scoped services. + + + + Creates a new that can be used to resolve scoped services. + + The to create the scope from. + An that can be used to resolve scoped services. + + + Throws an if is null. + The reference type argument to validate as non-null. + The name of the parameter with which corresponds. + + + + Throws either an or an + if the specified string is or whitespace respectively. + + String to be checked for or whitespace. + The name of the parameter being checked. + The original value of . + + + + Indicates that the specified method requires the ability to generate new code at runtime, + for example through . + + + This allows tools to understand which methods are unsafe to call when compiling ahead of time. + + + + + Initializes a new instance of the class + with the specified message. + + + A message that contains information about the usage of dynamic code. + + + + + Gets a message that contains information about the usage of dynamic code. + + + + + Gets or sets an optional URL that contains more information about the method, + why it requires dynamic code, and what options a consumer has to deal with it. + + + + Multiple constructors accepting all given argument types have been found in type '{0}'. There should only be one applicable constructor. + + + Unable to resolve service for type '{0}' while attempting to activate '{1}'. + + + A suitable constructor for type '{0}' could not be located. Ensure the type is concrete and services are registered for all parameters of a public constructor. + + + No service for type '{0}' has been registered. + + + The service collection cannot be modified because it is read-only. + + + Implementation type cannot be '{0}' because it is indistinguishable from other services registered for '{1}'. + + + Multiple constructors were marked with {0}. + + + Constructor marked with {0} does not accept all given argument types. + + + Instances of abstract classes cannot be created. + + + Multiple constructors for type '{0}' were found with length {1}. + + + Unable to resolve service for type '{0}' while attempting to activate '{1}'. + + + A suitable constructor for type '{0}' could not be located. Ensure the type is concrete and all parameters of a public constructor are either registered as services or passed as arguments. Also ensure no extraneous arguments are provided. + + + Multiple constructors accepting all given argument types have been found in type '{0}'. There should only be one applicable constructor. + + + This service provider doesn't support keyed services. + + + This service descriptor is keyed. Your service provider may not support keyed services. + + + This service descriptor is not keyed. + + + + Attribute used to indicate a source generator should create a function for marshalling + arguments instead of relying on the runtime to generate an equivalent marshalling function at run-time. + + + This attribute is meaningless if the source generator associated with it is not enabled. + The current built-in source generator only supports C# and only supplies an implementation when + applied to static, partial, non-generic methods. + + + + + Initializes a new instance of the . + + Name of the library containing the import. + + + + Gets the name of the library containing the import. + + + + + Gets or sets the name of the entry point to be called. + + + + + Gets or sets how to marshal string arguments to the method. + + + If this field is set to a value other than , + must not be specified. + + + + + Gets or sets the used to control how string arguments to the method are marshalled. + + + If this field is specified, must not be specified + or must be set to . + + + + + Gets or sets whether the callee sets an error (SetLastError on Windows or errno + on other platforms) before returning from the attributed method. + + + + + Specifies how strings should be marshalled for generated p/invokes + + + + + Indicates the user is suppling a specific marshaller in . + + + + + Use the platform-provided UTF-8 marshaller. + + + + + Use the platform-provided UTF-16 marshaller. + + + + diff --git a/packages/Microsoft.Extensions.DependencyInjection.Abstractions.8.0.0/lib/net7.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll b/packages/Microsoft.Extensions.DependencyInjection.Abstractions.8.0.0/lib/net7.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll new file mode 100644 index 0000000000000000000000000000000000000000..0a8c0f5b6515a45a7466a0d782f7cf1628cf481c GIT binary patch literal 61600 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 + + + Microsoft.Extensions.DependencyInjection.Abstractions + + + + + Helper code for the various activator services. + + + + + Instantiate a type with constructor arguments provided directly and/or from an . + + The service provider used to resolve dependencies + The type to activate + Constructor arguments not provided by the . + An activated object of type instanceType + + + + Create a delegate that will instantiate a type with constructor arguments provided directly + and/or from an . + + The type to activate + + The types of objects, in order, that will be passed to the returned function as its second parameter + + + A factory that will instantiate instanceType using an + and an argument array containing objects matching the types defined in argumentTypes + + + + + Create a delegate that will instantiate a type with constructor arguments provided directly + and/or from an . + + The type to activate + + The types of objects, in order, that will be passed to the returned function as its second parameter + + + A factory that will instantiate type T using an + and an argument array containing objects matching the types defined in argumentTypes + + + + + Instantiate a type with constructor arguments provided directly and/or from an . + + The type to activate + The service provider used to resolve dependencies + Constructor arguments not provided by the . + An activated object of type T + + + + Retrieve an instance of the given type from the service provider. If one is not found then instantiate it directly. + + The type of the service + The service provider used to resolve dependencies + The resolved service or created instance + + + + Retrieve an instance of the given type from the service provider. If one is not found then instantiate it directly. + + The service provider + The type of the service + The resolved service or created instance + + + + Marks the constructor to be used when activating type using . + + + + + An implementation that implements . + + + + + Initializes a new instance of the struct. + Wraps an instance of . + + The instance to wrap. + + + + + + + + + + + + + Extension methods for adding and removing services to an . + + + + + Adds the specified to the . + + The . + The to add. + A reference to the current instance of . + + + + Adds a sequence of to the . + + The . + The s to add. + A reference to the current instance of . + + + + Adds the specified to the if the + service type hasn't already been registered. + + The . + The to add. + + + + Adds the specified to the if the + service type hasn't already been registered. + + The . + The s to add. + + + + Adds the specified as a service + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + + + + Adds the specified as a service + with the implementation + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The implementation type of the service. + + + + Adds the specified as a service + using the factory specified in + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The factory that creates the service. + + + + Adds the specified as a service + to the if the service type hasn't already been registered. + + The type of the service to add. + The . + + + + Adds the specified as a service + implementation type specified in + to the if the service type hasn't already been registered. + + The type of the service to add. + The type of the implementation to use. + The . + + + + Adds the specified as a service + using the factory specified in + to the if the service type hasn't already been registered. + + The type of the service to add. + The . + The factory that creates the service. + + + + Adds the specified as a service + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + + + + Adds the specified as a service + with the implementation + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The implementation type of the service. + + + + Adds the specified as a service + using the factory specified in + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The factory that creates the service. + + + + Adds the specified as a service + to the if the service type hasn't already been registered. + + The type of the service to add. + The . + + + + Adds the specified as a service + implementation type specified in + to the if the service type hasn't already been registered. + + The type of the service to add. + The type of the implementation to use. + The . + + + + Adds the specified as a service + using the factory specified in + to the if the service type hasn't already been registered. + + The type of the service to add. + The . + The factory that creates the service. + + + + Adds the specified as a service + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + + + + Adds the specified as a service + with the implementation + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The implementation type of the service. + + + + Adds the specified as a service + using the factory specified in + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The factory that creates the service. + + + + Adds the specified as a service + to the if the service type hasn't already been registered. + + The type of the service to add. + The . + + + + Adds the specified as a service + implementation type specified in + to the if the service type hasn't already been registered. + + The type of the service to add. + The type of the implementation to use. + The . + + + + Adds the specified as a service + with an instance specified in + to the if the service type hasn't already been registered. + + The type of the service to add. + The . + The instance of the service to add. + + + + Adds the specified as a service + using the factory specified in + to the if the service type hasn't already been registered. + + The type of the service to add. + The . + The factory that creates the service. + + + + Adds a if an existing descriptor with the same + and an implementation that does not already exist + in . + + The . + The . + + Use when registering a service implementation of a + service type that + supports multiple registrations of the same service type. Using + is not idempotent and can add + duplicate + instances if called twice. Using + will prevent registration + of multiple implementation types. + + + + + Adds the specified s if an existing descriptor with the same + and an implementation that does not already exist + in . + + The . + The s. + + Use when registering a service + implementation of a service type that + supports multiple registrations of the same service type. Using + is not idempotent and can add + duplicate + instances if called twice. Using + will prevent registration + of multiple implementation types. + + + + + Removes the first service in with the same service type + as and adds to the collection. + + The . + The to replace with. + The for chaining. + + + + Removes all services of type in . + + The . + The for chaining. + + + + Removes all services of type in . + + The . + The service type to remove. + The for chaining. + + + + Adds the specified as a service + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The service key. + + + + Adds the specified as a service + with the implementation + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The service key. + The implementation type of the service. + + + + Adds the specified as a service + using the factory specified in + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The service key. + The factory that creates the service. + + + + Adds the specified as a service + to the if the service type hasn't already been registered. + + The type of the service to add. + The . + The service key. + + + + Adds the specified as a service + implementation type specified in + to the if the service type hasn't already been registered. + + The type of the service to add. + The type of the implementation to use. + The . + The service key. + + + + Adds the specified as a service + using the factory specified in + to the if the service type hasn't already been registered. + + The type of the service to add. + The . + The service key. + The factory that creates the service. + + + + Adds the specified as a service + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The service key. + + + + Adds the specified as a service + with the implementation + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The service key. + The implementation type of the service. + + + + Adds the specified as a service + using the factory specified in + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The service key. + The factory that creates the service. + + + + Adds the specified as a service + to the if the service type hasn't already been registered. + + The type of the service to add. + The . + The service key. + + + + Adds the specified as a service + implementation type specified in + to the if the service type hasn't already been registered. + + The type of the service to add. + The type of the implementation to use. + The . + The service key. + + + + Adds the specified as a service + using the factory specified in + to the if the service type hasn't already been registered. + + The type of the service to add. + The . + The factory that creates the service. + The service key. + + + + Adds the specified as a service + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The service key. + + + + Adds the specified as a service + with the implementation + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The service key. + The implementation type of the service. + + + + Adds the specified as a service + using the factory specified in + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The service key. + The factory that creates the service. + + + + Adds the specified as a service + to the if the service type hasn't already been registered. + + The type of the service to add. + The . + The service key. + + + + Adds the specified as a service + implementation type specified in + to the if the service type hasn't already been registered. + + The type of the service to add. + The type of the implementation to use. + The . + The service key. + + + + Adds the specified as a service + with an instance specified in + to the if the service type hasn't already been registered. + + The type of the service to add. + The . + The service key. + The instance of the service to add. + + + + Adds the specified as a service + using the factory specified in + to the if the service type hasn't already been registered. + + The type of the service to add. + The . + The service key. + The factory that creates the service. + + + + Removes all services of type in . + + The . + The service key. + The for chaining. + + + + Removes all services of type in . + + The . + The service type to remove. + The service key. + The for chaining. + + + + Indicates that the parameter should be bound using the keyed service registered with the specified key. + + + + + Creates a new instance. + + The key of the keyed service to bind to. + + + + The key of the keyed service to bind to. + + + + + IKeyedServiceProvider is a service provider that can be used to retrieve services using a key in addition + to a type. + + + + + Gets the service object of the specified type. + + An object that specifies the type of service object to get. + An object that specifies the key of service object to get. + A service object of type serviceType. -or- null if there is no service object of type serviceType. + + + + Gets service of type from the implementing + this interface. + + An object that specifies the type of service object to get. + The of the service. + A service object of type . + Throws an exception if the cannot create the object. + + + + Statics for use with . + + + + + Represents a key that matches any key. + + + + + Specifies the contract for a collection of service descriptors. + + + + + Provides an extension point for creating a container specific builder and an . + + + + + Creates a container builder from an . + + The collection of services + A container builder that can be used to create an . + + + + Creates an from the container builder. + + The container builder + An + + + + Optional service used to determine if the specified type with the specified service key is available + from the . + + + + + Determines if the specified service type with the specified service key is available from the + . + + An object that specifies the type of service object to test. + The of the service. + true if the specified service is a available, false if it is not. + + + + Optional service used to determine if the specified type is available from the . + + + + + Determines if the specified service type is available from the . + + An object that specifies the type of service object to test. + true if the specified service is a available, false if it is not. + + + + The method ends the scope lifetime. Once Dispose + is called, any scoped services that have been resolved from + will be + disposed. + + + + + The used to resolve dependencies from the scope. + + + + + A factory for creating instances of , which is used to create + services within a scope. + + + + + Create an which + contains an used to resolve dependencies from a + newly created scope. + + + An controlling the + lifetime of the scope. Once this is disposed, any scoped services that have been resolved + from the + will also be disposed. + + + + + Optional contract used by + to resolve services if supported by . + + + + + Gets service of type from the implementing + this interface. + + An object that specifies the type of service object to get. + A service object of type . + Throws an exception if the cannot create the object. + + + + The result of . + + The to get service arguments from. + Additional constructor arguments. + The instantiated type. + + + + The result of . A delegate to specify a factory method to call to instantiate an instance of type `T` + + The type of the instance being returned + The to get service arguments from. + Additional constructor arguments. + An instance of T + + + + Default implementation of . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Makes this collection read-only. + + + After the collection is marked as read-only, any further attempt to modify it throws an . + + + + + Extension methods for adding services to an . + + + Extension methods for adding services to an . + + + + + Adds a transient service of the type specified in with an + implementation of the type specified in to the + specified . + + The to add the service to. + The type of the service to register. + The implementation type of the service. + A reference to this instance after the operation has completed. + + + + + Adds a transient service of the type specified in with a + factory specified in to the + specified . + + The to add the service to. + The type of the service to register. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a transient service of the type specified in with an + implementation type specified in to the + specified . + + The type of the service to add. + The type of the implementation to use. + The to add the service to. + A reference to this instance after the operation has completed. + + + + + Adds a transient service of the type specified in to the + specified . + + The to add the service to. + The type of the service to register and the implementation to use. + A reference to this instance after the operation has completed. + + + + + Adds a transient service of the type specified in to the + specified . + + The type of the service to add. + The to add the service to. + A reference to this instance after the operation has completed. + + + + + Adds a transient service of the type specified in with a + factory specified in to the + specified . + + The type of the service to add. + The to add the service to. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a transient service of the type specified in with an + implementation type specified in using the + factory specified in to the + specified . + + The type of the service to add. + The type of the implementation to use. + The to add the service to. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a scoped service of the type specified in with an + implementation of the type specified in to the + specified . + + The to add the service to. + The type of the service to register. + The implementation type of the service. + A reference to this instance after the operation has completed. + + + + + Adds a scoped service of the type specified in with a + factory specified in to the + specified . + + The to add the service to. + The type of the service to register. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a scoped service of the type specified in with an + implementation type specified in to the + specified . + + The type of the service to add. + The type of the implementation to use. + The to add the service to. + A reference to this instance after the operation has completed. + + + + + Adds a scoped service of the type specified in to the + specified . + + The to add the service to. + The type of the service to register and the implementation to use. + A reference to this instance after the operation has completed. + + + + + Adds a scoped service of the type specified in to the + specified . + + The type of the service to add. + The to add the service to. + A reference to this instance after the operation has completed. + + + + + Adds a scoped service of the type specified in with a + factory specified in to the + specified . + + The type of the service to add. + The to add the service to. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a scoped service of the type specified in with an + implementation type specified in using the + factory specified in to the + specified . + + The type of the service to add. + The type of the implementation to use. + The to add the service to. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in with an + implementation of the type specified in to the + specified . + + The to add the service to. + The type of the service to register. + The implementation type of the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in with a + factory specified in to the + specified . + + The to add the service to. + The type of the service to register. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in with an + implementation type specified in to the + specified . + + The type of the service to add. + The type of the implementation to use. + The to add the service to. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in to the + specified . + + The to add the service to. + The type of the service to register and the implementation to use. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in to the + specified . + + The type of the service to add. + The to add the service to. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in with a + factory specified in to the + specified . + + The type of the service to add. + The to add the service to. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in with an + implementation type specified in using the + factory specified in to the + specified . + + The type of the service to add. + The type of the implementation to use. + The to add the service to. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in with an + instance specified in to the + specified . + + The to add the service to. + The type of the service to register. + The instance of the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in with an + instance specified in to the + specified . + + The to add the service to. + The instance of the service. + A reference to this instance after the operation has completed. + + + + + Adds a transient service of the type specified in with an + implementation of the type specified in to the + specified . + + The to add the service to. + The type of the service to register. + The of the service. + The implementation type of the service. + A reference to this instance after the operation has completed. + + + + + Adds a transient service of the type specified in with a + factory specified in to the + specified . + + The to add the service to. + The type of the service to register. + The of the service. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a transient service of the type specified in with an + implementation type specified in to the + specified . + + The type of the service to add. + The type of the implementation to use. + The to add the service to. + The of the service. + A reference to this instance after the operation has completed. + + + + + Adds a transient service of the type specified in to the + specified . + + The to add the service to. + The type of the service to register and the implementation to use. + The of the service. + A reference to this instance after the operation has completed. + + + + + Adds a transient service of the type specified in to the + specified . + + The type of the service to add. + The to add the service to. + The of the service. + A reference to this instance after the operation has completed. + + + + + Adds a transient service of the type specified in with a + factory specified in to the + specified . + + The type of the service to add. + The to add the service to. + The of the service. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a transient service of the type specified in with an + implementation type specified in using the + factory specified in to the + specified . + + The type of the service to add. + The type of the implementation to use. + The to add the service to. + The of the service. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a scoped service of the type specified in with an + implementation of the type specified in to the + specified . + + The to add the service to. + The type of the service to register. + The of the service. + The implementation type of the service. + A reference to this instance after the operation has completed. + + + + + Adds a scoped service of the type specified in with a + factory specified in to the + specified . + + The to add the service to. + The type of the service to register. + The of the service. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a scoped service of the type specified in with an + implementation type specified in to the + specified . + + The type of the service to add. + The type of the implementation to use. + The to add the service to. + The of the service. + A reference to this instance after the operation has completed. + + + + + Adds a scoped service of the type specified in to the + specified . + + The to add the service to. + The type of the service to register and the implementation to use. + The of the service. + A reference to this instance after the operation has completed. + + + + + Adds a scoped service of the type specified in to the + specified . + + The type of the service to add. + The to add the service to. + The of the service. + A reference to this instance after the operation has completed. + + + + + Adds a scoped service of the type specified in with a + factory specified in to the + specified . + + The type of the service to add. + The to add the service to. + The of the service. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a scoped service of the type specified in with an + implementation type specified in using the + factory specified in to the + specified . + + The type of the service to add. + The type of the implementation to use. + The to add the service to. + The of the service. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in with an + implementation of the type specified in to the + specified . + + The to add the service to. + The type of the service to register. + The of the service. + The implementation type of the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in with a + factory specified in to the + specified . + + The to add the service to. + The type of the service to register. + The of the service. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in with an + implementation type specified in to the + specified . + + The type of the service to add. + The type of the implementation to use. + The to add the service to. + The of the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in to the + specified . + + The to add the service to. + The type of the service to register and the implementation to use. + The of the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in to the + specified . + + The type of the service to add. + The to add the service to. + The of the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in with a + factory specified in to the + specified . + + The type of the service to add. + The to add the service to. + The of the service. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in with an + implementation type specified in using the + factory specified in to the + specified . + + The type of the service to add. + The type of the implementation to use. + The to add the service to. + The of the service. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in with an + instance specified in to the + specified . + + The to add the service to. + The type of the service to register. + The of the service. + The instance of the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in with an + instance specified in to the + specified . + + The to add the service to. + The of the service. + The instance of the service. + A reference to this instance after the operation has completed. + + + + + Describes a service with its service type, implementation, and lifetime. + + + + + Initializes a new instance of with the specified . + + The of the service. + The implementing the service. + The of the service. + + + + Initializes a new instance of with the specified . + + The of the service. + The of the service. + The implementing the service. + The of the service. + + + + Initializes a new instance of with the specified + as a . + + The of the service. + The instance implementing the service. + + + + Initializes a new instance of with the specified + as a . + + The of the service. + The of the service. + The instance implementing the service. + + + + Initializes a new instance of with the specified . + + The of the service. + A factory used for creating service instances. + The of the service. + + + + Initializes a new instance of with the specified . + + The of the service. + The of the service. + A factory used for creating service instances. + The of the service. + + + + Gets the of the service. + + + + + Get the key of the service, if applicable. + + + + + Gets the of the service. + + + + + Gets the that implements the service. + + + + + Gets the that implements the service. + + + + + Gets the instance that implements the service. + + + + + Gets the instance that implements the service. + + + + + Gets the factory used for creating service instances. + + + + + Gets the factory used for creating Keyed service instances. + + + + + Indicates whether the service is a keyed service. + + + + + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The type of the implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The type of the implementation. + The of the service. + A new instance of . + + + + Creates an instance of with the specified + and + and the lifetime. + + The type of the service. + The type of the implementation. + A new instance of . + + + + Creates an instance of with the specified + and + and the lifetime. + + The type of the service. + The of the service. + The type of the implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + , + and the lifetime. + + The type of the service. + The type of the implementation. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + , + and the lifetime. + + The type of the service. + The type of the implementation. + The of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The type of the implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The type of the implementation. + The of the service. + A new instance of . + + + + Creates an instance of with the specified + and + and the lifetime. + + The type of the service. + The type of the implementation. + A new instance of . + + + + Creates an instance of with the specified + and + and the lifetime. + + The type of the service. + The of the service. + The type of the implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + , + and the lifetime. + + The type of the service. + The type of the implementation. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + , + and the lifetime. + + The type of the service. + The type of the implementation. + The of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The type of the implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The type of the implementation. + The of the service. + A new instance of . + + + + Creates an instance of with the specified + and + and the lifetime. + + The type of the service. + The type of the implementation. + A new instance of . + + + + Creates an instance of with the specified + and + and the lifetime. + + The type of the service. + The of the service. + The type of the implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + , + and the lifetime. + + The type of the service. + The type of the implementation. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + , + and the lifetime. + + The type of the service. + The type of the implementation. + The of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The instance of the implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The of the service. + The instance of the implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The instance of the implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The of the service. + The instance of the implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and . + + The type of the service. + The type of the implementation. + The lifetime of the service. + A new instance of . + + + + Creates an instance of with the specified + , , + and . + + The type of the service. + The of the service. + The type of the implementation. + The lifetime of the service. + A new instance of . + + + + Creates an instance of with the specified + , , + and . + + The type of the service. + A factory to create new instances of the service implementation. + The lifetime of the service. + A new instance of . + + + + Creates an instance of with the specified + , , + and . + + The type of the service. + The of the service. + A factory to create new instances of the service implementation. + The lifetime of the service. + A new instance of . + + + + ServiceKeyAttribute can be specified on a parameter to inject the key that was used for + registration/resolution. + + + + + Specifies the lifetime of a service in an . + + + + + Specifies that a single instance of the service will be created. + + + + + Specifies that a new instance of the service will be created for each scope. + + + In ASP.NET Core applications a scope is created around each server request. + + + + + Specifies that a new instance of the service will be created every time it is requested. + + + + + Extension methods for getting services from an . + + + + + Get service of type from the . + + The type of service object to get. + The to retrieve the service object from. + An object that specifies the key of service object to get. + A service object of type or null if there is no such service. + + + + Get service of type from the . + + The to retrieve the service object from. + An object that specifies the type of service object to get. + An object that specifies the key of service object to get. + A service object of type . + There is no service of type . + + + + Get service of type from the . + + The type of service object to get. + The to retrieve the service object from. + An object that specifies the key of service object to get. + A service object of type . + There is no service of type . + + + + Get an enumeration of services of type from the . + + The type of service object to get. + The to retrieve the services from. + An object that specifies the key of service object to get. + An enumeration of services of type . + + + + Get an enumeration of services of type from the . + + The to retrieve the services from. + An object that specifies the type of service object to get. + An object that specifies the key of service object to get. + An enumeration of services of type . + + + + Extension methods for getting services from an . + + + + + Get service of type from the . + + The type of service object to get. + The to retrieve the service object from. + A service object of type or null if there is no such service. + + + + Get service of type from the . + + The to retrieve the service object from. + An object that specifies the type of service object to get. + A service object of type . + There is no service of type . + + + + Get service of type from the . + + The type of service object to get. + The to retrieve the service object from. + A service object of type . + There is no service of type . + + + + Get an enumeration of services of type from the . + + The type of service object to get. + The to retrieve the services from. + An enumeration of services of type . + + + + Get an enumeration of services of type from the . + + The to retrieve the services from. + An object that specifies the type of service object to get. + An enumeration of services of type . + + + + Creates a new that can be used to resolve scoped services. + + The to create the scope from. + A that can be used to resolve scoped services. + + + + Creates a new that can be used to resolve scoped services. + + The to create the scope from. + An that can be used to resolve scoped services. + + + + Creates a new that can be used to resolve scoped services. + + The to create the scope from. + An that can be used to resolve scoped services. + + + Throws an if is null. + The reference type argument to validate as non-null. + The name of the parameter with which corresponds. + + + + Throws either an or an + if the specified string is or whitespace respectively. + + String to be checked for or whitespace. + The name of the parameter being checked. + The original value of . + + + Multiple constructors accepting all given argument types have been found in type '{0}'. There should only be one applicable constructor. + + + Unable to resolve service for type '{0}' while attempting to activate '{1}'. + + + A suitable constructor for type '{0}' could not be located. Ensure the type is concrete and services are registered for all parameters of a public constructor. + + + No service for type '{0}' has been registered. + + + The service collection cannot be modified because it is read-only. + + + Implementation type cannot be '{0}' because it is indistinguishable from other services registered for '{1}'. + + + Multiple constructors were marked with {0}. + + + Constructor marked with {0} does not accept all given argument types. + + + Instances of abstract classes cannot be created. + + + Multiple constructors for type '{0}' were found with length {1}. + + + Unable to resolve service for type '{0}' while attempting to activate '{1}'. + + + A suitable constructor for type '{0}' could not be located. Ensure the type is concrete and all parameters of a public constructor are either registered as services or passed as arguments. Also ensure no extraneous arguments are provided. + + + Multiple constructors accepting all given argument types have been found in type '{0}'. There should only be one applicable constructor. + + + This service provider doesn't support keyed services. + + + This service descriptor is keyed. Your service provider may not support keyed services. + + + This service descriptor is not keyed. + + + diff --git a/packages/Microsoft.Extensions.DependencyInjection.Abstractions.8.0.0/lib/net8.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll b/packages/Microsoft.Extensions.DependencyInjection.Abstractions.8.0.0/lib/net8.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll new file mode 100644 index 0000000000000000000000000000000000000000..0b3c8e9ac47ae31926c925fa85ec0bab42d751bf GIT binary patch literal 64288 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 literal 0 HcmV?d00001 diff --git a/packages/Microsoft.Extensions.DependencyInjection.Abstractions.8.0.0/lib/net8.0/Microsoft.Extensions.DependencyInjection.Abstractions.xml b/packages/Microsoft.Extensions.DependencyInjection.Abstractions.8.0.0/lib/net8.0/Microsoft.Extensions.DependencyInjection.Abstractions.xml new file mode 100644 index 0000000..306d438 --- /dev/null +++ b/packages/Microsoft.Extensions.DependencyInjection.Abstractions.8.0.0/lib/net8.0/Microsoft.Extensions.DependencyInjection.Abstractions.xml @@ -0,0 +1,2112 @@ + + + + Microsoft.Extensions.DependencyInjection.Abstractions + + + + + Helper code for the various activator services. + + + + + Instantiate a type with constructor arguments provided directly and/or from an . + + The service provider used to resolve dependencies + The type to activate + Constructor arguments not provided by the . + An activated object of type instanceType + + + + Create a delegate that will instantiate a type with constructor arguments provided directly + and/or from an . + + The type to activate + + The types of objects, in order, that will be passed to the returned function as its second parameter + + + A factory that will instantiate instanceType using an + and an argument array containing objects matching the types defined in argumentTypes + + + + + Create a delegate that will instantiate a type with constructor arguments provided directly + and/or from an . + + The type to activate + + The types of objects, in order, that will be passed to the returned function as its second parameter + + + A factory that will instantiate type T using an + and an argument array containing objects matching the types defined in argumentTypes + + + + + Instantiate a type with constructor arguments provided directly and/or from an . + + The type to activate + The service provider used to resolve dependencies + Constructor arguments not provided by the . + An activated object of type T + + + + Retrieve an instance of the given type from the service provider. If one is not found then instantiate it directly. + + The type of the service + The service provider used to resolve dependencies + The resolved service or created instance + + + + Retrieve an instance of the given type from the service provider. If one is not found then instantiate it directly. + + The service provider + The type of the service + The resolved service or created instance + + + + For consistency with the expression-based factory, throw NullReferenceException. + + + + + Marks the constructor to be used when activating type using . + + + + + An implementation that implements . + + + + + Initializes a new instance of the struct. + Wraps an instance of . + + The instance to wrap. + + + + + + + + + + + + + Extension methods for adding and removing services to an . + + + + + Adds the specified to the . + + The . + The to add. + A reference to the current instance of . + + + + Adds a sequence of to the . + + The . + The s to add. + A reference to the current instance of . + + + + Adds the specified to the if the + service type hasn't already been registered. + + The . + The to add. + + + + Adds the specified to the if the + service type hasn't already been registered. + + The . + The s to add. + + + + Adds the specified as a service + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + + + + Adds the specified as a service + with the implementation + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The implementation type of the service. + + + + Adds the specified as a service + using the factory specified in + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The factory that creates the service. + + + + Adds the specified as a service + to the if the service type hasn't already been registered. + + The type of the service to add. + The . + + + + Adds the specified as a service + implementation type specified in + to the if the service type hasn't already been registered. + + The type of the service to add. + The type of the implementation to use. + The . + + + + Adds the specified as a service + using the factory specified in + to the if the service type hasn't already been registered. + + The type of the service to add. + The . + The factory that creates the service. + + + + Adds the specified as a service + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + + + + Adds the specified as a service + with the implementation + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The implementation type of the service. + + + + Adds the specified as a service + using the factory specified in + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The factory that creates the service. + + + + Adds the specified as a service + to the if the service type hasn't already been registered. + + The type of the service to add. + The . + + + + Adds the specified as a service + implementation type specified in + to the if the service type hasn't already been registered. + + The type of the service to add. + The type of the implementation to use. + The . + + + + Adds the specified as a service + using the factory specified in + to the if the service type hasn't already been registered. + + The type of the service to add. + The . + The factory that creates the service. + + + + Adds the specified as a service + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + + + + Adds the specified as a service + with the implementation + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The implementation type of the service. + + + + Adds the specified as a service + using the factory specified in + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The factory that creates the service. + + + + Adds the specified as a service + to the if the service type hasn't already been registered. + + The type of the service to add. + The . + + + + Adds the specified as a service + implementation type specified in + to the if the service type hasn't already been registered. + + The type of the service to add. + The type of the implementation to use. + The . + + + + Adds the specified as a service + with an instance specified in + to the if the service type hasn't already been registered. + + The type of the service to add. + The . + The instance of the service to add. + + + + Adds the specified as a service + using the factory specified in + to the if the service type hasn't already been registered. + + The type of the service to add. + The . + The factory that creates the service. + + + + Adds a if an existing descriptor with the same + and an implementation that does not already exist + in . + + The . + The . + + Use when registering a service implementation of a + service type that + supports multiple registrations of the same service type. Using + is not idempotent and can add + duplicate + instances if called twice. Using + will prevent registration + of multiple implementation types. + + + + + Adds the specified s if an existing descriptor with the same + and an implementation that does not already exist + in . + + The . + The s. + + Use when registering a service + implementation of a service type that + supports multiple registrations of the same service type. Using + is not idempotent and can add + duplicate + instances if called twice. Using + will prevent registration + of multiple implementation types. + + + + + Removes the first service in with the same service type + as and adds to the collection. + + The . + The to replace with. + The for chaining. + + + + Removes all services of type in . + + The . + The for chaining. + + + + Removes all services of type in . + + The . + The service type to remove. + The for chaining. + + + + Adds the specified as a service + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The service key. + + + + Adds the specified as a service + with the implementation + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The service key. + The implementation type of the service. + + + + Adds the specified as a service + using the factory specified in + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The service key. + The factory that creates the service. + + + + Adds the specified as a service + to the if the service type hasn't already been registered. + + The type of the service to add. + The . + The service key. + + + + Adds the specified as a service + implementation type specified in + to the if the service type hasn't already been registered. + + The type of the service to add. + The type of the implementation to use. + The . + The service key. + + + + Adds the specified as a service + using the factory specified in + to the if the service type hasn't already been registered. + + The type of the service to add. + The . + The service key. + The factory that creates the service. + + + + Adds the specified as a service + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The service key. + + + + Adds the specified as a service + with the implementation + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The service key. + The implementation type of the service. + + + + Adds the specified as a service + using the factory specified in + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The service key. + The factory that creates the service. + + + + Adds the specified as a service + to the if the service type hasn't already been registered. + + The type of the service to add. + The . + The service key. + + + + Adds the specified as a service + implementation type specified in + to the if the service type hasn't already been registered. + + The type of the service to add. + The type of the implementation to use. + The . + The service key. + + + + Adds the specified as a service + using the factory specified in + to the if the service type hasn't already been registered. + + The type of the service to add. + The . + The factory that creates the service. + The service key. + + + + Adds the specified as a service + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The service key. + + + + Adds the specified as a service + with the implementation + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The service key. + The implementation type of the service. + + + + Adds the specified as a service + using the factory specified in + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The service key. + The factory that creates the service. + + + + Adds the specified as a service + to the if the service type hasn't already been registered. + + The type of the service to add. + The . + The service key. + + + + Adds the specified as a service + implementation type specified in + to the if the service type hasn't already been registered. + + The type of the service to add. + The type of the implementation to use. + The . + The service key. + + + + Adds the specified as a service + with an instance specified in + to the if the service type hasn't already been registered. + + The type of the service to add. + The . + The service key. + The instance of the service to add. + + + + Adds the specified as a service + using the factory specified in + to the if the service type hasn't already been registered. + + The type of the service to add. + The . + The service key. + The factory that creates the service. + + + + Removes all services of type in . + + The . + The service key. + The for chaining. + + + + Removes all services of type in . + + The . + The service type to remove. + The service key. + The for chaining. + + + + Indicates that the parameter should be bound using the keyed service registered with the specified key. + + + + + Creates a new instance. + + The key of the keyed service to bind to. + + + + The key of the keyed service to bind to. + + + + + IKeyedServiceProvider is a service provider that can be used to retrieve services using a key in addition + to a type. + + + + + Gets the service object of the specified type. + + An object that specifies the type of service object to get. + An object that specifies the key of service object to get. + A service object of type serviceType. -or- null if there is no service object of type serviceType. + + + + Gets service of type from the implementing + this interface. + + An object that specifies the type of service object to get. + The of the service. + A service object of type . + Throws an exception if the cannot create the object. + + + + Statics for use with . + + + + + Represents a key that matches any key. + + + + + Specifies the contract for a collection of service descriptors. + + + + + Provides an extension point for creating a container specific builder and an . + + + + + Creates a container builder from an . + + The collection of services + A container builder that can be used to create an . + + + + Creates an from the container builder. + + The container builder + An + + + + Optional service used to determine if the specified type with the specified service key is available + from the . + + + + + Determines if the specified service type with the specified service key is available from the + . + + An object that specifies the type of service object to test. + The of the service. + true if the specified service is a available, false if it is not. + + + + Optional service used to determine if the specified type is available from the . + + + + + Determines if the specified service type is available from the . + + An object that specifies the type of service object to test. + true if the specified service is a available, false if it is not. + + + + The method ends the scope lifetime. Once Dispose + is called, any scoped services that have been resolved from + will be + disposed. + + + + + The used to resolve dependencies from the scope. + + + + + A factory for creating instances of , which is used to create + services within a scope. + + + + + Create an which + contains an used to resolve dependencies from a + newly created scope. + + + An controlling the + lifetime of the scope. Once this is disposed, any scoped services that have been resolved + from the + will also be disposed. + + + + + Optional contract used by + to resolve services if supported by . + + + + + Gets service of type from the implementing + this interface. + + An object that specifies the type of service object to get. + A service object of type . + Throws an exception if the cannot create the object. + + + + The result of . + + The to get service arguments from. + Additional constructor arguments. + The instantiated type. + + + + The result of . A delegate to specify a factory method to call to instantiate an instance of type `T` + + The type of the instance being returned + The to get service arguments from. + Additional constructor arguments. + An instance of T + + + + Default implementation of . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Makes this collection read-only. + + + After the collection is marked as read-only, any further attempt to modify it throws an . + + + + + Extension methods for adding services to an . + + + Extension methods for adding services to an . + + + + + Adds a transient service of the type specified in with an + implementation of the type specified in to the + specified . + + The to add the service to. + The type of the service to register. + The implementation type of the service. + A reference to this instance after the operation has completed. + + + + + Adds a transient service of the type specified in with a + factory specified in to the + specified . + + The to add the service to. + The type of the service to register. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a transient service of the type specified in with an + implementation type specified in to the + specified . + + The type of the service to add. + The type of the implementation to use. + The to add the service to. + A reference to this instance after the operation has completed. + + + + + Adds a transient service of the type specified in to the + specified . + + The to add the service to. + The type of the service to register and the implementation to use. + A reference to this instance after the operation has completed. + + + + + Adds a transient service of the type specified in to the + specified . + + The type of the service to add. + The to add the service to. + A reference to this instance after the operation has completed. + + + + + Adds a transient service of the type specified in with a + factory specified in to the + specified . + + The type of the service to add. + The to add the service to. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a transient service of the type specified in with an + implementation type specified in using the + factory specified in to the + specified . + + The type of the service to add. + The type of the implementation to use. + The to add the service to. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a scoped service of the type specified in with an + implementation of the type specified in to the + specified . + + The to add the service to. + The type of the service to register. + The implementation type of the service. + A reference to this instance after the operation has completed. + + + + + Adds a scoped service of the type specified in with a + factory specified in to the + specified . + + The to add the service to. + The type of the service to register. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a scoped service of the type specified in with an + implementation type specified in to the + specified . + + The type of the service to add. + The type of the implementation to use. + The to add the service to. + A reference to this instance after the operation has completed. + + + + + Adds a scoped service of the type specified in to the + specified . + + The to add the service to. + The type of the service to register and the implementation to use. + A reference to this instance after the operation has completed. + + + + + Adds a scoped service of the type specified in to the + specified . + + The type of the service to add. + The to add the service to. + A reference to this instance after the operation has completed. + + + + + Adds a scoped service of the type specified in with a + factory specified in to the + specified . + + The type of the service to add. + The to add the service to. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a scoped service of the type specified in with an + implementation type specified in using the + factory specified in to the + specified . + + The type of the service to add. + The type of the implementation to use. + The to add the service to. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in with an + implementation of the type specified in to the + specified . + + The to add the service to. + The type of the service to register. + The implementation type of the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in with a + factory specified in to the + specified . + + The to add the service to. + The type of the service to register. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in with an + implementation type specified in to the + specified . + + The type of the service to add. + The type of the implementation to use. + The to add the service to. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in to the + specified . + + The to add the service to. + The type of the service to register and the implementation to use. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in to the + specified . + + The type of the service to add. + The to add the service to. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in with a + factory specified in to the + specified . + + The type of the service to add. + The to add the service to. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in with an + implementation type specified in using the + factory specified in to the + specified . + + The type of the service to add. + The type of the implementation to use. + The to add the service to. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in with an + instance specified in to the + specified . + + The to add the service to. + The type of the service to register. + The instance of the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in with an + instance specified in to the + specified . + + The to add the service to. + The instance of the service. + A reference to this instance after the operation has completed. + + + + + Adds a transient service of the type specified in with an + implementation of the type specified in to the + specified . + + The to add the service to. + The type of the service to register. + The of the service. + The implementation type of the service. + A reference to this instance after the operation has completed. + + + + + Adds a transient service of the type specified in with a + factory specified in to the + specified . + + The to add the service to. + The type of the service to register. + The of the service. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a transient service of the type specified in with an + implementation type specified in to the + specified . + + The type of the service to add. + The type of the implementation to use. + The to add the service to. + The of the service. + A reference to this instance after the operation has completed. + + + + + Adds a transient service of the type specified in to the + specified . + + The to add the service to. + The type of the service to register and the implementation to use. + The of the service. + A reference to this instance after the operation has completed. + + + + + Adds a transient service of the type specified in to the + specified . + + The type of the service to add. + The to add the service to. + The of the service. + A reference to this instance after the operation has completed. + + + + + Adds a transient service of the type specified in with a + factory specified in to the + specified . + + The type of the service to add. + The to add the service to. + The of the service. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a transient service of the type specified in with an + implementation type specified in using the + factory specified in to the + specified . + + The type of the service to add. + The type of the implementation to use. + The to add the service to. + The of the service. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a scoped service of the type specified in with an + implementation of the type specified in to the + specified . + + The to add the service to. + The type of the service to register. + The of the service. + The implementation type of the service. + A reference to this instance after the operation has completed. + + + + + Adds a scoped service of the type specified in with a + factory specified in to the + specified . + + The to add the service to. + The type of the service to register. + The of the service. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a scoped service of the type specified in with an + implementation type specified in to the + specified . + + The type of the service to add. + The type of the implementation to use. + The to add the service to. + The of the service. + A reference to this instance after the operation has completed. + + + + + Adds a scoped service of the type specified in to the + specified . + + The to add the service to. + The type of the service to register and the implementation to use. + The of the service. + A reference to this instance after the operation has completed. + + + + + Adds a scoped service of the type specified in to the + specified . + + The type of the service to add. + The to add the service to. + The of the service. + A reference to this instance after the operation has completed. + + + + + Adds a scoped service of the type specified in with a + factory specified in to the + specified . + + The type of the service to add. + The to add the service to. + The of the service. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a scoped service of the type specified in with an + implementation type specified in using the + factory specified in to the + specified . + + The type of the service to add. + The type of the implementation to use. + The to add the service to. + The of the service. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in with an + implementation of the type specified in to the + specified . + + The to add the service to. + The type of the service to register. + The of the service. + The implementation type of the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in with a + factory specified in to the + specified . + + The to add the service to. + The type of the service to register. + The of the service. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in with an + implementation type specified in to the + specified . + + The type of the service to add. + The type of the implementation to use. + The to add the service to. + The of the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in to the + specified . + + The to add the service to. + The type of the service to register and the implementation to use. + The of the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in to the + specified . + + The type of the service to add. + The to add the service to. + The of the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in with a + factory specified in to the + specified . + + The type of the service to add. + The to add the service to. + The of the service. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in with an + implementation type specified in using the + factory specified in to the + specified . + + The type of the service to add. + The type of the implementation to use. + The to add the service to. + The of the service. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in with an + instance specified in to the + specified . + + The to add the service to. + The type of the service to register. + The of the service. + The instance of the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in with an + instance specified in to the + specified . + + The to add the service to. + The of the service. + The instance of the service. + A reference to this instance after the operation has completed. + + + + + Describes a service with its service type, implementation, and lifetime. + + + + + Initializes a new instance of with the specified . + + The of the service. + The implementing the service. + The of the service. + + + + Initializes a new instance of with the specified . + + The of the service. + The of the service. + The implementing the service. + The of the service. + + + + Initializes a new instance of with the specified + as a . + + The of the service. + The instance implementing the service. + + + + Initializes a new instance of with the specified + as a . + + The of the service. + The of the service. + The instance implementing the service. + + + + Initializes a new instance of with the specified . + + The of the service. + A factory used for creating service instances. + The of the service. + + + + Initializes a new instance of with the specified . + + The of the service. + The of the service. + A factory used for creating service instances. + The of the service. + + + + Gets the of the service. + + + + + Get the key of the service, if applicable. + + + + + Gets the of the service. + + + + + Gets the that implements the service. + + + + + Gets the that implements the service. + + + + + Gets the instance that implements the service. + + + + + Gets the instance that implements the service. + + + + + Gets the factory used for creating service instances. + + + + + Gets the factory used for creating Keyed service instances. + + + + + Indicates whether the service is a keyed service. + + + + + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The type of the implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The type of the implementation. + The of the service. + A new instance of . + + + + Creates an instance of with the specified + and + and the lifetime. + + The type of the service. + The type of the implementation. + A new instance of . + + + + Creates an instance of with the specified + and + and the lifetime. + + The type of the service. + The of the service. + The type of the implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + , + and the lifetime. + + The type of the service. + The type of the implementation. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + , + and the lifetime. + + The type of the service. + The type of the implementation. + The of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The type of the implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The type of the implementation. + The of the service. + A new instance of . + + + + Creates an instance of with the specified + and + and the lifetime. + + The type of the service. + The type of the implementation. + A new instance of . + + + + Creates an instance of with the specified + and + and the lifetime. + + The type of the service. + The of the service. + The type of the implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + , + and the lifetime. + + The type of the service. + The type of the implementation. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + , + and the lifetime. + + The type of the service. + The type of the implementation. + The of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The type of the implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The type of the implementation. + The of the service. + A new instance of . + + + + Creates an instance of with the specified + and + and the lifetime. + + The type of the service. + The type of the implementation. + A new instance of . + + + + Creates an instance of with the specified + and + and the lifetime. + + The type of the service. + The of the service. + The type of the implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + , + and the lifetime. + + The type of the service. + The type of the implementation. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + , + and the lifetime. + + The type of the service. + The type of the implementation. + The of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The instance of the implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The of the service. + The instance of the implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The instance of the implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The of the service. + The instance of the implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and . + + The type of the service. + The type of the implementation. + The lifetime of the service. + A new instance of . + + + + Creates an instance of with the specified + , , + and . + + The type of the service. + The of the service. + The type of the implementation. + The lifetime of the service. + A new instance of . + + + + Creates an instance of with the specified + , , + and . + + The type of the service. + A factory to create new instances of the service implementation. + The lifetime of the service. + A new instance of . + + + + Creates an instance of with the specified + , , + and . + + The type of the service. + The of the service. + A factory to create new instances of the service implementation. + The lifetime of the service. + A new instance of . + + + + ServiceKeyAttribute can be specified on a parameter to inject the key that was used for + registration/resolution. + + + + + Specifies the lifetime of a service in an . + + + + + Specifies that a single instance of the service will be created. + + + + + Specifies that a new instance of the service will be created for each scope. + + + In ASP.NET Core applications a scope is created around each server request. + + + + + Specifies that a new instance of the service will be created every time it is requested. + + + + + Extension methods for getting services from an . + + + + + Get service of type from the . + + The type of service object to get. + The to retrieve the service object from. + An object that specifies the key of service object to get. + A service object of type or null if there is no such service. + + + + Get service of type from the . + + The to retrieve the service object from. + An object that specifies the type of service object to get. + An object that specifies the key of service object to get. + A service object of type . + There is no service of type . + + + + Get service of type from the . + + The type of service object to get. + The to retrieve the service object from. + An object that specifies the key of service object to get. + A service object of type . + There is no service of type . + + + + Get an enumeration of services of type from the . + + The type of service object to get. + The to retrieve the services from. + An object that specifies the key of service object to get. + An enumeration of services of type . + + + + Get an enumeration of services of type from the . + + The to retrieve the services from. + An object that specifies the type of service object to get. + An object that specifies the key of service object to get. + An enumeration of services of type . + + + + Extension methods for getting services from an . + + + + + Get service of type from the . + + The type of service object to get. + The to retrieve the service object from. + A service object of type or null if there is no such service. + + + + Get service of type from the . + + The to retrieve the service object from. + An object that specifies the type of service object to get. + A service object of type . + There is no service of type . + + + + Get service of type from the . + + The type of service object to get. + The to retrieve the service object from. + A service object of type . + There is no service of type . + + + + Get an enumeration of services of type from the . + + The type of service object to get. + The to retrieve the services from. + An enumeration of services of type . + + + + Get an enumeration of services of type from the . + + The to retrieve the services from. + An object that specifies the type of service object to get. + An enumeration of services of type . + + + + Creates a new that can be used to resolve scoped services. + + The to create the scope from. + A that can be used to resolve scoped services. + + + + Creates a new that can be used to resolve scoped services. + + The to create the scope from. + An that can be used to resolve scoped services. + + + + Creates a new that can be used to resolve scoped services. + + The to create the scope from. + An that can be used to resolve scoped services. + + + Throws an if is null. + The reference type argument to validate as non-null. + The name of the parameter with which corresponds. + + + + Throws either an or an + if the specified string is or whitespace respectively. + + String to be checked for or whitespace. + The name of the parameter being checked. + The original value of . + + + Multiple constructors accepting all given argument types have been found in type '{0}'. There should only be one applicable constructor. + + + Unable to resolve service for type '{0}' while attempting to activate '{1}'. + + + A suitable constructor for type '{0}' could not be located. Ensure the type is concrete and services are registered for all parameters of a public constructor. + + + No service for type '{0}' has been registered. + + + The service collection cannot be modified because it is read-only. + + + Implementation type cannot be '{0}' because it is indistinguishable from other services registered for '{1}'. + + + Multiple constructors were marked with {0}. + + + Constructor marked with {0} does not accept all given argument types. + + + Instances of abstract classes cannot be created. + + + Multiple constructors for type '{0}' were found with length {1}. + + + Unable to resolve service for type '{0}' while attempting to activate '{1}'. + + + A suitable constructor for type '{0}' could not be located. Ensure the type is concrete and all parameters of a public constructor are either registered as services or passed as arguments. Also ensure no extraneous arguments are provided. + + + Multiple constructors accepting all given argument types have been found in type '{0}'. There should only be one applicable constructor. + + + This service provider doesn't support keyed services. + + + This service descriptor is keyed. Your service provider may not support keyed services. + + + This service descriptor is not keyed. + + + diff --git a/packages/Microsoft.Extensions.DependencyInjection.Abstractions.8.0.0/lib/netstandard2.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll b/packages/Microsoft.Extensions.DependencyInjection.Abstractions.8.0.0/lib/netstandard2.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll new file mode 100644 index 0000000000000000000000000000000000000000..73dde7dcd28ca1145f33e778f43d553f3cefe57b GIT binary patch literal 64176 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 `SLSJMuh4OUGij|g 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 + + + Microsoft.Extensions.DependencyInjection.Abstractions + + + + + Helper code for the various activator services. + + + + + Instantiate a type with constructor arguments provided directly and/or from an . + + The service provider used to resolve dependencies + The type to activate + Constructor arguments not provided by the . + An activated object of type instanceType + + + + Create a delegate that will instantiate a type with constructor arguments provided directly + and/or from an . + + The type to activate + + The types of objects, in order, that will be passed to the returned function as its second parameter + + + A factory that will instantiate instanceType using an + and an argument array containing objects matching the types defined in argumentTypes + + + + + Create a delegate that will instantiate a type with constructor arguments provided directly + and/or from an . + + The type to activate + + The types of objects, in order, that will be passed to the returned function as its second parameter + + + A factory that will instantiate type T using an + and an argument array containing objects matching the types defined in argumentTypes + + + + + Instantiate a type with constructor arguments provided directly and/or from an . + + The type to activate + The service provider used to resolve dependencies + Constructor arguments not provided by the . + An activated object of type T + + + + Retrieve an instance of the given type from the service provider. If one is not found then instantiate it directly. + + The type of the service + The service provider used to resolve dependencies + The resolved service or created instance + + + + Retrieve an instance of the given type from the service provider. If one is not found then instantiate it directly. + + The service provider + The type of the service + The resolved service or created instance + + + + Marks the constructor to be used when activating type using . + + + + + An implementation that implements . + + + + + Initializes a new instance of the struct. + Wraps an instance of . + + The instance to wrap. + + + + + + + + + + + + + Extension methods for adding and removing services to an . + + + + + Adds the specified to the . + + The . + The to add. + A reference to the current instance of . + + + + Adds a sequence of to the . + + The . + The s to add. + A reference to the current instance of . + + + + Adds the specified to the if the + service type hasn't already been registered. + + The . + The to add. + + + + Adds the specified to the if the + service type hasn't already been registered. + + The . + The s to add. + + + + Adds the specified as a service + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + + + + Adds the specified as a service + with the implementation + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The implementation type of the service. + + + + Adds the specified as a service + using the factory specified in + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The factory that creates the service. + + + + Adds the specified as a service + to the if the service type hasn't already been registered. + + The type of the service to add. + The . + + + + Adds the specified as a service + implementation type specified in + to the if the service type hasn't already been registered. + + The type of the service to add. + The type of the implementation to use. + The . + + + + Adds the specified as a service + using the factory specified in + to the if the service type hasn't already been registered. + + The type of the service to add. + The . + The factory that creates the service. + + + + Adds the specified as a service + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + + + + Adds the specified as a service + with the implementation + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The implementation type of the service. + + + + Adds the specified as a service + using the factory specified in + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The factory that creates the service. + + + + Adds the specified as a service + to the if the service type hasn't already been registered. + + The type of the service to add. + The . + + + + Adds the specified as a service + implementation type specified in + to the if the service type hasn't already been registered. + + The type of the service to add. + The type of the implementation to use. + The . + + + + Adds the specified as a service + using the factory specified in + to the if the service type hasn't already been registered. + + The type of the service to add. + The . + The factory that creates the service. + + + + Adds the specified as a service + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + + + + Adds the specified as a service + with the implementation + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The implementation type of the service. + + + + Adds the specified as a service + using the factory specified in + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The factory that creates the service. + + + + Adds the specified as a service + to the if the service type hasn't already been registered. + + The type of the service to add. + The . + + + + Adds the specified as a service + implementation type specified in + to the if the service type hasn't already been registered. + + The type of the service to add. + The type of the implementation to use. + The . + + + + Adds the specified as a service + with an instance specified in + to the if the service type hasn't already been registered. + + The type of the service to add. + The . + The instance of the service to add. + + + + Adds the specified as a service + using the factory specified in + to the if the service type hasn't already been registered. + + The type of the service to add. + The . + The factory that creates the service. + + + + Adds a if an existing descriptor with the same + and an implementation that does not already exist + in . + + The . + The . + + Use when registering a service implementation of a + service type that + supports multiple registrations of the same service type. Using + is not idempotent and can add + duplicate + instances if called twice. Using + will prevent registration + of multiple implementation types. + + + + + Adds the specified s if an existing descriptor with the same + and an implementation that does not already exist + in . + + The . + The s. + + Use when registering a service + implementation of a service type that + supports multiple registrations of the same service type. Using + is not idempotent and can add + duplicate + instances if called twice. Using + will prevent registration + of multiple implementation types. + + + + + Removes the first service in with the same service type + as and adds to the collection. + + The . + The to replace with. + The for chaining. + + + + Removes all services of type in . + + The . + The for chaining. + + + + Removes all services of type in . + + The . + The service type to remove. + The for chaining. + + + + Adds the specified as a service + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The service key. + + + + Adds the specified as a service + with the implementation + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The service key. + The implementation type of the service. + + + + Adds the specified as a service + using the factory specified in + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The service key. + The factory that creates the service. + + + + Adds the specified as a service + to the if the service type hasn't already been registered. + + The type of the service to add. + The . + The service key. + + + + Adds the specified as a service + implementation type specified in + to the if the service type hasn't already been registered. + + The type of the service to add. + The type of the implementation to use. + The . + The service key. + + + + Adds the specified as a service + using the factory specified in + to the if the service type hasn't already been registered. + + The type of the service to add. + The . + The service key. + The factory that creates the service. + + + + Adds the specified as a service + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The service key. + + + + Adds the specified as a service + with the implementation + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The service key. + The implementation type of the service. + + + + Adds the specified as a service + using the factory specified in + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The service key. + The factory that creates the service. + + + + Adds the specified as a service + to the if the service type hasn't already been registered. + + The type of the service to add. + The . + The service key. + + + + Adds the specified as a service + implementation type specified in + to the if the service type hasn't already been registered. + + The type of the service to add. + The type of the implementation to use. + The . + The service key. + + + + Adds the specified as a service + using the factory specified in + to the if the service type hasn't already been registered. + + The type of the service to add. + The . + The factory that creates the service. + The service key. + + + + Adds the specified as a service + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The service key. + + + + Adds the specified as a service + with the implementation + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The service key. + The implementation type of the service. + + + + Adds the specified as a service + using the factory specified in + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The service key. + The factory that creates the service. + + + + Adds the specified as a service + to the if the service type hasn't already been registered. + + The type of the service to add. + The . + The service key. + + + + Adds the specified as a service + implementation type specified in + to the if the service type hasn't already been registered. + + The type of the service to add. + The type of the implementation to use. + The . + The service key. + + + + Adds the specified as a service + with an instance specified in + to the if the service type hasn't already been registered. + + The type of the service to add. + The . + The service key. + The instance of the service to add. + + + + Adds the specified as a service + using the factory specified in + to the if the service type hasn't already been registered. + + The type of the service to add. + The . + The service key. + The factory that creates the service. + + + + Removes all services of type in . + + The . + The service key. + The for chaining. + + + + Removes all services of type in . + + The . + The service type to remove. + The service key. + The for chaining. + + + + Indicates that the parameter should be bound using the keyed service registered with the specified key. + + + + + Creates a new instance. + + The key of the keyed service to bind to. + + + + The key of the keyed service to bind to. + + + + + IKeyedServiceProvider is a service provider that can be used to retrieve services using a key in addition + to a type. + + + + + Gets the service object of the specified type. + + An object that specifies the type of service object to get. + An object that specifies the key of service object to get. + A service object of type serviceType. -or- null if there is no service object of type serviceType. + + + + Gets service of type from the implementing + this interface. + + An object that specifies the type of service object to get. + The of the service. + A service object of type . + Throws an exception if the cannot create the object. + + + + Statics for use with . + + + + + Represents a key that matches any key. + + + + + Specifies the contract for a collection of service descriptors. + + + + + Provides an extension point for creating a container specific builder and an . + + + + + Creates a container builder from an . + + The collection of services + A container builder that can be used to create an . + + + + Creates an from the container builder. + + The container builder + An + + + + Optional service used to determine if the specified type with the specified service key is available + from the . + + + + + Determines if the specified service type with the specified service key is available from the + . + + An object that specifies the type of service object to test. + The of the service. + true if the specified service is a available, false if it is not. + + + + Optional service used to determine if the specified type is available from the . + + + + + Determines if the specified service type is available from the . + + An object that specifies the type of service object to test. + true if the specified service is a available, false if it is not. + + + + The method ends the scope lifetime. Once Dispose + is called, any scoped services that have been resolved from + will be + disposed. + + + + + The used to resolve dependencies from the scope. + + + + + A factory for creating instances of , which is used to create + services within a scope. + + + + + Create an which + contains an used to resolve dependencies from a + newly created scope. + + + An controlling the + lifetime of the scope. Once this is disposed, any scoped services that have been resolved + from the + will also be disposed. + + + + + Optional contract used by + to resolve services if supported by . + + + + + Gets service of type from the implementing + this interface. + + An object that specifies the type of service object to get. + A service object of type . + Throws an exception if the cannot create the object. + + + + The result of . + + The to get service arguments from. + Additional constructor arguments. + The instantiated type. + + + + The result of . A delegate to specify a factory method to call to instantiate an instance of type `T` + + The type of the instance being returned + The to get service arguments from. + Additional constructor arguments. + An instance of T + + + + Default implementation of . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Makes this collection read-only. + + + After the collection is marked as read-only, any further attempt to modify it throws an . + + + + + Extension methods for adding services to an . + + + Extension methods for adding services to an . + + + + + Adds a transient service of the type specified in with an + implementation of the type specified in to the + specified . + + The to add the service to. + The type of the service to register. + The implementation type of the service. + A reference to this instance after the operation has completed. + + + + + Adds a transient service of the type specified in with a + factory specified in to the + specified . + + The to add the service to. + The type of the service to register. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a transient service of the type specified in with an + implementation type specified in to the + specified . + + The type of the service to add. + The type of the implementation to use. + The to add the service to. + A reference to this instance after the operation has completed. + + + + + Adds a transient service of the type specified in to the + specified . + + The to add the service to. + The type of the service to register and the implementation to use. + A reference to this instance after the operation has completed. + + + + + Adds a transient service of the type specified in to the + specified . + + The type of the service to add. + The to add the service to. + A reference to this instance after the operation has completed. + + + + + Adds a transient service of the type specified in with a + factory specified in to the + specified . + + The type of the service to add. + The to add the service to. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a transient service of the type specified in with an + implementation type specified in using the + factory specified in to the + specified . + + The type of the service to add. + The type of the implementation to use. + The to add the service to. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a scoped service of the type specified in with an + implementation of the type specified in to the + specified . + + The to add the service to. + The type of the service to register. + The implementation type of the service. + A reference to this instance after the operation has completed. + + + + + Adds a scoped service of the type specified in with a + factory specified in to the + specified . + + The to add the service to. + The type of the service to register. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a scoped service of the type specified in with an + implementation type specified in to the + specified . + + The type of the service to add. + The type of the implementation to use. + The to add the service to. + A reference to this instance after the operation has completed. + + + + + Adds a scoped service of the type specified in to the + specified . + + The to add the service to. + The type of the service to register and the implementation to use. + A reference to this instance after the operation has completed. + + + + + Adds a scoped service of the type specified in to the + specified . + + The type of the service to add. + The to add the service to. + A reference to this instance after the operation has completed. + + + + + Adds a scoped service of the type specified in with a + factory specified in to the + specified . + + The type of the service to add. + The to add the service to. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a scoped service of the type specified in with an + implementation type specified in using the + factory specified in to the + specified . + + The type of the service to add. + The type of the implementation to use. + The to add the service to. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in with an + implementation of the type specified in to the + specified . + + The to add the service to. + The type of the service to register. + The implementation type of the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in with a + factory specified in to the + specified . + + The to add the service to. + The type of the service to register. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in with an + implementation type specified in to the + specified . + + The type of the service to add. + The type of the implementation to use. + The to add the service to. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in to the + specified . + + The to add the service to. + The type of the service to register and the implementation to use. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in to the + specified . + + The type of the service to add. + The to add the service to. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in with a + factory specified in to the + specified . + + The type of the service to add. + The to add the service to. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in with an + implementation type specified in using the + factory specified in to the + specified . + + The type of the service to add. + The type of the implementation to use. + The to add the service to. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in with an + instance specified in to the + specified . + + The to add the service to. + The type of the service to register. + The instance of the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in with an + instance specified in to the + specified . + + The to add the service to. + The instance of the service. + A reference to this instance after the operation has completed. + + + + + Adds a transient service of the type specified in with an + implementation of the type specified in to the + specified . + + The to add the service to. + The type of the service to register. + The of the service. + The implementation type of the service. + A reference to this instance after the operation has completed. + + + + + Adds a transient service of the type specified in with a + factory specified in to the + specified . + + The to add the service to. + The type of the service to register. + The of the service. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a transient service of the type specified in with an + implementation type specified in to the + specified . + + The type of the service to add. + The type of the implementation to use. + The to add the service to. + The of the service. + A reference to this instance after the operation has completed. + + + + + Adds a transient service of the type specified in to the + specified . + + The to add the service to. + The type of the service to register and the implementation to use. + The of the service. + A reference to this instance after the operation has completed. + + + + + Adds a transient service of the type specified in to the + specified . + + The type of the service to add. + The to add the service to. + The of the service. + A reference to this instance after the operation has completed. + + + + + Adds a transient service of the type specified in with a + factory specified in to the + specified . + + The type of the service to add. + The to add the service to. + The of the service. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a transient service of the type specified in with an + implementation type specified in using the + factory specified in to the + specified . + + The type of the service to add. + The type of the implementation to use. + The to add the service to. + The of the service. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a scoped service of the type specified in with an + implementation of the type specified in to the + specified . + + The to add the service to. + The type of the service to register. + The of the service. + The implementation type of the service. + A reference to this instance after the operation has completed. + + + + + Adds a scoped service of the type specified in with a + factory specified in to the + specified . + + The to add the service to. + The type of the service to register. + The of the service. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a scoped service of the type specified in with an + implementation type specified in to the + specified . + + The type of the service to add. + The type of the implementation to use. + The to add the service to. + The of the service. + A reference to this instance after the operation has completed. + + + + + Adds a scoped service of the type specified in to the + specified . + + The to add the service to. + The type of the service to register and the implementation to use. + The of the service. + A reference to this instance after the operation has completed. + + + + + Adds a scoped service of the type specified in to the + specified . + + The type of the service to add. + The to add the service to. + The of the service. + A reference to this instance after the operation has completed. + + + + + Adds a scoped service of the type specified in with a + factory specified in to the + specified . + + The type of the service to add. + The to add the service to. + The of the service. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a scoped service of the type specified in with an + implementation type specified in using the + factory specified in to the + specified . + + The type of the service to add. + The type of the implementation to use. + The to add the service to. + The of the service. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in with an + implementation of the type specified in to the + specified . + + The to add the service to. + The type of the service to register. + The of the service. + The implementation type of the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in with a + factory specified in to the + specified . + + The to add the service to. + The type of the service to register. + The of the service. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in with an + implementation type specified in to the + specified . + + The type of the service to add. + The type of the implementation to use. + The to add the service to. + The of the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in to the + specified . + + The to add the service to. + The type of the service to register and the implementation to use. + The of the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in to the + specified . + + The type of the service to add. + The to add the service to. + The of the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in with a + factory specified in to the + specified . + + The type of the service to add. + The to add the service to. + The of the service. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in with an + implementation type specified in using the + factory specified in to the + specified . + + The type of the service to add. + The type of the implementation to use. + The to add the service to. + The of the service. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in with an + instance specified in to the + specified . + + The to add the service to. + The type of the service to register. + The of the service. + The instance of the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in with an + instance specified in to the + specified . + + The to add the service to. + The of the service. + The instance of the service. + A reference to this instance after the operation has completed. + + + + + Describes a service with its service type, implementation, and lifetime. + + + + + Initializes a new instance of with the specified . + + The of the service. + The implementing the service. + The of the service. + + + + Initializes a new instance of with the specified . + + The of the service. + The of the service. + The implementing the service. + The of the service. + + + + Initializes a new instance of with the specified + as a . + + The of the service. + The instance implementing the service. + + + + Initializes a new instance of with the specified + as a . + + The of the service. + The of the service. + The instance implementing the service. + + + + Initializes a new instance of with the specified . + + The of the service. + A factory used for creating service instances. + The of the service. + + + + Initializes a new instance of with the specified . + + The of the service. + The of the service. + A factory used for creating service instances. + The of the service. + + + + Gets the of the service. + + + + + Get the key of the service, if applicable. + + + + + Gets the of the service. + + + + + Gets the that implements the service. + + + + + Gets the that implements the service. + + + + + Gets the instance that implements the service. + + + + + Gets the instance that implements the service. + + + + + Gets the factory used for creating service instances. + + + + + Gets the factory used for creating Keyed service instances. + + + + + Indicates whether the service is a keyed service. + + + + + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The type of the implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The type of the implementation. + The of the service. + A new instance of . + + + + Creates an instance of with the specified + and + and the lifetime. + + The type of the service. + The type of the implementation. + A new instance of . + + + + Creates an instance of with the specified + and + and the lifetime. + + The type of the service. + The of the service. + The type of the implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + , + and the lifetime. + + The type of the service. + The type of the implementation. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + , + and the lifetime. + + The type of the service. + The type of the implementation. + The of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The type of the implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The type of the implementation. + The of the service. + A new instance of . + + + + Creates an instance of with the specified + and + and the lifetime. + + The type of the service. + The type of the implementation. + A new instance of . + + + + Creates an instance of with the specified + and + and the lifetime. + + The type of the service. + The of the service. + The type of the implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + , + and the lifetime. + + The type of the service. + The type of the implementation. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + , + and the lifetime. + + The type of the service. + The type of the implementation. + The of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The type of the implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The type of the implementation. + The of the service. + A new instance of . + + + + Creates an instance of with the specified + and + and the lifetime. + + The type of the service. + The type of the implementation. + A new instance of . + + + + Creates an instance of with the specified + and + and the lifetime. + + The type of the service. + The of the service. + The type of the implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + , + and the lifetime. + + The type of the service. + The type of the implementation. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + , + and the lifetime. + + The type of the service. + The type of the implementation. + The of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The instance of the implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The of the service. + The instance of the implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The instance of the implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The of the service. + The instance of the implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and . + + The type of the service. + The type of the implementation. + The lifetime of the service. + A new instance of . + + + + Creates an instance of with the specified + , , + and . + + The type of the service. + The of the service. + The type of the implementation. + The lifetime of the service. + A new instance of . + + + + Creates an instance of with the specified + , , + and . + + The type of the service. + A factory to create new instances of the service implementation. + The lifetime of the service. + A new instance of . + + + + Creates an instance of with the specified + , , + and . + + The type of the service. + The of the service. + A factory to create new instances of the service implementation. + The lifetime of the service. + A new instance of . + + + + ServiceKeyAttribute can be specified on a parameter to inject the key that was used for + registration/resolution. + + + + + Specifies the lifetime of a service in an . + + + + + Specifies that a single instance of the service will be created. + + + + + Specifies that a new instance of the service will be created for each scope. + + + In ASP.NET Core applications a scope is created around each server request. + + + + + Specifies that a new instance of the service will be created every time it is requested. + + + + + Extension methods for getting services from an . + + + + + Get service of type from the . + + The type of service object to get. + The to retrieve the service object from. + An object that specifies the key of service object to get. + A service object of type or null if there is no such service. + + + + Get service of type from the . + + The to retrieve the service object from. + An object that specifies the type of service object to get. + An object that specifies the key of service object to get. + A service object of type . + There is no service of type . + + + + Get service of type from the . + + The type of service object to get. + The to retrieve the service object from. + An object that specifies the key of service object to get. + A service object of type . + There is no service of type . + + + + Get an enumeration of services of type from the . + + The type of service object to get. + The to retrieve the services from. + An object that specifies the key of service object to get. + An enumeration of services of type . + + + + Get an enumeration of services of type from the . + + The to retrieve the services from. + An object that specifies the type of service object to get. + An object that specifies the key of service object to get. + An enumeration of services of type . + + + + Extension methods for getting services from an . + + + + + Get service of type from the . + + The type of service object to get. + The to retrieve the service object from. + A service object of type or null if there is no such service. + + + + Get service of type from the . + + The to retrieve the service object from. + An object that specifies the type of service object to get. + A service object of type . + There is no service of type . + + + + Get service of type from the . + + The type of service object to get. + The to retrieve the service object from. + A service object of type . + There is no service of type . + + + + Get an enumeration of services of type from the . + + The type of service object to get. + The to retrieve the services from. + An enumeration of services of type . + + + + Get an enumeration of services of type from the . + + The to retrieve the services from. + An object that specifies the type of service object to get. + An enumeration of services of type . + + + + Creates a new that can be used to resolve scoped services. + + The to create the scope from. + A that can be used to resolve scoped services. + + + + Creates a new that can be used to resolve scoped services. + + The to create the scope from. + An that can be used to resolve scoped services. + + + + Creates a new that can be used to resolve scoped services. + + The to create the scope from. + An that can be used to resolve scoped services. + + + Throws an if is null. + The reference type argument to validate as non-null. + The name of the parameter with which corresponds. + + + + Throws either an or an + if the specified string is or whitespace respectively. + + String to be checked for or whitespace. + The name of the parameter being checked. + The original value of . + + + + Attribute used to indicate a source generator should create a function for marshalling + arguments instead of relying on the runtime to generate an equivalent marshalling function at run-time. + + + This attribute is meaningless if the source generator associated with it is not enabled. + The current built-in source generator only supports C# and only supplies an implementation when + applied to static, partial, non-generic methods. + + + + + Initializes a new instance of the . + + Name of the library containing the import. + + + + Gets the name of the library containing the import. + + + + + Gets or sets the name of the entry point to be called. + + + + + Gets or sets how to marshal string arguments to the method. + + + If this field is set to a value other than , + must not be specified. + + + + + Gets or sets the used to control how string arguments to the method are marshalled. + + + If this field is specified, must not be specified + or must be set to . + + + + + Gets or sets whether the callee sets an error (SetLastError on Windows or errno + on other platforms) before returning from the attributed method. + + + + + Specifies how strings should be marshalled for generated p/invokes + + + + + Indicates the user is suppling a specific marshaller in . + + + + + Use the platform-provided UTF-8 marshaller. + + + + + Use the platform-provided UTF-16 marshaller. + + + + + Indicates that certain members on a specified are accessed dynamically, + for example through . + + + This allows tools to understand which members are being accessed during the execution + of a program. + + This attribute is valid on members whose type is or . + + When this attribute is applied to a location of type , the assumption is + that the string represents a fully qualified type name. + + When this attribute is applied to a class, interface, or struct, the members specified + can be accessed dynamically on instances returned from calling + on instances of that class, interface, or struct. + + If the attribute is applied to a method it's treated as a special case and it implies + the attribute should be applied to the "this" parameter of the method. As such the attribute + should only be used on instance methods of types assignable to System.Type (or string, but no methods + will use it there). + + + + + Initializes a new instance of the class + with the specified member types. + + The types of members dynamically accessed. + + + + Gets the which specifies the type + of members dynamically accessed. + + + + + Specifies the types of members that are dynamically accessed. + + This enumeration has a attribute that allows a + bitwise combination of its member values. + + + + + Specifies no members. + + + + + Specifies the default, parameterless public constructor. + + + + + Specifies all public constructors. + + + + + Specifies all non-public constructors. + + + + + Specifies all public methods. + + + + + Specifies all non-public methods. + + + + + Specifies all public fields. + + + + + Specifies all non-public fields. + + + + + Specifies all public nested types. + + + + + Specifies all non-public nested types. + + + + + Specifies all public properties. + + + + + Specifies all non-public properties. + + + + + Specifies all public events. + + + + + Specifies all non-public events. + + + + + Specifies all interfaces implemented by the type. + + + + + Specifies all members. + + + + + Suppresses reporting of a specific rule violation, allowing multiple suppressions on a + single code artifact. + + + is different than + in that it doesn't have a + . So it is always preserved in the compiled assembly. + + + + + Initializes a new instance of the + class, specifying the category of the tool and the identifier for an analysis rule. + + The category for the attribute. + The identifier of the analysis rule the attribute applies to. + + + + Gets the category identifying the classification of the attribute. + + + The property describes the tool or tool analysis category + for which a message suppression attribute applies. + + + + + Gets the identifier of the analysis tool rule to be suppressed. + + + Concatenated together, the and + properties form a unique check identifier. + + + + + Gets or sets the scope of the code that is relevant for the attribute. + + + The Scope property is an optional argument that specifies the metadata scope for which + the attribute is relevant. + + + + + Gets or sets a fully qualified path that represents the target of the attribute. + + + The property is an optional argument identifying the analysis target + of the attribute. An example value is "System.IO.Stream.ctor():System.Void". + Because it is fully qualified, it can be long, particularly for targets such as parameters. + The analysis tool user interface should be capable of automatically formatting the parameter. + + + + + Gets or sets an optional argument expanding on exclusion criteria. + + + The property is an optional argument that specifies additional + exclusion where the literal metadata target is not sufficiently precise. For example, + the cannot be applied within a method, + and it may be desirable to suppress a violation against a statement in the method that will + give a rule violation, but not against all statements in the method. + + + + + Gets or sets the justification for suppressing the code analysis message. + + + + + Indicates that the specified method requires the ability to generate new code at runtime, + for example through . + + + This allows tools to understand which methods are unsafe to call when compiling ahead of time. + + + + + Initializes a new instance of the class + with the specified message. + + + A message that contains information about the usage of dynamic code. + + + + + Gets a message that contains information about the usage of dynamic code. + + + + + Gets or sets an optional URL that contains more information about the method, + why it requires dynamic code, and what options a consumer has to deal with it. + + + + Specifies that null is allowed as an input even if the corresponding type disallows it. + + + Specifies that null is disallowed as an input even if the corresponding type allows it. + + + Specifies that an output may be null even if the corresponding type disallows it. + + + Specifies that an output will not be null even if the corresponding type allows it. Specifies that an input argument was not null when the call returns. + + + Specifies that when a method returns , the parameter may be null even if the corresponding type disallows it. + + + Initializes the attribute with the specified return value condition. + + The return value condition. If the method returns this value, the associated parameter may be null. + + + + Gets the return value condition. + + + Specifies that when a method returns , the parameter will not be null even if the corresponding type allows it. + + + Initializes the attribute with the specified return value condition. + + The return value condition. If the method returns this value, the associated parameter will not be null. + + + + Gets the return value condition. + + + Specifies that the output will be non-null if the named parameter is non-null. + + + Initializes the attribute with the associated parameter name. + + The associated parameter name. The output will be non-null if the argument to the parameter specified is non-null. + + + + Gets the associated parameter name. + + + Applied to a method that will never return under any circumstance. + + + Specifies that the method will not return if the associated Boolean parameter is passed the specified value. + + + Initializes the attribute with the specified parameter value. + + The condition parameter value. Code after the method will be considered unreachable by diagnostics if the argument to + the associated parameter matches this value. + + + + Gets the condition parameter value. + + + Specifies that the method or property will ensure that the listed field and property members have not-null values. + + + Initializes the attribute with a field or property member. + + The field or property member that is promised to be not-null. + + + + Initializes the attribute with the list of field and property members. + + The list of field and property members that are promised to be not-null. + + + + Gets field or property member names. + + + Specifies that the method or property will ensure that the listed field and property members have not-null values when returning with the specified return value condition. + + + Initializes the attribute with the specified return value condition and a field or property member. + + The return value condition. If the method returns this value, the associated parameter will not be null. + + + The field or property member that is promised to be not-null. + + + + Initializes the attribute with the specified return value condition and list of field and property members. + + The return value condition. If the method returns this value, the associated parameter will not be null. + + + The list of field and property members that are promised to be not-null. + + + + Gets the return value condition. + + + Gets field or property member names. + + + Multiple constructors accepting all given argument types have been found in type '{0}'. There should only be one applicable constructor. + + + Unable to resolve service for type '{0}' while attempting to activate '{1}'. + + + A suitable constructor for type '{0}' could not be located. Ensure the type is concrete and services are registered for all parameters of a public constructor. + + + No service for type '{0}' has been registered. + + + The service collection cannot be modified because it is read-only. + + + Implementation type cannot be '{0}' because it is indistinguishable from other services registered for '{1}'. + + + Multiple constructors were marked with {0}. + + + Constructor marked with {0} does not accept all given argument types. + + + Instances of abstract classes cannot be created. + + + Multiple constructors for type '{0}' were found with length {1}. + + + Unable to resolve service for type '{0}' while attempting to activate '{1}'. + + + A suitable constructor for type '{0}' could not be located. Ensure the type is concrete and all parameters of a public constructor are either registered as services or passed as arguments. Also ensure no extraneous arguments are provided. + + + Multiple constructors accepting all given argument types have been found in type '{0}'. There should only be one applicable constructor. + + + This service provider doesn't support keyed services. + + + This service descriptor is keyed. Your service provider may not support keyed services. + + + This service descriptor is not keyed. + + + diff --git a/packages/Microsoft.Extensions.DependencyInjection.Abstractions.8.0.0/lib/netstandard2.1/Microsoft.Extensions.DependencyInjection.Abstractions.dll b/packages/Microsoft.Extensions.DependencyInjection.Abstractions.8.0.0/lib/netstandard2.1/Microsoft.Extensions.DependencyInjection.Abstractions.dll new file mode 100644 index 0000000000000000000000000000000000000000..f286073c5528e60f724901dae18270549e5c5452 GIT binary patch literal 64264 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 literal 0 HcmV?d00001 diff --git a/packages/Microsoft.Extensions.DependencyInjection.Abstractions.8.0.0/lib/netstandard2.1/Microsoft.Extensions.DependencyInjection.Abstractions.xml b/packages/Microsoft.Extensions.DependencyInjection.Abstractions.8.0.0/lib/netstandard2.1/Microsoft.Extensions.DependencyInjection.Abstractions.xml new file mode 100644 index 0000000..2e3353e --- /dev/null +++ b/packages/Microsoft.Extensions.DependencyInjection.Abstractions.8.0.0/lib/netstandard2.1/Microsoft.Extensions.DependencyInjection.Abstractions.xml @@ -0,0 +1,2451 @@ + + + + Microsoft.Extensions.DependencyInjection.Abstractions + + + + + Helper code for the various activator services. + + + + + Instantiate a type with constructor arguments provided directly and/or from an . + + The service provider used to resolve dependencies + The type to activate + Constructor arguments not provided by the . + An activated object of type instanceType + + + + Create a delegate that will instantiate a type with constructor arguments provided directly + and/or from an . + + The type to activate + + The types of objects, in order, that will be passed to the returned function as its second parameter + + + A factory that will instantiate instanceType using an + and an argument array containing objects matching the types defined in argumentTypes + + + + + Create a delegate that will instantiate a type with constructor arguments provided directly + and/or from an . + + The type to activate + + The types of objects, in order, that will be passed to the returned function as its second parameter + + + A factory that will instantiate type T using an + and an argument array containing objects matching the types defined in argumentTypes + + + + + Instantiate a type with constructor arguments provided directly and/or from an . + + The type to activate + The service provider used to resolve dependencies + Constructor arguments not provided by the . + An activated object of type T + + + + Retrieve an instance of the given type from the service provider. If one is not found then instantiate it directly. + + The type of the service + The service provider used to resolve dependencies + The resolved service or created instance + + + + Retrieve an instance of the given type from the service provider. If one is not found then instantiate it directly. + + The service provider + The type of the service + The resolved service or created instance + + + + Marks the constructor to be used when activating type using . + + + + + An implementation that implements . + + + + + Initializes a new instance of the struct. + Wraps an instance of . + + The instance to wrap. + + + + + + + + + + + + + Extension methods for adding and removing services to an . + + + + + Adds the specified to the . + + The . + The to add. + A reference to the current instance of . + + + + Adds a sequence of to the . + + The . + The s to add. + A reference to the current instance of . + + + + Adds the specified to the if the + service type hasn't already been registered. + + The . + The to add. + + + + Adds the specified to the if the + service type hasn't already been registered. + + The . + The s to add. + + + + Adds the specified as a service + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + + + + Adds the specified as a service + with the implementation + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The implementation type of the service. + + + + Adds the specified as a service + using the factory specified in + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The factory that creates the service. + + + + Adds the specified as a service + to the if the service type hasn't already been registered. + + The type of the service to add. + The . + + + + Adds the specified as a service + implementation type specified in + to the if the service type hasn't already been registered. + + The type of the service to add. + The type of the implementation to use. + The . + + + + Adds the specified as a service + using the factory specified in + to the if the service type hasn't already been registered. + + The type of the service to add. + The . + The factory that creates the service. + + + + Adds the specified as a service + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + + + + Adds the specified as a service + with the implementation + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The implementation type of the service. + + + + Adds the specified as a service + using the factory specified in + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The factory that creates the service. + + + + Adds the specified as a service + to the if the service type hasn't already been registered. + + The type of the service to add. + The . + + + + Adds the specified as a service + implementation type specified in + to the if the service type hasn't already been registered. + + The type of the service to add. + The type of the implementation to use. + The . + + + + Adds the specified as a service + using the factory specified in + to the if the service type hasn't already been registered. + + The type of the service to add. + The . + The factory that creates the service. + + + + Adds the specified as a service + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + + + + Adds the specified as a service + with the implementation + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The implementation type of the service. + + + + Adds the specified as a service + using the factory specified in + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The factory that creates the service. + + + + Adds the specified as a service + to the if the service type hasn't already been registered. + + The type of the service to add. + The . + + + + Adds the specified as a service + implementation type specified in + to the if the service type hasn't already been registered. + + The type of the service to add. + The type of the implementation to use. + The . + + + + Adds the specified as a service + with an instance specified in + to the if the service type hasn't already been registered. + + The type of the service to add. + The . + The instance of the service to add. + + + + Adds the specified as a service + using the factory specified in + to the if the service type hasn't already been registered. + + The type of the service to add. + The . + The factory that creates the service. + + + + Adds a if an existing descriptor with the same + and an implementation that does not already exist + in . + + The . + The . + + Use when registering a service implementation of a + service type that + supports multiple registrations of the same service type. Using + is not idempotent and can add + duplicate + instances if called twice. Using + will prevent registration + of multiple implementation types. + + + + + Adds the specified s if an existing descriptor with the same + and an implementation that does not already exist + in . + + The . + The s. + + Use when registering a service + implementation of a service type that + supports multiple registrations of the same service type. Using + is not idempotent and can add + duplicate + instances if called twice. Using + will prevent registration + of multiple implementation types. + + + + + Removes the first service in with the same service type + as and adds to the collection. + + The . + The to replace with. + The for chaining. + + + + Removes all services of type in . + + The . + The for chaining. + + + + Removes all services of type in . + + The . + The service type to remove. + The for chaining. + + + + Adds the specified as a service + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The service key. + + + + Adds the specified as a service + with the implementation + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The service key. + The implementation type of the service. + + + + Adds the specified as a service + using the factory specified in + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The service key. + The factory that creates the service. + + + + Adds the specified as a service + to the if the service type hasn't already been registered. + + The type of the service to add. + The . + The service key. + + + + Adds the specified as a service + implementation type specified in + to the if the service type hasn't already been registered. + + The type of the service to add. + The type of the implementation to use. + The . + The service key. + + + + Adds the specified as a service + using the factory specified in + to the if the service type hasn't already been registered. + + The type of the service to add. + The . + The service key. + The factory that creates the service. + + + + Adds the specified as a service + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The service key. + + + + Adds the specified as a service + with the implementation + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The service key. + The implementation type of the service. + + + + Adds the specified as a service + using the factory specified in + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The service key. + The factory that creates the service. + + + + Adds the specified as a service + to the if the service type hasn't already been registered. + + The type of the service to add. + The . + The service key. + + + + Adds the specified as a service + implementation type specified in + to the if the service type hasn't already been registered. + + The type of the service to add. + The type of the implementation to use. + The . + The service key. + + + + Adds the specified as a service + using the factory specified in + to the if the service type hasn't already been registered. + + The type of the service to add. + The . + The factory that creates the service. + The service key. + + + + Adds the specified as a service + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The service key. + + + + Adds the specified as a service + with the implementation + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The service key. + The implementation type of the service. + + + + Adds the specified as a service + using the factory specified in + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The service key. + The factory that creates the service. + + + + Adds the specified as a service + to the if the service type hasn't already been registered. + + The type of the service to add. + The . + The service key. + + + + Adds the specified as a service + implementation type specified in + to the if the service type hasn't already been registered. + + The type of the service to add. + The type of the implementation to use. + The . + The service key. + + + + Adds the specified as a service + with an instance specified in + to the if the service type hasn't already been registered. + + The type of the service to add. + The . + The service key. + The instance of the service to add. + + + + Adds the specified as a service + using the factory specified in + to the if the service type hasn't already been registered. + + The type of the service to add. + The . + The service key. + The factory that creates the service. + + + + Removes all services of type in . + + The . + The service key. + The for chaining. + + + + Removes all services of type in . + + The . + The service type to remove. + The service key. + The for chaining. + + + + Indicates that the parameter should be bound using the keyed service registered with the specified key. + + + + + Creates a new instance. + + The key of the keyed service to bind to. + + + + The key of the keyed service to bind to. + + + + + IKeyedServiceProvider is a service provider that can be used to retrieve services using a key in addition + to a type. + + + + + Gets the service object of the specified type. + + An object that specifies the type of service object to get. + An object that specifies the key of service object to get. + A service object of type serviceType. -or- null if there is no service object of type serviceType. + + + + Gets service of type from the implementing + this interface. + + An object that specifies the type of service object to get. + The of the service. + A service object of type . + Throws an exception if the cannot create the object. + + + + Statics for use with . + + + + + Represents a key that matches any key. + + + + + Specifies the contract for a collection of service descriptors. + + + + + Provides an extension point for creating a container specific builder and an . + + + + + Creates a container builder from an . + + The collection of services + A container builder that can be used to create an . + + + + Creates an from the container builder. + + The container builder + An + + + + Optional service used to determine if the specified type with the specified service key is available + from the . + + + + + Determines if the specified service type with the specified service key is available from the + . + + An object that specifies the type of service object to test. + The of the service. + true if the specified service is a available, false if it is not. + + + + Optional service used to determine if the specified type is available from the . + + + + + Determines if the specified service type is available from the . + + An object that specifies the type of service object to test. + true if the specified service is a available, false if it is not. + + + + The method ends the scope lifetime. Once Dispose + is called, any scoped services that have been resolved from + will be + disposed. + + + + + The used to resolve dependencies from the scope. + + + + + A factory for creating instances of , which is used to create + services within a scope. + + + + + Create an which + contains an used to resolve dependencies from a + newly created scope. + + + An controlling the + lifetime of the scope. Once this is disposed, any scoped services that have been resolved + from the + will also be disposed. + + + + + Optional contract used by + to resolve services if supported by . + + + + + Gets service of type from the implementing + this interface. + + An object that specifies the type of service object to get. + A service object of type . + Throws an exception if the cannot create the object. + + + + The result of . + + The to get service arguments from. + Additional constructor arguments. + The instantiated type. + + + + The result of . A delegate to specify a factory method to call to instantiate an instance of type `T` + + The type of the instance being returned + The to get service arguments from. + Additional constructor arguments. + An instance of T + + + + Default implementation of . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Makes this collection read-only. + + + After the collection is marked as read-only, any further attempt to modify it throws an . + + + + + Extension methods for adding services to an . + + + Extension methods for adding services to an . + + + + + Adds a transient service of the type specified in with an + implementation of the type specified in to the + specified . + + The to add the service to. + The type of the service to register. + The implementation type of the service. + A reference to this instance after the operation has completed. + + + + + Adds a transient service of the type specified in with a + factory specified in to the + specified . + + The to add the service to. + The type of the service to register. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a transient service of the type specified in with an + implementation type specified in to the + specified . + + The type of the service to add. + The type of the implementation to use. + The to add the service to. + A reference to this instance after the operation has completed. + + + + + Adds a transient service of the type specified in to the + specified . + + The to add the service to. + The type of the service to register and the implementation to use. + A reference to this instance after the operation has completed. + + + + + Adds a transient service of the type specified in to the + specified . + + The type of the service to add. + The to add the service to. + A reference to this instance after the operation has completed. + + + + + Adds a transient service of the type specified in with a + factory specified in to the + specified . + + The type of the service to add. + The to add the service to. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a transient service of the type specified in with an + implementation type specified in using the + factory specified in to the + specified . + + The type of the service to add. + The type of the implementation to use. + The to add the service to. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a scoped service of the type specified in with an + implementation of the type specified in to the + specified . + + The to add the service to. + The type of the service to register. + The implementation type of the service. + A reference to this instance after the operation has completed. + + + + + Adds a scoped service of the type specified in with a + factory specified in to the + specified . + + The to add the service to. + The type of the service to register. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a scoped service of the type specified in with an + implementation type specified in to the + specified . + + The type of the service to add. + The type of the implementation to use. + The to add the service to. + A reference to this instance after the operation has completed. + + + + + Adds a scoped service of the type specified in to the + specified . + + The to add the service to. + The type of the service to register and the implementation to use. + A reference to this instance after the operation has completed. + + + + + Adds a scoped service of the type specified in to the + specified . + + The type of the service to add. + The to add the service to. + A reference to this instance after the operation has completed. + + + + + Adds a scoped service of the type specified in with a + factory specified in to the + specified . + + The type of the service to add. + The to add the service to. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a scoped service of the type specified in with an + implementation type specified in using the + factory specified in to the + specified . + + The type of the service to add. + The type of the implementation to use. + The to add the service to. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in with an + implementation of the type specified in to the + specified . + + The to add the service to. + The type of the service to register. + The implementation type of the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in with a + factory specified in to the + specified . + + The to add the service to. + The type of the service to register. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in with an + implementation type specified in to the + specified . + + The type of the service to add. + The type of the implementation to use. + The to add the service to. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in to the + specified . + + The to add the service to. + The type of the service to register and the implementation to use. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in to the + specified . + + The type of the service to add. + The to add the service to. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in with a + factory specified in to the + specified . + + The type of the service to add. + The to add the service to. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in with an + implementation type specified in using the + factory specified in to the + specified . + + The type of the service to add. + The type of the implementation to use. + The to add the service to. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in with an + instance specified in to the + specified . + + The to add the service to. + The type of the service to register. + The instance of the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in with an + instance specified in to the + specified . + + The to add the service to. + The instance of the service. + A reference to this instance after the operation has completed. + + + + + Adds a transient service of the type specified in with an + implementation of the type specified in to the + specified . + + The to add the service to. + The type of the service to register. + The of the service. + The implementation type of the service. + A reference to this instance after the operation has completed. + + + + + Adds a transient service of the type specified in with a + factory specified in to the + specified . + + The to add the service to. + The type of the service to register. + The of the service. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a transient service of the type specified in with an + implementation type specified in to the + specified . + + The type of the service to add. + The type of the implementation to use. + The to add the service to. + The of the service. + A reference to this instance after the operation has completed. + + + + + Adds a transient service of the type specified in to the + specified . + + The to add the service to. + The type of the service to register and the implementation to use. + The of the service. + A reference to this instance after the operation has completed. + + + + + Adds a transient service of the type specified in to the + specified . + + The type of the service to add. + The to add the service to. + The of the service. + A reference to this instance after the operation has completed. + + + + + Adds a transient service of the type specified in with a + factory specified in to the + specified . + + The type of the service to add. + The to add the service to. + The of the service. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a transient service of the type specified in with an + implementation type specified in using the + factory specified in to the + specified . + + The type of the service to add. + The type of the implementation to use. + The to add the service to. + The of the service. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a scoped service of the type specified in with an + implementation of the type specified in to the + specified . + + The to add the service to. + The type of the service to register. + The of the service. + The implementation type of the service. + A reference to this instance after the operation has completed. + + + + + Adds a scoped service of the type specified in with a + factory specified in to the + specified . + + The to add the service to. + The type of the service to register. + The of the service. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a scoped service of the type specified in with an + implementation type specified in to the + specified . + + The type of the service to add. + The type of the implementation to use. + The to add the service to. + The of the service. + A reference to this instance after the operation has completed. + + + + + Adds a scoped service of the type specified in to the + specified . + + The to add the service to. + The type of the service to register and the implementation to use. + The of the service. + A reference to this instance after the operation has completed. + + + + + Adds a scoped service of the type specified in to the + specified . + + The type of the service to add. + The to add the service to. + The of the service. + A reference to this instance after the operation has completed. + + + + + Adds a scoped service of the type specified in with a + factory specified in to the + specified . + + The type of the service to add. + The to add the service to. + The of the service. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a scoped service of the type specified in with an + implementation type specified in using the + factory specified in to the + specified . + + The type of the service to add. + The type of the implementation to use. + The to add the service to. + The of the service. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in with an + implementation of the type specified in to the + specified . + + The to add the service to. + The type of the service to register. + The of the service. + The implementation type of the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in with a + factory specified in to the + specified . + + The to add the service to. + The type of the service to register. + The of the service. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in with an + implementation type specified in to the + specified . + + The type of the service to add. + The type of the implementation to use. + The to add the service to. + The of the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in to the + specified . + + The to add the service to. + The type of the service to register and the implementation to use. + The of the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in to the + specified . + + The type of the service to add. + The to add the service to. + The of the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in with a + factory specified in to the + specified . + + The type of the service to add. + The to add the service to. + The of the service. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in with an + implementation type specified in using the + factory specified in to the + specified . + + The type of the service to add. + The type of the implementation to use. + The to add the service to. + The of the service. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in with an + instance specified in to the + specified . + + The to add the service to. + The type of the service to register. + The of the service. + The instance of the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in with an + instance specified in to the + specified . + + The to add the service to. + The of the service. + The instance of the service. + A reference to this instance after the operation has completed. + + + + + Describes a service with its service type, implementation, and lifetime. + + + + + Initializes a new instance of with the specified . + + The of the service. + The implementing the service. + The of the service. + + + + Initializes a new instance of with the specified . + + The of the service. + The of the service. + The implementing the service. + The of the service. + + + + Initializes a new instance of with the specified + as a . + + The of the service. + The instance implementing the service. + + + + Initializes a new instance of with the specified + as a . + + The of the service. + The of the service. + The instance implementing the service. + + + + Initializes a new instance of with the specified . + + The of the service. + A factory used for creating service instances. + The of the service. + + + + Initializes a new instance of with the specified . + + The of the service. + The of the service. + A factory used for creating service instances. + The of the service. + + + + Gets the of the service. + + + + + Get the key of the service, if applicable. + + + + + Gets the of the service. + + + + + Gets the that implements the service. + + + + + Gets the that implements the service. + + + + + Gets the instance that implements the service. + + + + + Gets the instance that implements the service. + + + + + Gets the factory used for creating service instances. + + + + + Gets the factory used for creating Keyed service instances. + + + + + Indicates whether the service is a keyed service. + + + + + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The type of the implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The type of the implementation. + The of the service. + A new instance of . + + + + Creates an instance of with the specified + and + and the lifetime. + + The type of the service. + The type of the implementation. + A new instance of . + + + + Creates an instance of with the specified + and + and the lifetime. + + The type of the service. + The of the service. + The type of the implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + , + and the lifetime. + + The type of the service. + The type of the implementation. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + , + and the lifetime. + + The type of the service. + The type of the implementation. + The of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The type of the implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The type of the implementation. + The of the service. + A new instance of . + + + + Creates an instance of with the specified + and + and the lifetime. + + The type of the service. + The type of the implementation. + A new instance of . + + + + Creates an instance of with the specified + and + and the lifetime. + + The type of the service. + The of the service. + The type of the implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + , + and the lifetime. + + The type of the service. + The type of the implementation. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + , + and the lifetime. + + The type of the service. + The type of the implementation. + The of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The type of the implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The type of the implementation. + The of the service. + A new instance of . + + + + Creates an instance of with the specified + and + and the lifetime. + + The type of the service. + The type of the implementation. + A new instance of . + + + + Creates an instance of with the specified + and + and the lifetime. + + The type of the service. + The of the service. + The type of the implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + , + and the lifetime. + + The type of the service. + The type of the implementation. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + , + and the lifetime. + + The type of the service. + The type of the implementation. + The of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The instance of the implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The of the service. + The instance of the implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The instance of the implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The of the service. + The instance of the implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and . + + The type of the service. + The type of the implementation. + The lifetime of the service. + A new instance of . + + + + Creates an instance of with the specified + , , + and . + + The type of the service. + The of the service. + The type of the implementation. + The lifetime of the service. + A new instance of . + + + + Creates an instance of with the specified + , , + and . + + The type of the service. + A factory to create new instances of the service implementation. + The lifetime of the service. + A new instance of . + + + + Creates an instance of with the specified + , , + and . + + The type of the service. + The of the service. + A factory to create new instances of the service implementation. + The lifetime of the service. + A new instance of . + + + + ServiceKeyAttribute can be specified on a parameter to inject the key that was used for + registration/resolution. + + + + + Specifies the lifetime of a service in an . + + + + + Specifies that a single instance of the service will be created. + + + + + Specifies that a new instance of the service will be created for each scope. + + + In ASP.NET Core applications a scope is created around each server request. + + + + + Specifies that a new instance of the service will be created every time it is requested. + + + + + Extension methods for getting services from an . + + + + + Get service of type from the . + + The type of service object to get. + The to retrieve the service object from. + An object that specifies the key of service object to get. + A service object of type or null if there is no such service. + + + + Get service of type from the . + + The to retrieve the service object from. + An object that specifies the type of service object to get. + An object that specifies the key of service object to get. + A service object of type . + There is no service of type . + + + + Get service of type from the . + + The type of service object to get. + The to retrieve the service object from. + An object that specifies the key of service object to get. + A service object of type . + There is no service of type . + + + + Get an enumeration of services of type from the . + + The type of service object to get. + The to retrieve the services from. + An object that specifies the key of service object to get. + An enumeration of services of type . + + + + Get an enumeration of services of type from the . + + The to retrieve the services from. + An object that specifies the type of service object to get. + An object that specifies the key of service object to get. + An enumeration of services of type . + + + + Extension methods for getting services from an . + + + + + Get service of type from the . + + The type of service object to get. + The to retrieve the service object from. + A service object of type or null if there is no such service. + + + + Get service of type from the . + + The to retrieve the service object from. + An object that specifies the type of service object to get. + A service object of type . + There is no service of type . + + + + Get service of type from the . + + The type of service object to get. + The to retrieve the service object from. + A service object of type . + There is no service of type . + + + + Get an enumeration of services of type from the . + + The type of service object to get. + The to retrieve the services from. + An enumeration of services of type . + + + + Get an enumeration of services of type from the . + + The to retrieve the services from. + An object that specifies the type of service object to get. + An enumeration of services of type . + + + + Creates a new that can be used to resolve scoped services. + + The to create the scope from. + A that can be used to resolve scoped services. + + + + Creates a new that can be used to resolve scoped services. + + The to create the scope from. + An that can be used to resolve scoped services. + + + + Creates a new that can be used to resolve scoped services. + + The to create the scope from. + An that can be used to resolve scoped services. + + + Throws an if is null. + The reference type argument to validate as non-null. + The name of the parameter with which corresponds. + + + + Throws either an or an + if the specified string is or whitespace respectively. + + String to be checked for or whitespace. + The name of the parameter being checked. + The original value of . + + + + Attribute used to indicate a source generator should create a function for marshalling + arguments instead of relying on the runtime to generate an equivalent marshalling function at run-time. + + + This attribute is meaningless if the source generator associated with it is not enabled. + The current built-in source generator only supports C# and only supplies an implementation when + applied to static, partial, non-generic methods. + + + + + Initializes a new instance of the . + + Name of the library containing the import. + + + + Gets the name of the library containing the import. + + + + + Gets or sets the name of the entry point to be called. + + + + + Gets or sets how to marshal string arguments to the method. + + + If this field is set to a value other than , + must not be specified. + + + + + Gets or sets the used to control how string arguments to the method are marshalled. + + + If this field is specified, must not be specified + or must be set to . + + + + + Gets or sets whether the callee sets an error (SetLastError on Windows or errno + on other platforms) before returning from the attributed method. + + + + + Specifies how strings should be marshalled for generated p/invokes + + + + + Indicates the user is suppling a specific marshaller in . + + + + + Use the platform-provided UTF-8 marshaller. + + + + + Use the platform-provided UTF-16 marshaller. + + + + + Indicates that certain members on a specified are accessed dynamically, + for example through . + + + This allows tools to understand which members are being accessed during the execution + of a program. + + This attribute is valid on members whose type is or . + + When this attribute is applied to a location of type , the assumption is + that the string represents a fully qualified type name. + + When this attribute is applied to a class, interface, or struct, the members specified + can be accessed dynamically on instances returned from calling + on instances of that class, interface, or struct. + + If the attribute is applied to a method it's treated as a special case and it implies + the attribute should be applied to the "this" parameter of the method. As such the attribute + should only be used on instance methods of types assignable to System.Type (or string, but no methods + will use it there). + + + + + Initializes a new instance of the class + with the specified member types. + + The types of members dynamically accessed. + + + + Gets the which specifies the type + of members dynamically accessed. + + + + + Specifies the types of members that are dynamically accessed. + + This enumeration has a attribute that allows a + bitwise combination of its member values. + + + + + Specifies no members. + + + + + Specifies the default, parameterless public constructor. + + + + + Specifies all public constructors. + + + + + Specifies all non-public constructors. + + + + + Specifies all public methods. + + + + + Specifies all non-public methods. + + + + + Specifies all public fields. + + + + + Specifies all non-public fields. + + + + + Specifies all public nested types. + + + + + Specifies all non-public nested types. + + + + + Specifies all public properties. + + + + + Specifies all non-public properties. + + + + + Specifies all public events. + + + + + Specifies all non-public events. + + + + + Specifies all interfaces implemented by the type. + + + + + Specifies all members. + + + + + Suppresses reporting of a specific rule violation, allowing multiple suppressions on a + single code artifact. + + + is different than + in that it doesn't have a + . So it is always preserved in the compiled assembly. + + + + + Initializes a new instance of the + class, specifying the category of the tool and the identifier for an analysis rule. + + The category for the attribute. + The identifier of the analysis rule the attribute applies to. + + + + Gets the category identifying the classification of the attribute. + + + The property describes the tool or tool analysis category + for which a message suppression attribute applies. + + + + + Gets the identifier of the analysis tool rule to be suppressed. + + + Concatenated together, the and + properties form a unique check identifier. + + + + + Gets or sets the scope of the code that is relevant for the attribute. + + + The Scope property is an optional argument that specifies the metadata scope for which + the attribute is relevant. + + + + + Gets or sets a fully qualified path that represents the target of the attribute. + + + The property is an optional argument identifying the analysis target + of the attribute. An example value is "System.IO.Stream.ctor():System.Void". + Because it is fully qualified, it can be long, particularly for targets such as parameters. + The analysis tool user interface should be capable of automatically formatting the parameter. + + + + + Gets or sets an optional argument expanding on exclusion criteria. + + + The property is an optional argument that specifies additional + exclusion where the literal metadata target is not sufficiently precise. For example, + the cannot be applied within a method, + and it may be desirable to suppress a violation against a statement in the method that will + give a rule violation, but not against all statements in the method. + + + + + Gets or sets the justification for suppressing the code analysis message. + + + + + Indicates that the specified method requires the ability to generate new code at runtime, + for example through . + + + This allows tools to understand which methods are unsafe to call when compiling ahead of time. + + + + + Initializes a new instance of the class + with the specified message. + + + A message that contains information about the usage of dynamic code. + + + + + Gets a message that contains information about the usage of dynamic code. + + + + + Gets or sets an optional URL that contains more information about the method, + why it requires dynamic code, and what options a consumer has to deal with it. + + + + Specifies that the method or property will ensure that the listed field and property members have not-null values. + + + Initializes the attribute with a field or property member. + + The field or property member that is promised to be not-null. + + + + Initializes the attribute with the list of field and property members. + + The list of field and property members that are promised to be not-null. + + + + Gets field or property member names. + + + Specifies that the method or property will ensure that the listed field and property members have not-null values when returning with the specified return value condition. + + + Initializes the attribute with the specified return value condition and a field or property member. + + The return value condition. If the method returns this value, the associated parameter will not be null. + + + The field or property member that is promised to be not-null. + + + + Initializes the attribute with the specified return value condition and list of field and property members. + + The return value condition. If the method returns this value, the associated parameter will not be null. + + + The list of field and property members that are promised to be not-null. + + + + Gets the return value condition. + + + Gets field or property member names. + + + Multiple constructors accepting all given argument types have been found in type '{0}'. There should only be one applicable constructor. + + + Unable to resolve service for type '{0}' while attempting to activate '{1}'. + + + A suitable constructor for type '{0}' could not be located. Ensure the type is concrete and services are registered for all parameters of a public constructor. + + + No service for type '{0}' has been registered. + + + The service collection cannot be modified because it is read-only. + + + Implementation type cannot be '{0}' because it is indistinguishable from other services registered for '{1}'. + + + Multiple constructors were marked with {0}. + + + Constructor marked with {0} does not accept all given argument types. + + + Instances of abstract classes cannot be created. + + + Multiple constructors for type '{0}' were found with length {1}. + + + Unable to resolve service for type '{0}' while attempting to activate '{1}'. + + + A suitable constructor for type '{0}' could not be located. Ensure the type is concrete and all parameters of a public constructor are either registered as services or passed as arguments. Also ensure no extraneous arguments are provided. + + + Multiple constructors accepting all given argument types have been found in type '{0}'. There should only be one applicable constructor. + + + This service provider doesn't support keyed services. + + + This service descriptor is keyed. Your service provider may not support keyed services. + + + This service descriptor is not keyed. + + + diff --git a/packages/Microsoft.Extensions.DependencyInjection.Abstractions.8.0.0/useSharedDesignerContext.txt b/packages/Microsoft.Extensions.DependencyInjection.Abstractions.8.0.0/useSharedDesignerContext.txt new file mode 100644 index 0000000..e69de29 diff --git a/packages/Microsoft.Extensions.Logging.Abstractions.8.0.0/.signature.p7s b/packages/Microsoft.Extensions.Logging.Abstractions.8.0.0/.signature.p7s new file mode 100644 index 0000000000000000000000000000000000000000..f720f7b8f95cdde0e27a8418c42091f074dfdc8c GIT binary patch literal 24223 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 literal 0 HcmV?d00001 diff --git a/packages/Microsoft.Extensions.Logging.Abstractions.8.0.0/Icon.png b/packages/Microsoft.Extensions.Logging.Abstractions.8.0.0/Icon.png new file mode 100644 index 0000000000000000000000000000000000000000..a0f1fdbf4d5eae0e561018cccee74f6a454cdb9c GIT binary patch literal 7006 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 literal 0 HcmV?d00001 diff --git a/packages/Microsoft.Extensions.Logging.Abstractions.8.0.0/LICENSE.TXT b/packages/Microsoft.Extensions.Logging.Abstractions.8.0.0/LICENSE.TXT new file mode 100644 index 0000000..984713a --- /dev/null +++ b/packages/Microsoft.Extensions.Logging.Abstractions.8.0.0/LICENSE.TXT @@ -0,0 +1,23 @@ +The MIT License (MIT) + +Copyright (c) .NET Foundation and Contributors + +All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/packages/Microsoft.Extensions.Logging.Abstractions.8.0.0/Microsoft.Extensions.Logging.Abstractions.8.0.0.nupkg b/packages/Microsoft.Extensions.Logging.Abstractions.8.0.0/Microsoft.Extensions.Logging.Abstractions.8.0.0.nupkg new file mode 100644 index 0000000000000000000000000000000000000000..d1a6ee6eec333aaa58ba4082aa9718e0918f4d02 GIT binary patch literal 795935 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 z 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