From de4ee3d05f4739fa65d94b18343fad1ac308247c Mon Sep 17 00:00:00 2001 From: Mascali Date: Fri, 8 Oct 2021 12:34:45 +0200 Subject: [PATCH] First commit --- .idea/.idea.Denombrements/.idea/.gitignore | 13 + .idea/.idea.Denombrements/.idea/encodings.xml | 4 + .../.idea.Denombrements/.idea/indexLayout.xml | 8 + .idea/.idea.Denombrements/.idea/vcs.xml | 6 + .vs/Denombrements/v16/.suo | Bin 0 -> 35328 bytes Denombrements.sln | 25 + Denombrements.sln.DotSettings.user | 2 + Denombrements/App.config | 6 + Denombrements/Denombrements.csproj | 104 + Denombrements/Program.cs | 74 + Denombrements/Properties/AssemblyInfo.cs | 36 + Denombrements/bin/Debug/Denombrements.exe | Bin 0 -> 6144 bytes .../bin/Debug/Denombrements.exe.config | 14 + Denombrements/bin/Debug/Denombrements.pdb | Bin 0 -> 1264 bytes .../Debug/Microsoft.Bcl.AsyncInterfaces.dll | Bin 0 -> 20872 bytes .../Debug/Microsoft.Bcl.AsyncInterfaces.xml | 223 + Denombrements/bin/Debug/System.Buffers.dll | Bin 0 -> 20856 bytes Denombrements/bin/Debug/System.Buffers.xml | 38 + .../Debug/System.Collections.Immutable.dll | Bin 0 -> 189312 bytes .../Debug/System.Collections.Immutable.xml | 5380 +++++++++++ Denombrements/bin/Debug/System.Memory.dll | Bin 0 -> 141184 bytes Denombrements/bin/Debug/System.Memory.xml | 355 + .../bin/Debug/System.Numerics.Vectors.dll | Bin 0 -> 115856 bytes .../bin/Debug/System.Numerics.Vectors.xml | 2621 ++++++ .../bin/Debug/System.Reflection.Metadata.dll | Bin 0 -> 462728 bytes .../bin/Debug/System.Reflection.Metadata.xml | 8202 +++++++++++++++++ ...System.Runtime.CompilerServices.Unsafe.dll | Bin 0 -> 16768 bytes ...System.Runtime.CompilerServices.Unsafe.xml | 258 + ...ime.InteropServices.RuntimeInformation.dll | Bin 0 -> 33256 bytes .../bin/Debug/System.Text.Encodings.Web.dll | Bin 0 -> 68472 bytes .../bin/Debug/System.Text.Encodings.Web.xml | 936 ++ Denombrements/bin/Debug/System.Text.Json.dll | Bin 0 -> 355720 bytes Denombrements/bin/Debug/System.Text.Json.xml | 2661 ++++++ .../System.Threading.Tasks.Extensions.dll | Bin 0 -> 25984 bytes .../System.Threading.Tasks.Extensions.xml | 166 + Denombrements/bin/Debug/System.ValueTuple.dll | Bin 0 -> 25232 bytes Denombrements/bin/Debug/System.ValueTuple.xml | 8 + ...ework,Version=v4.7.2.AssemblyAttributes.cs | 4 + ...nombrements.csproj.AssemblyReference.cache | Bin 0 -> 16625 bytes .../Debug/Denombrements.csproj.CopyComplete | 0 ...nombrements.csproj.CoreCompileInputs.cache | 1 + .../Denombrements.csproj.FileListAbsolute.txt | 45 + ...enombrements.csprojAssemblyReference.cache | Bin 0 -> 8212 bytes Denombrements/obj/Debug/Denombrements.exe | Bin 0 -> 6144 bytes .../obj/Debug/Denombrements.exe.config | 14 + Denombrements/obj/Debug/Denombrements.pdb | Bin 0 -> 1264 bytes ...gnTimeResolveAssemblyReferencesInput.cache | Bin 0 -> 6797 bytes Denombrements/packages.config | 15 + .../.signature.p7s | Bin 0 -> 18703 bytes .../Icon.png | Bin 0 -> 7006 bytes .../LICENSE.TXT | 23 + .../Microsoft.Bcl.AsyncInterfaces.5.0.0.nupkg | Bin 0 -> 74074 bytes .../THIRD-PARTY-NOTICES.TXT | 884 ++ .../net461/Microsoft.Bcl.AsyncInterfaces.dll | Bin 0 -> 20872 bytes .../net461/Microsoft.Bcl.AsyncInterfaces.xml | 223 + .../Microsoft.Bcl.AsyncInterfaces.dll | Bin 0 -> 20872 bytes .../Microsoft.Bcl.AsyncInterfaces.xml | 223 + .../Microsoft.Bcl.AsyncInterfaces.dll | Bin 0 -> 14720 bytes .../Microsoft.Bcl.AsyncInterfaces.xml | 8 + .../useSharedDesignerContext.txt | 0 .../version.txt | 1 + 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 -> 18702 bytes .../Icon.png | Bin 0 -> 7006 bytes .../LICENSE.TXT | 23 + .../System.Collections.Immutable.5.0.0.nupkg | Bin 0 -> 623075 bytes .../THIRD-PARTY-NOTICES.TXT | 884 ++ .../net461/System.Collections.Immutable.dll | Bin 0 -> 189312 bytes .../net461/System.Collections.Immutable.xml | 5380 +++++++++++ .../System.Collections.Immutable.dll | Bin 0 -> 188296 bytes .../System.Collections.Immutable.xml | 5380 +++++++++++ .../System.Collections.Immutable.dll | Bin 0 -> 189832 bytes .../System.Collections.Immutable.xml | 5380 +++++++++++ .../System.Collections.Immutable.dll | Bin 0 -> 189312 bytes .../System.Collections.Immutable.xml | 5380 +++++++++++ .../System.Collections.Immutable.dll | Bin 0 -> 188296 bytes .../System.Collections.Immutable.xml | 5380 +++++++++++ .../useSharedDesignerContext.txt | 0 .../version.txt | 1 + packages/System.Memory.4.5.4/.signature.p7s | Bin 0 -> 18702 bytes packages/System.Memory.4.5.4/LICENSE.TXT | 23 + .../System.Memory.4.5.4.nupkg | Bin 0 -> 205467 bytes .../THIRD-PARTY-NOTICES.TXT | 309 + .../lib/net461/System.Memory.dll | Bin 0 -> 141184 bytes .../lib/net461/System.Memory.xml | 355 + .../System.Memory.4.5.4/lib/netcoreapp2.1/_._ | 0 .../lib/netstandard1.1/System.Memory.dll | Bin 0 -> 137088 bytes .../lib/netstandard1.1/System.Memory.xml | 355 + .../lib/netstandard2.0/System.Memory.dll | Bin 0 -> 141688 bytes .../lib/netstandard2.0/System.Memory.xml | 355 + .../System.Memory.4.5.4/ref/netcoreapp2.1/_._ | 0 .../useSharedDesignerContext.txt | 0 packages/System.Memory.4.5.4/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 -> 18702 bytes .../System.Reflection.Metadata.5.0.0/Icon.png | Bin 0 -> 7006 bytes .../LICENSE.TXT | 23 + .../System.Reflection.Metadata.5.0.0.nupkg | Bin 0 -> 1006081 bytes .../THIRD-PARTY-NOTICES.TXT | 884 ++ .../lib/net461/System.Reflection.Metadata.dll | Bin 0 -> 462728 bytes .../lib/net461/System.Reflection.Metadata.xml | 8202 +++++++++++++++++ .../System.Reflection.Metadata.dll | Bin 0 -> 464776 bytes .../System.Reflection.Metadata.xml | 8202 +++++++++++++++++ .../System.Reflection.Metadata.dll | Bin 0 -> 462720 bytes .../System.Reflection.Metadata.xml | 8202 +++++++++++++++++ .../System.Reflection.Metadata.dll | Bin 0 -> 464776 bytes .../System.Reflection.Metadata.xml | 8202 +++++++++++++++++ .../useSharedDesignerContext.txt | 0 .../version.txt | 1 + .../.signature.p7s | Bin 0 -> 18702 bytes .../Icon.png | Bin 0 -> 7006 bytes .../LICENSE.TXT | 23 + ...untime.CompilerServices.Unsafe.5.0.0.nupkg | Bin 0 -> 130329 bytes .../THIRD-PARTY-NOTICES.TXT | 884 ++ ...System.Runtime.CompilerServices.Unsafe.dll | Bin 0 -> 16768 bytes ...System.Runtime.CompilerServices.Unsafe.xml | 258 + ...System.Runtime.CompilerServices.Unsafe.dll | Bin 0 -> 16776 bytes ...System.Runtime.CompilerServices.Unsafe.xml | 258 + ...System.Runtime.CompilerServices.Unsafe.dll | Bin 0 -> 16776 bytes ...System.Runtime.CompilerServices.Unsafe.xml | 258 + ...System.Runtime.CompilerServices.Unsafe.dll | Bin 0 -> 16776 bytes ...System.Runtime.CompilerServices.Unsafe.xml | 258 + ...System.Runtime.CompilerServices.Unsafe.dll | Bin 0 -> 19336 bytes ...System.Runtime.CompilerServices.Unsafe.xml | 258 + ...System.Runtime.CompilerServices.Unsafe.dll | Bin 0 -> 19336 bytes ...System.Runtime.CompilerServices.Unsafe.xml | 258 + ...System.Runtime.CompilerServices.Unsafe.dll | Bin 0 -> 19336 bytes ...System.Runtime.CompilerServices.Unsafe.xml | 258 + ...System.Runtime.CompilerServices.Unsafe.dll | Bin 0 -> 17792 bytes ...System.Runtime.CompilerServices.Unsafe.xml | 258 + .../useSharedDesignerContext.txt | 0 .../version.txt | 1 + .../.signature.p7s | Bin 0 -> 9483 bytes ...ropServices.RuntimeInformation.4.3.0.nupkg | Bin 0 -> 179546 bytes .../ThirdPartyNotices.txt | 31 + .../dotnet_library_license.txt | 128 + .../lib/MonoAndroid10/_._ | 0 .../lib/MonoTouch10/_._ | 0 ...ime.InteropServices.RuntimeInformation.dll | Bin 0 -> 33256 bytes ...ime.InteropServices.RuntimeInformation.dll | Bin 0 -> 22352 bytes ...ime.InteropServices.RuntimeInformation.dll | Bin 0 -> 32744 bytes ...ime.InteropServices.RuntimeInformation.dll | Bin 0 -> 32744 bytes .../lib/xamarinios10/_._ | 0 .../lib/xamarinmac20/_._ | 0 .../lib/xamarintvos10/_._ | 0 .../lib/xamarinwatchos10/_._ | 0 .../ref/MonoAndroid10/_._ | 0 .../ref/MonoTouch10/_._ | 0 ...ime.InteropServices.RuntimeInformation.dll | Bin 0 -> 22504 bytes .../ref/xamarinios10/_._ | 0 .../ref/xamarinmac20/_._ | 0 .../ref/xamarintvos10/_._ | 0 .../ref/xamarinwatchos10/_._ | 0 ...ime.InteropServices.RuntimeInformation.dll | Bin 0 -> 32744 bytes ...ime.InteropServices.RuntimeInformation.dll | Bin 0 -> 27616 bytes ...ime.InteropServices.RuntimeInformation.dll | Bin 0 -> 33256 bytes ...ime.InteropServices.RuntimeInformation.dll | Bin 0 -> 32744 bytes ...ime.InteropServices.RuntimeInformation.dll | Bin 0 -> 33256 bytes .../.signature.p7s | Bin 0 -> 18702 bytes .../System.Text.Encodings.Web.5.0.1/Icon.png | Bin 0 -> 7006 bytes .../LICENSE.TXT | 23 + .../System.Text.Encodings.Web.5.0.1.nupkg | Bin 0 -> 233857 bytes .../THIRD-PARTY-NOTICES.TXT | 884 ++ .../lib/net461/System.Text.Encodings.Web.dll | Bin 0 -> 68472 bytes .../lib/net461/System.Text.Encodings.Web.xml | 936 ++ .../System.Text.Encodings.Web.dll | Bin 0 -> 170360 bytes .../System.Text.Encodings.Web.xml | 936 ++ .../System.Text.Encodings.Web.dll | Bin 0 -> 54136 bytes .../System.Text.Encodings.Web.xml | 866 ++ .../System.Text.Encodings.Web.dll | Bin 0 -> 68472 bytes .../System.Text.Encodings.Web.xml | 936 ++ .../System.Text.Encodings.Web.dll | Bin 0 -> 66936 bytes .../System.Text.Encodings.Web.xml | 936 ++ .../useSharedDesignerContext.txt | 0 .../version.txt | 1 + .../System.Text.Json.5.0.2/.signature.p7s | Bin 0 -> 18702 bytes packages/System.Text.Json.5.0.2/Icon.png | Bin 0 -> 7006 bytes packages/System.Text.Json.5.0.2/LICENSE.TXT | 23 + .../System.Text.Json.5.0.2.nupkg | Bin 0 -> 479580 bytes .../THIRD-PARTY-NOTICES.TXT | 884 ++ .../lib/net461/System.Text.Json.dll | Bin 0 -> 355720 bytes .../lib/net461/System.Text.Json.xml | 2661 ++++++ .../lib/netcoreapp3.0/System.Text.Json.dll | Bin 0 -> 352128 bytes .../lib/netcoreapp3.0/System.Text.Json.xml | 2661 ++++++ .../lib/netstandard2.0/System.Text.Json.dll | Bin 0 -> 351632 bytes .../lib/netstandard2.0/System.Text.Json.xml | 2661 ++++++ .../useSharedDesignerContext.txt | 0 packages/System.Text.Json.5.0.2/version.txt | 1 + .../.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 + 309 files changed, 130140 insertions(+) create mode 100644 .idea/.idea.Denombrements/.idea/.gitignore create mode 100644 .idea/.idea.Denombrements/.idea/encodings.xml create mode 100644 .idea/.idea.Denombrements/.idea/indexLayout.xml create mode 100644 .idea/.idea.Denombrements/.idea/vcs.xml create mode 100644 .vs/Denombrements/v16/.suo create mode 100644 Denombrements.sln create mode 100644 Denombrements.sln.DotSettings.user create mode 100644 Denombrements/App.config create mode 100644 Denombrements/Denombrements.csproj create mode 100644 Denombrements/Program.cs create mode 100644 Denombrements/Properties/AssemblyInfo.cs create mode 100644 Denombrements/bin/Debug/Denombrements.exe create mode 100644 Denombrements/bin/Debug/Denombrements.exe.config create mode 100644 Denombrements/bin/Debug/Denombrements.pdb create mode 100755 Denombrements/bin/Debug/Microsoft.Bcl.AsyncInterfaces.dll create mode 100755 Denombrements/bin/Debug/Microsoft.Bcl.AsyncInterfaces.xml create mode 100755 Denombrements/bin/Debug/System.Buffers.dll create mode 100755 Denombrements/bin/Debug/System.Buffers.xml create mode 100755 Denombrements/bin/Debug/System.Collections.Immutable.dll create mode 100755 Denombrements/bin/Debug/System.Collections.Immutable.xml create mode 100755 Denombrements/bin/Debug/System.Memory.dll create mode 100755 Denombrements/bin/Debug/System.Memory.xml create mode 100755 Denombrements/bin/Debug/System.Numerics.Vectors.dll create mode 100755 Denombrements/bin/Debug/System.Numerics.Vectors.xml create mode 100755 Denombrements/bin/Debug/System.Reflection.Metadata.dll create mode 100755 Denombrements/bin/Debug/System.Reflection.Metadata.xml create mode 100755 Denombrements/bin/Debug/System.Runtime.CompilerServices.Unsafe.dll create mode 100755 Denombrements/bin/Debug/System.Runtime.CompilerServices.Unsafe.xml create mode 100755 Denombrements/bin/Debug/System.Runtime.InteropServices.RuntimeInformation.dll create mode 100755 Denombrements/bin/Debug/System.Text.Encodings.Web.dll create mode 100755 Denombrements/bin/Debug/System.Text.Encodings.Web.xml create mode 100755 Denombrements/bin/Debug/System.Text.Json.dll create mode 100755 Denombrements/bin/Debug/System.Text.Json.xml create mode 100755 Denombrements/bin/Debug/System.Threading.Tasks.Extensions.dll create mode 100755 Denombrements/bin/Debug/System.Threading.Tasks.Extensions.xml create mode 100755 Denombrements/bin/Debug/System.ValueTuple.dll create mode 100755 Denombrements/bin/Debug/System.ValueTuple.xml create mode 100644 Denombrements/obj/Debug/.NETFramework,Version=v4.7.2.AssemblyAttributes.cs create mode 100644 Denombrements/obj/Debug/Denombrements.csproj.AssemblyReference.cache create mode 100644 Denombrements/obj/Debug/Denombrements.csproj.CopyComplete create mode 100644 Denombrements/obj/Debug/Denombrements.csproj.CoreCompileInputs.cache create mode 100644 Denombrements/obj/Debug/Denombrements.csproj.FileListAbsolute.txt create mode 100644 Denombrements/obj/Debug/Denombrements.csprojAssemblyReference.cache create mode 100644 Denombrements/obj/Debug/Denombrements.exe create mode 100644 Denombrements/obj/Debug/Denombrements.exe.config create mode 100644 Denombrements/obj/Debug/Denombrements.pdb create mode 100644 Denombrements/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache create mode 100644 Denombrements/packages.config create mode 100755 packages/Microsoft.Bcl.AsyncInterfaces.5.0.0/.signature.p7s create mode 100755 packages/Microsoft.Bcl.AsyncInterfaces.5.0.0/Icon.png create mode 100755 packages/Microsoft.Bcl.AsyncInterfaces.5.0.0/LICENSE.TXT create mode 100755 packages/Microsoft.Bcl.AsyncInterfaces.5.0.0/Microsoft.Bcl.AsyncInterfaces.5.0.0.nupkg create mode 100755 packages/Microsoft.Bcl.AsyncInterfaces.5.0.0/THIRD-PARTY-NOTICES.TXT create mode 100755 packages/Microsoft.Bcl.AsyncInterfaces.5.0.0/lib/net461/Microsoft.Bcl.AsyncInterfaces.dll create mode 100755 packages/Microsoft.Bcl.AsyncInterfaces.5.0.0/lib/net461/Microsoft.Bcl.AsyncInterfaces.xml create mode 100755 packages/Microsoft.Bcl.AsyncInterfaces.5.0.0/lib/netstandard2.0/Microsoft.Bcl.AsyncInterfaces.dll create mode 100755 packages/Microsoft.Bcl.AsyncInterfaces.5.0.0/lib/netstandard2.0/Microsoft.Bcl.AsyncInterfaces.xml create mode 100755 packages/Microsoft.Bcl.AsyncInterfaces.5.0.0/lib/netstandard2.1/Microsoft.Bcl.AsyncInterfaces.dll create mode 100755 packages/Microsoft.Bcl.AsyncInterfaces.5.0.0/lib/netstandard2.1/Microsoft.Bcl.AsyncInterfaces.xml create mode 100755 packages/Microsoft.Bcl.AsyncInterfaces.5.0.0/useSharedDesignerContext.txt create mode 100755 packages/Microsoft.Bcl.AsyncInterfaces.5.0.0/version.txt create mode 100755 packages/System.Buffers.4.5.1/.signature.p7s create mode 100755 packages/System.Buffers.4.5.1/LICENSE.TXT create mode 100755 packages/System.Buffers.4.5.1/System.Buffers.4.5.1.nupkg create mode 100755 packages/System.Buffers.4.5.1/THIRD-PARTY-NOTICES.TXT create mode 100755 packages/System.Buffers.4.5.1/lib/net461/System.Buffers.dll create mode 100755 packages/System.Buffers.4.5.1/lib/net461/System.Buffers.xml create mode 100755 packages/System.Buffers.4.5.1/lib/netcoreapp2.0/_._ create mode 100755 packages/System.Buffers.4.5.1/lib/netstandard1.1/System.Buffers.dll create mode 100755 packages/System.Buffers.4.5.1/lib/netstandard1.1/System.Buffers.xml create mode 100755 packages/System.Buffers.4.5.1/lib/netstandard2.0/System.Buffers.dll create mode 100755 packages/System.Buffers.4.5.1/lib/netstandard2.0/System.Buffers.xml create mode 100755 packages/System.Buffers.4.5.1/lib/uap10.0.16299/_._ create mode 100755 packages/System.Buffers.4.5.1/ref/net45/System.Buffers.dll create mode 100755 packages/System.Buffers.4.5.1/ref/net45/System.Buffers.xml create mode 100755 packages/System.Buffers.4.5.1/ref/netcoreapp2.0/_._ create mode 100755 packages/System.Buffers.4.5.1/ref/netstandard1.1/System.Buffers.dll create mode 100755 packages/System.Buffers.4.5.1/ref/netstandard1.1/System.Buffers.xml create mode 100755 packages/System.Buffers.4.5.1/ref/netstandard2.0/System.Buffers.dll create mode 100755 packages/System.Buffers.4.5.1/ref/netstandard2.0/System.Buffers.xml create mode 100755 packages/System.Buffers.4.5.1/ref/uap10.0.16299/_._ create mode 100755 packages/System.Buffers.4.5.1/useSharedDesignerContext.txt create mode 100755 packages/System.Buffers.4.5.1/version.txt create mode 100755 packages/System.Collections.Immutable.5.0.0/.signature.p7s create mode 100755 packages/System.Collections.Immutable.5.0.0/Icon.png create mode 100755 packages/System.Collections.Immutable.5.0.0/LICENSE.TXT create mode 100755 packages/System.Collections.Immutable.5.0.0/System.Collections.Immutable.5.0.0.nupkg create mode 100755 packages/System.Collections.Immutable.5.0.0/THIRD-PARTY-NOTICES.TXT create mode 100755 packages/System.Collections.Immutable.5.0.0/lib/net461/System.Collections.Immutable.dll create mode 100755 packages/System.Collections.Immutable.5.0.0/lib/net461/System.Collections.Immutable.xml create mode 100755 packages/System.Collections.Immutable.5.0.0/lib/netstandard1.0/System.Collections.Immutable.dll create mode 100755 packages/System.Collections.Immutable.5.0.0/lib/netstandard1.0/System.Collections.Immutable.xml create mode 100755 packages/System.Collections.Immutable.5.0.0/lib/netstandard1.3/System.Collections.Immutable.dll create mode 100755 packages/System.Collections.Immutable.5.0.0/lib/netstandard1.3/System.Collections.Immutable.xml create mode 100755 packages/System.Collections.Immutable.5.0.0/lib/netstandard2.0/System.Collections.Immutable.dll create mode 100755 packages/System.Collections.Immutable.5.0.0/lib/netstandard2.0/System.Collections.Immutable.xml create mode 100755 packages/System.Collections.Immutable.5.0.0/lib/portable-net45+win8+wp8+wpa81/System.Collections.Immutable.dll create mode 100755 packages/System.Collections.Immutable.5.0.0/lib/portable-net45+win8+wp8+wpa81/System.Collections.Immutable.xml create mode 100755 packages/System.Collections.Immutable.5.0.0/useSharedDesignerContext.txt create mode 100755 packages/System.Collections.Immutable.5.0.0/version.txt create mode 100755 packages/System.Memory.4.5.4/.signature.p7s create mode 100755 packages/System.Memory.4.5.4/LICENSE.TXT create mode 100755 packages/System.Memory.4.5.4/System.Memory.4.5.4.nupkg create mode 100755 packages/System.Memory.4.5.4/THIRD-PARTY-NOTICES.TXT create mode 100755 packages/System.Memory.4.5.4/lib/net461/System.Memory.dll create mode 100755 packages/System.Memory.4.5.4/lib/net461/System.Memory.xml create mode 100755 packages/System.Memory.4.5.4/lib/netcoreapp2.1/_._ create mode 100755 packages/System.Memory.4.5.4/lib/netstandard1.1/System.Memory.dll create mode 100755 packages/System.Memory.4.5.4/lib/netstandard1.1/System.Memory.xml create mode 100755 packages/System.Memory.4.5.4/lib/netstandard2.0/System.Memory.dll create mode 100755 packages/System.Memory.4.5.4/lib/netstandard2.0/System.Memory.xml create mode 100755 packages/System.Memory.4.5.4/ref/netcoreapp2.1/_._ create mode 100755 packages/System.Memory.4.5.4/useSharedDesignerContext.txt create mode 100755 packages/System.Memory.4.5.4/version.txt create mode 100755 packages/System.Numerics.Vectors.4.5.0/.signature.p7s create mode 100755 packages/System.Numerics.Vectors.4.5.0/LICENSE.TXT create mode 100755 packages/System.Numerics.Vectors.4.5.0/System.Numerics.Vectors.4.5.0.nupkg create mode 100755 packages/System.Numerics.Vectors.4.5.0/THIRD-PARTY-NOTICES.TXT create mode 100755 packages/System.Numerics.Vectors.4.5.0/lib/MonoAndroid10/_._ create mode 100755 packages/System.Numerics.Vectors.4.5.0/lib/MonoTouch10/_._ create mode 100755 packages/System.Numerics.Vectors.4.5.0/lib/net46/System.Numerics.Vectors.dll create mode 100755 packages/System.Numerics.Vectors.4.5.0/lib/net46/System.Numerics.Vectors.xml create mode 100755 packages/System.Numerics.Vectors.4.5.0/lib/netcoreapp2.0/_._ create mode 100755 packages/System.Numerics.Vectors.4.5.0/lib/netstandard1.0/System.Numerics.Vectors.dll create mode 100755 packages/System.Numerics.Vectors.4.5.0/lib/netstandard1.0/System.Numerics.Vectors.xml create mode 100755 packages/System.Numerics.Vectors.4.5.0/lib/netstandard2.0/System.Numerics.Vectors.dll create mode 100755 packages/System.Numerics.Vectors.4.5.0/lib/netstandard2.0/System.Numerics.Vectors.xml create mode 100755 packages/System.Numerics.Vectors.4.5.0/lib/portable-net45+win8+wp8+wpa81/System.Numerics.Vectors.dll create mode 100755 packages/System.Numerics.Vectors.4.5.0/lib/portable-net45+win8+wp8+wpa81/System.Numerics.Vectors.xml create mode 100755 packages/System.Numerics.Vectors.4.5.0/lib/uap10.0.16299/_._ create mode 100755 packages/System.Numerics.Vectors.4.5.0/lib/xamarinios10/_._ create mode 100755 packages/System.Numerics.Vectors.4.5.0/lib/xamarinmac20/_._ create mode 100755 packages/System.Numerics.Vectors.4.5.0/lib/xamarintvos10/_._ create mode 100755 packages/System.Numerics.Vectors.4.5.0/lib/xamarinwatchos10/_._ create mode 100755 packages/System.Numerics.Vectors.4.5.0/ref/MonoAndroid10/_._ create mode 100755 packages/System.Numerics.Vectors.4.5.0/ref/MonoTouch10/_._ create mode 100755 packages/System.Numerics.Vectors.4.5.0/ref/net45/System.Numerics.Vectors.dll create mode 100755 packages/System.Numerics.Vectors.4.5.0/ref/net45/System.Numerics.Vectors.xml create mode 100755 packages/System.Numerics.Vectors.4.5.0/ref/net46/System.Numerics.Vectors.dll create mode 100755 packages/System.Numerics.Vectors.4.5.0/ref/net46/System.Numerics.Vectors.xml create mode 100755 packages/System.Numerics.Vectors.4.5.0/ref/netcoreapp2.0/_._ create mode 100755 packages/System.Numerics.Vectors.4.5.0/ref/netstandard1.0/System.Numerics.Vectors.dll create mode 100755 packages/System.Numerics.Vectors.4.5.0/ref/netstandard1.0/System.Numerics.Vectors.xml create mode 100755 packages/System.Numerics.Vectors.4.5.0/ref/netstandard2.0/System.Numerics.Vectors.dll create mode 100755 packages/System.Numerics.Vectors.4.5.0/ref/netstandard2.0/System.Numerics.Vectors.xml create mode 100755 packages/System.Numerics.Vectors.4.5.0/ref/uap10.0.16299/_._ create mode 100755 packages/System.Numerics.Vectors.4.5.0/ref/xamarinios10/_._ create mode 100755 packages/System.Numerics.Vectors.4.5.0/ref/xamarinmac20/_._ create mode 100755 packages/System.Numerics.Vectors.4.5.0/ref/xamarintvos10/_._ create mode 100755 packages/System.Numerics.Vectors.4.5.0/ref/xamarinwatchos10/_._ create mode 100755 packages/System.Numerics.Vectors.4.5.0/useSharedDesignerContext.txt create mode 100755 packages/System.Numerics.Vectors.4.5.0/version.txt create mode 100755 packages/System.Reflection.Metadata.5.0.0/.signature.p7s create mode 100755 packages/System.Reflection.Metadata.5.0.0/Icon.png create mode 100755 packages/System.Reflection.Metadata.5.0.0/LICENSE.TXT create mode 100755 packages/System.Reflection.Metadata.5.0.0/System.Reflection.Metadata.5.0.0.nupkg create mode 100755 packages/System.Reflection.Metadata.5.0.0/THIRD-PARTY-NOTICES.TXT create mode 100755 packages/System.Reflection.Metadata.5.0.0/lib/net461/System.Reflection.Metadata.dll create mode 100755 packages/System.Reflection.Metadata.5.0.0/lib/net461/System.Reflection.Metadata.xml create mode 100755 packages/System.Reflection.Metadata.5.0.0/lib/netstandard1.1/System.Reflection.Metadata.dll create mode 100755 packages/System.Reflection.Metadata.5.0.0/lib/netstandard1.1/System.Reflection.Metadata.xml create mode 100755 packages/System.Reflection.Metadata.5.0.0/lib/netstandard2.0/System.Reflection.Metadata.dll create mode 100755 packages/System.Reflection.Metadata.5.0.0/lib/netstandard2.0/System.Reflection.Metadata.xml create mode 100755 packages/System.Reflection.Metadata.5.0.0/lib/portable-net45+win8/System.Reflection.Metadata.dll create mode 100755 packages/System.Reflection.Metadata.5.0.0/lib/portable-net45+win8/System.Reflection.Metadata.xml create mode 100755 packages/System.Reflection.Metadata.5.0.0/useSharedDesignerContext.txt create mode 100755 packages/System.Reflection.Metadata.5.0.0/version.txt create mode 100755 packages/System.Runtime.CompilerServices.Unsafe.5.0.0/.signature.p7s create mode 100755 packages/System.Runtime.CompilerServices.Unsafe.5.0.0/Icon.png create mode 100755 packages/System.Runtime.CompilerServices.Unsafe.5.0.0/LICENSE.TXT create mode 100755 packages/System.Runtime.CompilerServices.Unsafe.5.0.0/System.Runtime.CompilerServices.Unsafe.5.0.0.nupkg create mode 100755 packages/System.Runtime.CompilerServices.Unsafe.5.0.0/THIRD-PARTY-NOTICES.TXT create mode 100755 packages/System.Runtime.CompilerServices.Unsafe.5.0.0/lib/net45/System.Runtime.CompilerServices.Unsafe.dll create mode 100755 packages/System.Runtime.CompilerServices.Unsafe.5.0.0/lib/net45/System.Runtime.CompilerServices.Unsafe.xml create mode 100755 packages/System.Runtime.CompilerServices.Unsafe.5.0.0/lib/netcoreapp2.0/System.Runtime.CompilerServices.Unsafe.dll create mode 100755 packages/System.Runtime.CompilerServices.Unsafe.5.0.0/lib/netcoreapp2.0/System.Runtime.CompilerServices.Unsafe.xml create mode 100755 packages/System.Runtime.CompilerServices.Unsafe.5.0.0/lib/netstandard1.0/System.Runtime.CompilerServices.Unsafe.dll create mode 100755 packages/System.Runtime.CompilerServices.Unsafe.5.0.0/lib/netstandard1.0/System.Runtime.CompilerServices.Unsafe.xml create mode 100755 packages/System.Runtime.CompilerServices.Unsafe.5.0.0/lib/netstandard2.0/System.Runtime.CompilerServices.Unsafe.dll create mode 100755 packages/System.Runtime.CompilerServices.Unsafe.5.0.0/lib/netstandard2.0/System.Runtime.CompilerServices.Unsafe.xml create mode 100755 packages/System.Runtime.CompilerServices.Unsafe.5.0.0/ref/net461/System.Runtime.CompilerServices.Unsafe.dll create mode 100755 packages/System.Runtime.CompilerServices.Unsafe.5.0.0/ref/net461/System.Runtime.CompilerServices.Unsafe.xml create mode 100755 packages/System.Runtime.CompilerServices.Unsafe.5.0.0/ref/netstandard1.0/System.Runtime.CompilerServices.Unsafe.dll create mode 100755 packages/System.Runtime.CompilerServices.Unsafe.5.0.0/ref/netstandard1.0/System.Runtime.CompilerServices.Unsafe.xml create mode 100755 packages/System.Runtime.CompilerServices.Unsafe.5.0.0/ref/netstandard2.0/System.Runtime.CompilerServices.Unsafe.dll create mode 100755 packages/System.Runtime.CompilerServices.Unsafe.5.0.0/ref/netstandard2.0/System.Runtime.CompilerServices.Unsafe.xml create mode 100755 packages/System.Runtime.CompilerServices.Unsafe.5.0.0/ref/netstandard2.1/System.Runtime.CompilerServices.Unsafe.dll create mode 100755 packages/System.Runtime.CompilerServices.Unsafe.5.0.0/ref/netstandard2.1/System.Runtime.CompilerServices.Unsafe.xml create mode 100755 packages/System.Runtime.CompilerServices.Unsafe.5.0.0/useSharedDesignerContext.txt create mode 100755 packages/System.Runtime.CompilerServices.Unsafe.5.0.0/version.txt create mode 100755 packages/System.Runtime.InteropServices.RuntimeInformation.4.3.0/.signature.p7s create mode 100755 packages/System.Runtime.InteropServices.RuntimeInformation.4.3.0/System.Runtime.InteropServices.RuntimeInformation.4.3.0.nupkg create mode 100755 packages/System.Runtime.InteropServices.RuntimeInformation.4.3.0/ThirdPartyNotices.txt create mode 100755 packages/System.Runtime.InteropServices.RuntimeInformation.4.3.0/dotnet_library_license.txt create mode 100755 packages/System.Runtime.InteropServices.RuntimeInformation.4.3.0/lib/MonoAndroid10/_._ create mode 100755 packages/System.Runtime.InteropServices.RuntimeInformation.4.3.0/lib/MonoTouch10/_._ create mode 100755 packages/System.Runtime.InteropServices.RuntimeInformation.4.3.0/lib/net45/System.Runtime.InteropServices.RuntimeInformation.dll create mode 100755 packages/System.Runtime.InteropServices.RuntimeInformation.4.3.0/lib/netstandard1.1/System.Runtime.InteropServices.RuntimeInformation.dll create mode 100755 packages/System.Runtime.InteropServices.RuntimeInformation.4.3.0/lib/win8/System.Runtime.InteropServices.RuntimeInformation.dll create mode 100755 packages/System.Runtime.InteropServices.RuntimeInformation.4.3.0/lib/wpa81/System.Runtime.InteropServices.RuntimeInformation.dll create mode 100755 packages/System.Runtime.InteropServices.RuntimeInformation.4.3.0/lib/xamarinios10/_._ create mode 100755 packages/System.Runtime.InteropServices.RuntimeInformation.4.3.0/lib/xamarinmac20/_._ create mode 100755 packages/System.Runtime.InteropServices.RuntimeInformation.4.3.0/lib/xamarintvos10/_._ create mode 100755 packages/System.Runtime.InteropServices.RuntimeInformation.4.3.0/lib/xamarinwatchos10/_._ create mode 100755 packages/System.Runtime.InteropServices.RuntimeInformation.4.3.0/ref/MonoAndroid10/_._ create mode 100755 packages/System.Runtime.InteropServices.RuntimeInformation.4.3.0/ref/MonoTouch10/_._ create mode 100755 packages/System.Runtime.InteropServices.RuntimeInformation.4.3.0/ref/netstandard1.1/System.Runtime.InteropServices.RuntimeInformation.dll create mode 100755 packages/System.Runtime.InteropServices.RuntimeInformation.4.3.0/ref/xamarinios10/_._ create mode 100755 packages/System.Runtime.InteropServices.RuntimeInformation.4.3.0/ref/xamarinmac20/_._ create mode 100755 packages/System.Runtime.InteropServices.RuntimeInformation.4.3.0/ref/xamarintvos10/_._ create mode 100755 packages/System.Runtime.InteropServices.RuntimeInformation.4.3.0/ref/xamarinwatchos10/_._ create mode 100755 packages/System.Runtime.InteropServices.RuntimeInformation.4.3.0/runtimes/aot/lib/netcore50/System.Runtime.InteropServices.RuntimeInformation.dll create mode 100755 packages/System.Runtime.InteropServices.RuntimeInformation.4.3.0/runtimes/unix/lib/netstandard1.1/System.Runtime.InteropServices.RuntimeInformation.dll create mode 100755 packages/System.Runtime.InteropServices.RuntimeInformation.4.3.0/runtimes/win/lib/net45/System.Runtime.InteropServices.RuntimeInformation.dll create mode 100755 packages/System.Runtime.InteropServices.RuntimeInformation.4.3.0/runtimes/win/lib/netcore50/System.Runtime.InteropServices.RuntimeInformation.dll create mode 100755 packages/System.Runtime.InteropServices.RuntimeInformation.4.3.0/runtimes/win/lib/netstandard1.1/System.Runtime.InteropServices.RuntimeInformation.dll create mode 100755 packages/System.Text.Encodings.Web.5.0.1/.signature.p7s create mode 100755 packages/System.Text.Encodings.Web.5.0.1/Icon.png create mode 100755 packages/System.Text.Encodings.Web.5.0.1/LICENSE.TXT create mode 100755 packages/System.Text.Encodings.Web.5.0.1/System.Text.Encodings.Web.5.0.1.nupkg create mode 100755 packages/System.Text.Encodings.Web.5.0.1/THIRD-PARTY-NOTICES.TXT create mode 100755 packages/System.Text.Encodings.Web.5.0.1/lib/net461/System.Text.Encodings.Web.dll create mode 100755 packages/System.Text.Encodings.Web.5.0.1/lib/net461/System.Text.Encodings.Web.xml create mode 100755 packages/System.Text.Encodings.Web.5.0.1/lib/netcoreapp3.0/System.Text.Encodings.Web.dll create mode 100755 packages/System.Text.Encodings.Web.5.0.1/lib/netcoreapp3.0/System.Text.Encodings.Web.xml create mode 100755 packages/System.Text.Encodings.Web.5.0.1/lib/netstandard1.0/System.Text.Encodings.Web.dll create mode 100755 packages/System.Text.Encodings.Web.5.0.1/lib/netstandard1.0/System.Text.Encodings.Web.xml create mode 100755 packages/System.Text.Encodings.Web.5.0.1/lib/netstandard2.0/System.Text.Encodings.Web.dll create mode 100755 packages/System.Text.Encodings.Web.5.0.1/lib/netstandard2.0/System.Text.Encodings.Web.xml create mode 100755 packages/System.Text.Encodings.Web.5.0.1/lib/netstandard2.1/System.Text.Encodings.Web.dll create mode 100755 packages/System.Text.Encodings.Web.5.0.1/lib/netstandard2.1/System.Text.Encodings.Web.xml create mode 100755 packages/System.Text.Encodings.Web.5.0.1/useSharedDesignerContext.txt create mode 100755 packages/System.Text.Encodings.Web.5.0.1/version.txt create mode 100755 packages/System.Text.Json.5.0.2/.signature.p7s create mode 100755 packages/System.Text.Json.5.0.2/Icon.png create mode 100755 packages/System.Text.Json.5.0.2/LICENSE.TXT create mode 100755 packages/System.Text.Json.5.0.2/System.Text.Json.5.0.2.nupkg create mode 100755 packages/System.Text.Json.5.0.2/THIRD-PARTY-NOTICES.TXT create mode 100755 packages/System.Text.Json.5.0.2/lib/net461/System.Text.Json.dll create mode 100755 packages/System.Text.Json.5.0.2/lib/net461/System.Text.Json.xml create mode 100755 packages/System.Text.Json.5.0.2/lib/netcoreapp3.0/System.Text.Json.dll create mode 100755 packages/System.Text.Json.5.0.2/lib/netcoreapp3.0/System.Text.Json.xml create mode 100755 packages/System.Text.Json.5.0.2/lib/netstandard2.0/System.Text.Json.dll create mode 100755 packages/System.Text.Json.5.0.2/lib/netstandard2.0/System.Text.Json.xml create mode 100755 packages/System.Text.Json.5.0.2/useSharedDesignerContext.txt create mode 100755 packages/System.Text.Json.5.0.2/version.txt create mode 100755 packages/System.Threading.Tasks.Extensions.4.5.4/.signature.p7s create mode 100755 packages/System.Threading.Tasks.Extensions.4.5.4/LICENSE.TXT create mode 100755 packages/System.Threading.Tasks.Extensions.4.5.4/System.Threading.Tasks.Extensions.4.5.4.nupkg create mode 100755 packages/System.Threading.Tasks.Extensions.4.5.4/THIRD-PARTY-NOTICES.TXT create mode 100755 packages/System.Threading.Tasks.Extensions.4.5.4/lib/MonoAndroid10/_._ create mode 100755 packages/System.Threading.Tasks.Extensions.4.5.4/lib/MonoTouch10/_._ create mode 100755 packages/System.Threading.Tasks.Extensions.4.5.4/lib/net461/System.Threading.Tasks.Extensions.dll create mode 100755 packages/System.Threading.Tasks.Extensions.4.5.4/lib/net461/System.Threading.Tasks.Extensions.xml create mode 100755 packages/System.Threading.Tasks.Extensions.4.5.4/lib/netcoreapp2.1/_._ create mode 100755 packages/System.Threading.Tasks.Extensions.4.5.4/lib/netstandard1.0/System.Threading.Tasks.Extensions.dll create mode 100755 packages/System.Threading.Tasks.Extensions.4.5.4/lib/netstandard1.0/System.Threading.Tasks.Extensions.xml create mode 100755 packages/System.Threading.Tasks.Extensions.4.5.4/lib/netstandard2.0/System.Threading.Tasks.Extensions.dll create mode 100755 packages/System.Threading.Tasks.Extensions.4.5.4/lib/netstandard2.0/System.Threading.Tasks.Extensions.xml create mode 100755 packages/System.Threading.Tasks.Extensions.4.5.4/lib/portable-net45+win8+wp8+wpa81/System.Threading.Tasks.Extensions.dll create mode 100755 packages/System.Threading.Tasks.Extensions.4.5.4/lib/portable-net45+win8+wp8+wpa81/System.Threading.Tasks.Extensions.xml create mode 100755 packages/System.Threading.Tasks.Extensions.4.5.4/lib/xamarinios10/_._ create mode 100755 packages/System.Threading.Tasks.Extensions.4.5.4/lib/xamarinmac20/_._ create mode 100755 packages/System.Threading.Tasks.Extensions.4.5.4/lib/xamarintvos10/_._ create mode 100755 packages/System.Threading.Tasks.Extensions.4.5.4/lib/xamarinwatchos10/_._ create mode 100755 packages/System.Threading.Tasks.Extensions.4.5.4/ref/MonoAndroid10/_._ create mode 100755 packages/System.Threading.Tasks.Extensions.4.5.4/ref/MonoTouch10/_._ create mode 100755 packages/System.Threading.Tasks.Extensions.4.5.4/ref/netcoreapp2.1/_._ create mode 100755 packages/System.Threading.Tasks.Extensions.4.5.4/ref/xamarinios10/_._ create mode 100755 packages/System.Threading.Tasks.Extensions.4.5.4/ref/xamarinmac20/_._ create mode 100755 packages/System.Threading.Tasks.Extensions.4.5.4/ref/xamarintvos10/_._ create mode 100755 packages/System.Threading.Tasks.Extensions.4.5.4/ref/xamarinwatchos10/_._ create mode 100755 packages/System.Threading.Tasks.Extensions.4.5.4/useSharedDesignerContext.txt create mode 100755 packages/System.Threading.Tasks.Extensions.4.5.4/version.txt create mode 100755 packages/System.ValueTuple.4.5.0/.signature.p7s create mode 100755 packages/System.ValueTuple.4.5.0/LICENSE.TXT create mode 100755 packages/System.ValueTuple.4.5.0/System.ValueTuple.4.5.0.nupkg create mode 100755 packages/System.ValueTuple.4.5.0/THIRD-PARTY-NOTICES.TXT create mode 100755 packages/System.ValueTuple.4.5.0/lib/MonoAndroid10/_._ create mode 100755 packages/System.ValueTuple.4.5.0/lib/MonoTouch10/_._ create mode 100755 packages/System.ValueTuple.4.5.0/lib/net461/System.ValueTuple.dll create mode 100755 packages/System.ValueTuple.4.5.0/lib/net461/System.ValueTuple.xml create mode 100755 packages/System.ValueTuple.4.5.0/lib/net47/System.ValueTuple.dll create mode 100755 packages/System.ValueTuple.4.5.0/lib/net47/System.ValueTuple.xml create mode 100755 packages/System.ValueTuple.4.5.0/lib/netcoreapp2.0/_._ create mode 100755 packages/System.ValueTuple.4.5.0/lib/netstandard1.0/System.ValueTuple.dll create mode 100755 packages/System.ValueTuple.4.5.0/lib/netstandard1.0/System.ValueTuple.xml create mode 100755 packages/System.ValueTuple.4.5.0/lib/netstandard2.0/_._ create mode 100755 packages/System.ValueTuple.4.5.0/lib/portable-net40+sl4+win8+wp8/System.ValueTuple.dll create mode 100755 packages/System.ValueTuple.4.5.0/lib/portable-net40+sl4+win8+wp8/System.ValueTuple.xml create mode 100755 packages/System.ValueTuple.4.5.0/lib/uap10.0.16299/_._ create mode 100755 packages/System.ValueTuple.4.5.0/lib/xamarinios10/_._ create mode 100755 packages/System.ValueTuple.4.5.0/lib/xamarinmac20/_._ create mode 100755 packages/System.ValueTuple.4.5.0/lib/xamarintvos10/_._ create mode 100755 packages/System.ValueTuple.4.5.0/lib/xamarinwatchos10/_._ create mode 100755 packages/System.ValueTuple.4.5.0/ref/MonoAndroid10/_._ create mode 100755 packages/System.ValueTuple.4.5.0/ref/MonoTouch10/_._ create mode 100755 packages/System.ValueTuple.4.5.0/ref/net461/System.ValueTuple.dll create mode 100755 packages/System.ValueTuple.4.5.0/ref/net47/System.ValueTuple.dll create mode 100755 packages/System.ValueTuple.4.5.0/ref/netcoreapp2.0/_._ create mode 100755 packages/System.ValueTuple.4.5.0/ref/netstandard2.0/_._ create mode 100755 packages/System.ValueTuple.4.5.0/ref/portable-net40+sl4+win8+wp8/System.ValueTuple.dll create mode 100755 packages/System.ValueTuple.4.5.0/ref/uap10.0.16299/_._ create mode 100755 packages/System.ValueTuple.4.5.0/ref/xamarinios10/_._ create mode 100755 packages/System.ValueTuple.4.5.0/ref/xamarinmac20/_._ create mode 100755 packages/System.ValueTuple.4.5.0/ref/xamarintvos10/_._ create mode 100755 packages/System.ValueTuple.4.5.0/ref/xamarinwatchos10/_._ create mode 100755 packages/System.ValueTuple.4.5.0/useSharedDesignerContext.txt create mode 100755 packages/System.ValueTuple.4.5.0/version.txt diff --git a/.idea/.idea.Denombrements/.idea/.gitignore b/.idea/.idea.Denombrements/.idea/.gitignore new file mode 100644 index 0000000..189e3c4 --- /dev/null +++ b/.idea/.idea.Denombrements/.idea/.gitignore @@ -0,0 +1,13 @@ +# Default ignored files +/shelf/ +/workspace.xml +# Rider ignored files +/.idea.Denombrements.iml +/modules.xml +/contentModel.xml +/projectSettingsUpdater.xml +# Datasource local storage ignored files +/dataSources/ +/dataSources.local.xml +# Editor-based HTTP Client requests +/httpRequests/ diff --git a/.idea/.idea.Denombrements/.idea/encodings.xml b/.idea/.idea.Denombrements/.idea/encodings.xml new file mode 100644 index 0000000..df87cf9 --- /dev/null +++ b/.idea/.idea.Denombrements/.idea/encodings.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/.idea/.idea.Denombrements/.idea/indexLayout.xml b/.idea/.idea.Denombrements/.idea/indexLayout.xml new file mode 100644 index 0000000..7b08163 --- /dev/null +++ b/.idea/.idea.Denombrements/.idea/indexLayout.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/.idea.Denombrements/.idea/vcs.xml b/.idea/.idea.Denombrements/.idea/vcs.xml new file mode 100644 index 0000000..94a25f7 --- /dev/null +++ b/.idea/.idea.Denombrements/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/.vs/Denombrements/v16/.suo b/.vs/Denombrements/v16/.suo new file mode 100644 index 0000000000000000000000000000000000000000..6694cc6a042d61a62f95d6f7a107f619a54a1ee2 GIT binary patch literal 35328 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 literal 0 HcmV?d00001 diff --git a/Denombrements.sln b/Denombrements.sln new file mode 100644 index 0000000..f18af13 --- /dev/null +++ b/Denombrements.sln @@ -0,0 +1,25 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 16 +VisualStudioVersion = 16.0.30104.148 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Denombrements", "Denombrements\Denombrements.csproj", "{9AA8BC99-E978-47D3-AAB5-8A9F0B5D8F2A}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {9AA8BC99-E978-47D3-AAB5-8A9F0B5D8F2A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {9AA8BC99-E978-47D3-AAB5-8A9F0B5D8F2A}.Debug|Any CPU.Build.0 = Debug|Any CPU + {9AA8BC99-E978-47D3-AAB5-8A9F0B5D8F2A}.Release|Any CPU.ActiveCfg = Release|Any CPU + {9AA8BC99-E978-47D3-AAB5-8A9F0B5D8F2A}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {AD256088-645E-415A-8E61-82D400145541} + EndGlobalSection +EndGlobal diff --git a/Denombrements.sln.DotSettings.user b/Denombrements.sln.DotSettings.user new file mode 100644 index 0000000..d71edd2 --- /dev/null +++ b/Denombrements.sln.DotSettings.user @@ -0,0 +1,2 @@ + + Off \ No newline at end of file diff --git a/Denombrements/App.config b/Denombrements/App.config new file mode 100644 index 0000000..5754728 --- /dev/null +++ b/Denombrements/App.config @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/Denombrements/Denombrements.csproj b/Denombrements/Denombrements.csproj new file mode 100644 index 0000000..b72ec54 --- /dev/null +++ b/Denombrements/Denombrements.csproj @@ -0,0 +1,104 @@ + + + + + Debug + AnyCPU + {9AA8BC99-E978-47D3-AAB5-8A9F0B5D8F2A} + Exe + Denombrements + Denombrements + 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.5.0.0\lib\net461\Microsoft.Bcl.AsyncInterfaces.dll + True + + + + + ..\packages\System.Buffers.4.5.1\lib\net461\System.Buffers.dll + True + + + ..\packages\System.Collections.Immutable.5.0.0\lib\net461\System.Collections.Immutable.dll + True + + + + ..\packages\System.Memory.4.5.4\lib\net461\System.Memory.dll + True + + + + ..\packages\System.Numerics.Vectors.4.5.0\lib\net46\System.Numerics.Vectors.dll + True + + + ..\packages\System.Reflection.Metadata.5.0.0\lib\net461\System.Reflection.Metadata.dll + True + + + ..\packages\System.Runtime.CompilerServices.Unsafe.5.0.0\lib\net45\System.Runtime.CompilerServices.Unsafe.dll + True + + + ..\packages\System.Runtime.InteropServices.RuntimeInformation.4.3.0\lib\net45\System.Runtime.InteropServices.RuntimeInformation.dll + True + + + ..\packages\System.Text.Encodings.Web.5.0.1\lib\net461\System.Text.Encodings.Web.dll + True + + + ..\packages\System.Text.Json.5.0.2\lib\net461\System.Text.Json.dll + True + + + ..\packages\System.Threading.Tasks.Extensions.4.5.4\lib\net461\System.Threading.Tasks.Extensions.dll + True + + + ..\packages\System.ValueTuple.4.5.0\lib\net47\System.ValueTuple.dll + True + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Denombrements/Program.cs b/Denombrements/Program.cs new file mode 100644 index 0000000..af7e0c2 --- /dev/null +++ b/Denombrements/Program.cs @@ -0,0 +1,74 @@ +using System; + +namespace Denombrements +{ + internal static class Program + { + private static void Main(string[] args) + + { + int c = 1; + while (c != 0) + { + Console.WriteLine("Permutation ...................... 1"); + Console.WriteLine("Arrangement ...................... 2"); + Console.WriteLine("Combinaison ...................... 3"); + Console.WriteLine("Quitter .......................... 0"); + Console.Write("Choix : "); + c = int.Parse(Console.ReadLine()); + + if (c == 0) + { + Environment.Exit(0); + } + + if (c == 1) + { + Console.Write("nombre total d'éléments à gérer = "); // le nombre d'éléments à gérer + int n = int.Parse(Console.ReadLine()); // saisir le nombre + // calcul de r + long r = 1; + for (int k = 1; k <= n; k++) + r *= k; + Console.WriteLine(n + "! = " + r); + } + else + { + if (c == 2) + { + Console.Write("nombre total d'éléments à gérer = "); // le nombre d'éléments à gérer + int t = int.Parse(Console.ReadLine()); // saisir le nombre + Console.Write("nombre d'éléments dans le sous ensemble = "); // le sous ensemble + int n = int.Parse(Console.ReadLine()); // saisir le nombre + // calcul de r + long r = 1; + for (int k = (t - n + 1); k <= t; k++) + r *= k; + //Console.WriteLine("résultat = " + (r1 / r2)); + Console.WriteLine("A(" + t + "/" + n + ") = " + r); + } + else + { + Console.Write("nombre total d'éléments à gérer = "); // le nombre d'éléments à gérer + int t = int.Parse(Console.ReadLine()); // saisir le nombre + Console.Write("nombre d'éléments dans le sous ensemble = "); // le sous ensemble + int n = int.Parse(Console.ReadLine()); // saisir le nombre + // calcul de r1 + long r1 = 1; + for (int k = (t - n + 1); k <= t; k++) + r1 *= k; + // calcul de r2 + long r2 = 1; + for (int k = 1; k <= n; k++) + r2 *= k; + // calcul de r3 + //Console.WriteLine("résultat = " + (r1 / r2)); + Console.WriteLine("C(" + t + "/" + n + ") = " + (r1 / r2)); + } + } + } + + Console.ReadLine(); + } + } +} \ No newline at end of file diff --git a/Denombrements/Properties/AssemblyInfo.cs b/Denombrements/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..753cdef --- /dev/null +++ b/Denombrements/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// Les informations générales relatives à un assembly dépendent de +// l'ensemble d'attributs suivant. Changez les valeurs de ces attributs pour modifier les informations +// associées à un assembly. +[assembly: AssemblyTitle("Denombrements")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("Denombrements")] +[assembly: AssemblyCopyright("Copyright © 2020")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// L'affectation de la valeur false à ComVisible rend les types invisibles dans cet assembly +// aux composants COM. Si vous devez accéder à un type dans cet assembly à partir de +// COM, affectez la valeur true à l'attribut ComVisible sur ce type. +[assembly: ComVisible(false)] + +// Le GUID suivant est pour l'ID de la typelib si ce projet est exposé à COM +[assembly: Guid("9aa8bc99-e978-47d3-aab5-8a9f0b5d8f2a")] + +// Les informations de version pour un assembly se composent des quatre valeurs suivantes : +// +// Version principale +// Version secondaire +// Numéro de build +// Révision +// +// Vous pouvez spécifier toutes les valeurs ou indiquer les numéros de build et de révision par défaut +// en utilisant '*', comme indiqué ci-dessous : +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/Denombrements/bin/Debug/Denombrements.exe b/Denombrements/bin/Debug/Denombrements.exe new file mode 100644 index 0000000000000000000000000000000000000000..9541514c6ac68b6f8336514546b51b42114153c5 GIT binary patch literal 6144 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 + + + + + + + + + + + + + \ No newline at end of file diff --git a/Denombrements/bin/Debug/Denombrements.pdb b/Denombrements/bin/Debug/Denombrements.pdb new file mode 100644 index 0000000000000000000000000000000000000000..51b4eb0482e9396f619ce5ca6d5ceaff77526cfb GIT binary patch literal 1264 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 z�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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. + + + 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. + + + 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. + + + + 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. + + + + diff --git a/Denombrements/bin/Debug/System.Buffers.dll b/Denombrements/bin/Debug/System.Buffers.dll new file mode 100755 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/Denombrements/bin/Debug/System.Buffers.xml b/Denombrements/bin/Debug/System.Buffers.xml new file mode 100755 index 0000000..8a52c11 --- /dev/null +++ b/Denombrements/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/Denombrements/bin/Debug/System.Collections.Immutable.dll b/Denombrements/bin/Debug/System.Collections.Immutable.dll new file mode 100755 index 0000000000000000000000000000000000000000..f5513ca022b055ff18d50faf6fbd98ea552f4b67 GIT binary patch literal 189312 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 literal 0 HcmV?d00001 diff --git a/Denombrements/bin/Debug/System.Collections.Immutable.xml b/Denombrements/bin/Debug/System.Collections.Immutable.xml new file mode 100755 index 0000000..9e98e83 --- /dev/null +++ b/Denombrements/bin/Debug/System.Collections.Immutable.xml @@ -0,0 +1,5380 @@ + + + + System.Collections.Immutable + + + +

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 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. + + + 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. + + + 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. + + + 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. + + + Initializes a new instance of the struct by casting the underlying array to an array of type . + The type of array element to return. + Thrown if 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 . + + + 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. + + + 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. + 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. + + + 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 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. + + + 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. + + + 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. + Thrown if the property returns true. + 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. + Thrown if the property returns true. + The element at the specified index in the read-only list. + + + Gets the number of items in the collection. + Thrown if the property returns true. + The number of items in the collection. + + + Gets the element at the specified index. + The index. + Thrown if the property returns true. + The element. + + + Gets the size of the array. + Thrown if the property returns true. + 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. + Thrown if the property returns true. + 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 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. + + + 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 current contents to the specified array. + The array to copy to. + The index to start the copy operation. + + + 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. + + + 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. + + + 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 item at the specified index from the array. + The zero-based index of the item to remove. + + + 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 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. + + + See the interface. + + + See . + + + 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. + + + 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 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. + Thrown when the old value 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 set with the default sort comparer. + + + 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. + Thrown when the old value 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 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. + + + 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. + + + 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 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. + Thrown when 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 and sorting. + 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. + + + 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. + + + 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. + + + 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. + + + 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 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. + Thrown when 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. + + 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. + Thrown if 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. + Thrown if 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. + Thrown if 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 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 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. + + + \ No newline at end of file diff --git a/Denombrements/bin/Debug/System.Memory.dll b/Denombrements/bin/Debug/System.Memory.dll new file mode 100755 index 0000000000000000000000000000000000000000..5d1947056f1c1dd2d48561cf721f615bb8dc0d63 GIT binary patch literal 141184 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�cyw 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 literal 0 HcmV?d00001 diff --git a/Denombrements/bin/Debug/System.Memory.xml b/Denombrements/bin/Debug/System.Memory.xml new file mode 100755 index 0000000..de9af89 --- /dev/null +++ b/Denombrements/bin/Debug/System.Memory.xml @@ -0,0 +1,355 @@ + + + System.Memory + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Denombrements/bin/Debug/System.Numerics.Vectors.dll b/Denombrements/bin/Debug/System.Numerics.Vectors.dll new file mode 100755 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/Denombrements/bin/Debug/System.Numerics.Vectors.xml b/Denombrements/bin/Debug/System.Numerics.Vectors.xml new file mode 100755 index 0000000..3d093a1 --- /dev/null +++ b/Denombrements/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/Denombrements/bin/Debug/System.Reflection.Metadata.dll b/Denombrements/bin/Debug/System.Reflection.Metadata.dll new file mode 100755 index 0000000000000000000000000000000000000000..550e118c6868490da34b9d9311c188d692f0f3cd GIT binary patch literal 462728 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 nvbyFfXH$#RcXT+*~ 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

jxfDkcnDye6#S6w602 zMp^8l0@(bSyR^hepi)fZq(_Q187eWJbQy_^G*CfUg-8t%%31wInN=KX95HdzGja%FZ2>^( zUsZttb3cAkFl<;QS1fGdMj+i$@W3EOog04`N>*gWoiaa)Wv-Gd>Licc#<0>2gB%IZ}`shgB7e@{BuSn{r_l6OHnd zmhxehd!$gLX->L0O;T228I{bc1kqqrohf3akLIAIB-K2T!sJwu#cvc{rXQL?R)@4E4duUlZ8xs>RCTJop+~ONAdAqZanvt6jk{>Pc(qYX*|_Vij#u!| zkUuR8iG+!*+A~H%yO6y$lWNt|2gA*AdS^8n*ACt}>0-^x+Kft1spgx+dk_vphqb*z zF2mc<)j2SbgknKe!xoayYWkXFetk6+g0&J4`_)cj;sPbQswmin)a$BTP{$$Cs^s$3 zPF%~Ub5z+Z#Y5G;dy`)%6uAmd&yvZ1EDMDqMTj$p^RY}6lAOoo$HmNP<`Dm9W(rvs z%gkZ^4{Q_~uV0EY2la706wb^cOzS#WndB)tdWsB$_z(tHm#>}@S39BNSMX0+3d&i$i0n^Uu)9i zsPQ#8R1nrwt_G8ufI;9y3oL3pHMmqzvJh%;#If5#y8E^LV?m1ytl>=sOtTYVuEC_! zI3t&6c%s482t`KX!vue^{(xHjSb$4F>`rw<6!c$x0Z zrWxHKkc>cNSgzp}stiy>Pm(xzIu_K+LF{H`A*{psqUx*?60~Z1JjG-1bk3rHz%sfX z>v0GQt3%LbI5`~$q)};fM&o(f8L1I~*a4k^BU%`()b=aIch!Mf#aQho>q-CEOiXgG zP4_;W@zr4|G1SNL4MBS)T~@-_>TuL#N9#RQv#5D1FI#5dn`T)$gO3OuuNcdqD-kQ$ z8CYFQ*%>&kHSG*cHI}V2aO?i_BC`_+~iC? z)|N?*fzG)y6B}(O(fot@8*wm32=p=~@r0yM7{+K*Oz5sj)ip@rNrMd!Laga9Z-SPU zfkix!q=`KDqfMVeaSAI~YQLq40vs`MVFud)6J8WzMFka(3~kgHLRwKI;{=P%*$BlD zqF^YaM?61)=^k`{pkqeoVUa-WUPvRIp<^2Ij+_!{KnUw-Jo*Y@yf~+UM0G;;DP_@2 zzSamZ=zl)8gdmu4`(;><9iUtY^u-tKFcjOU2UAh8} z`GSaWy)BQSbOcS!sr)EX#^w}hfsu*#rN*EyDD4?Y!b@DZl7I;1Qq}T{Y$&6rW66=E z3dKSd3c7;yIPu8n)KP0`rv`9%W^{dFjC9H<8HmLmXqBUru-@Ufx;e=}M|JzM#fw~} zd5w+Y9-K>-v#61jz+T6mzu{B?z+NW5MWVzlYE=b0oQ5uO+BirT1#uiLRA)Jkc}f*| zY>}i`6&<2w+9;#~Ar KyN1^MHa_uh&^fA0STyc);dTUpkhOYY6dHWa(lCE2nbtD zbW}H;a!{$VTLe)FkIZE)QlbowewIOsfFoI(Wz=rrRiou|BX)=^g;XkZ%Z+kI%xf$f zbu8S!DGgG~34YfU3O4`PX}4QNx-EWAiJCE4WWiQV&+A-6MBySjy9v~AZWnUvOV%37 zE!AS=ezUfg5|cOut*!Kiw9zDkLBMwNbf3&iXbDv;P6F?LSwYYOEm<7IZ*;<zb#f)?2p8@;Gf1`_%VRH@vgFzKpGXZTR1Z6lI!qneDMs)%S@9D=fRu-YnXcd(tj&KJfEs28gBxi@vKR^g-{~8Sw%~(_l?C6fN8)R@$ zepObbx*vizVlgdPL*r>9j2~WiKq!10)U+@NvL*lv>6oIFPNB~(h*W5fT~FFqw{3#r zWCV__^R!oZ;OdS(F_%PqqzynS-Wa4Xya^i8V7F2Pq8bS240|MMFO)7Q5R6~^Bw7!Y ze=0;oDB7G=L^LmKLI_u$L2H{B?uE5xZ=^XL3J6ZBP|D*7q@+2m8T2(6g2HbldjghT z@g^3latQ{us~M?{P9BwH#zyA#BzMU+BJx1I7e=wHPKll#IH+2rp!u|c-&i$cO%+;k zDmRsym2jro2z?aHU$II+c2lBBD|V<*=poSr6Zj1s6fyO6knpPUR6lJLPYS7#cBSx$ zECQq*f6In|NU=w|>hYWvPM`yXS=0t-y&GYOMlq5JbCzq(Ae2bbMv0N6nX%QJxB4Ix zMuq-CCrQ~=p^K`uAt|_2&nT2~At4sz1TWsSRdb0FBefUFm*cskMbMnogIZ*sby-%; z#fh;;Daz?EbpGw0?XS$4BPnm?BD>BwpbY4YJNYhM>dV-=8 z;T{xakXT7N#!4&XX~a@On~gQet28ML9h;+x%c!z;T~ACXd<3uHEjFhiJ-DTR^;#WYJWSiZ>&LVOKic4nkv!do35InD*LS5*gNTuu=5; z2`PxUl1BuSz*3ww(Wr*HLUyf7rH4_d1iEkBvdTl$ODuFHw`dXCu2VwMX)3n|ZPPq@ zlB>evQ^{!5u5?mZn#y5mn-!LtTB@*|cFkv-BudUC)CJ`kNmsmFJ3@453ez;njh2Q> zdmJ=sJuc}e*X=4A_k^xEu%VAD=w#qf^3@g!)sm!gfHtdsAMR4@caj;RGjotAEWIyd z(%voHEuJc-C2A6{SJ~x&iAY*Df>JUVWtId=U4X?H%rCE!h#A{F& z?IP)Trlmuw1UVxKK1tkXS#&X?3TO@;9F>u#QukxoG!M@~ET%MF6s4`2OU+HR3(oDK zb1arw{>ka0S9OZ z5O#8R@A`;-jLx8lLJ^#{QnI|-i$_ptwO~8eYY&0qa&H@PTvbHk6f+SKsOYJv4hXw? zac*7Wn2vDJm9)x53~F{>6$sZ`yMqp-$|W(1BSWQ{ys8^;r2}Fk=e?RnB2`7w5vryv z0?|F2utLxUspKe~T&CU^)`1F^U%Ja1&SQrNYcz61vr}sIWaetF39GQ0woib00T;(f zXuWI?ZNT*{I^cN8vdi5HtzVUp5(b^I0NpAm&8s3J>y07#q>_?GS+Yt>p~$02=}tlNG9A-b z1gp9}TCv#36d(#nPTp;2o^27zm?Q-mB@aoch{UmLZo!fy=8V!Zh9fo1m zrTbi&!AI?6L|~yDBhjj)O!7H>TtV4iL?7WI7J?(j`07a`6FS6@z^$M`u4|#N5m9^bbKwn&{(&dYdF+jfzE+ zw77$^W{;Wyb$pXzhvtK%Q_`ukLRTr&O0eBXH}6PinkST}q$M#Sh675>AVy#{;7GG> z*25&!PtX+-8*4h*UF6jyYIMZz1oe@0^9aSlW_!|@AP)ahTVyNdJgOeB9i`x~quVQx z0w{u|x5ZSjk`@>9^`igEpg|b5l0JY+-4V% zPBxb0E})PGGKnLiM6fNLujI5vrj8xTii0NZ5iugL1DIq}Ve2@YyXA1s1%d53ZKpIU zH#O!PtA^uIv9rJdSc4O4iH%M(5}Vb2VUKFoJgK(vs7<%DzB0+pVLuQ&T`1OwVGFv% ziX!@r9p}D`r2P~a&JhbCx>UVpKbEexol1E(oL`?WY{X?atclIcL)OJWY%kf|$O|TC zv3#L2KEYZe=#)e{(Q`po`Y@$nCd;j)xlpr5C}`aM)6y&zxi}tW&I#o% z=R|0wq{VK{Slb-f1B8^&7^3cq-+iq%NdsS`#AY#VMi-9hn&|uJB^~xk z9{r@lS=@2J{*fsAWSl%Z>}lJE3cZ04sIgbD+Vod!sS&Pn`NkHsTiO=o;g<>4XCFeqtVc$s=^%y*Jd84tPvci~G(t_+iqxi(VsG|p zg2UnTkBKO?TA%VxA{E@dlOJaSNmDEvX$N9MBwHvccgU!1Hq;0)*HzBQgJI}C6|+-{ zLiwhbLk1Mv#li?T4TuH2N`}*B1wz-LFppg3@=AaSWxAS;P0@v>^A6{(rSc#iH1sDx}K8T=#En}A{M+PcP4D(xe02Q3Qdg}sD+w_Y!T91$|KRW zu;0W66`<|2BT`q8HIJ0DW#Mj=$&?LN@$q_1k5A0tB%u)(rmso*+m+^A+*7MWtIrn)jr#&7vrW$WoIDupHA z)k)Mg^liAI1GiRj+at}~4YdB#?y|&rIqW7PmDtX6Q!TqgaAc8jDb)#d&!g@39oA5% zNmvyP#c9oetuXMqwaBg>-QuT=5Mww_T8Y?1({d4|ih+wszNlTiVFgX~)*<1roU(Qq zbjhMe3pNYAijEJ(!8?5xrKH{H9pp-bIy1S-uu+szH*>KpF-GMxlAI*Ll@Xo7>@YJ* z1EL{bjg1sOYjv=V_11)G9LL1d5#q)?Jx$LrG`h2R%JyXw5w8@oV`9Z!m!uXtRskc9 zGpG0nmAGROvrwsAEFVh2UWTZxyyP53yVn%@HeI0@hWMLh*{B5w>!3rLpp(i*d0V>? zScdlQP2%vi&FD*4aCLK*rj&ejuF@K`IJm1Ar=TsG z`a+gPapj}spfX`7Q?`c?$BHM3oaYRe(`w6;R0I;eNPNt45QAYiEtxhJit8X)Ci8zW^H^}-4P)^CJj~yLhfBfX3>Q+4BF}-IgOL5raxAQ=zLr~ z3QiQ2+$8A7x=CoBZjvY!h`V?ZW5uCgaoq$yYo}zwXqR-rSiX$YN#q<>G8Q+Tfz8vU zu@*_2xc!&aIn8I;EoPcvU}un0 zOsAqZv8hI2=&7+URkl2;SoD^?|*UC%n{nc?=K1q1cNl0NLODOC*6~qKF*yg3eBm-xh-5aCwx*; z^~y_-CY5Z=;=oG^3xwO049Qss>0h!l&nvBzVJbpo;eu6<)-wI`v zSdZ30qM{I-BqEVPOGZ0|_@D-{DUHJs>GTO!6dV`b1VN#&h4c+r)n; z7OwNQX_R8nQaU-&5ZO5*&xj~4x>8d#U*V3j#lUE%aCWM0QF)`-r8b`;rKH}TvWtR) z4IMb7LyFA0d&6^mZ!G5Qm5m6W8qnDS5FZAvo`#>|MF&({tyataJ@|HG;jSk_2#gw6s z;VK_AJVB3Y$O9!TSb>^_ADrbs8&llvCog4?GF18rrJ$N(pT(}U(Mx`Rb z2RraZ6qzs)Jk9BCM5IoQ?RrkcQOLuBB0$J^#Mr>|F}C2GGq$MM$Qgwi%NESG$LYF! z5%xg5!r}CfiI2RX z5*yt3$v}gYt@Gq>N!ab8LmX|1xnX|_U*sb$N)$aQ5_+Pp@WBGnmCNf35I*wSY%ugg!1!`(ONoEQ_B*1xmh3 zkoaB-4#Y!GIEho{qB+7kR1itkqbu>yJ^GHZQV?AOAB8U*R#y#*f=(Q^QWQjIE?SH# zsYIb1x7+Q9PlXReX&)>#QKZp5APQ&K-Vox!00t2mZ-O8?G>tg=C}Nflyk{Y|2JLi| z9}7@xIO*4O1SBk^8Kq}8(B-F`ro7Wi@m6`DLWn_AbJ<4}BGSe6Vv$a=1-_x3ssvle zO$jT4#3<|H}nmSDHSb0w}^U$GA zVJS(iIA@44L7N(#*3AG?_%R-w&&Scbb=NU8X%ZIrgyCS(;S>N#5r!iMEcm%8kXyRaASoLhArl>y@Fw zjoM-jvRYJGj9P|3>dBH!;}E8B)thC)ojwtdQq5!}J8L&tAwr0#CL~-Elu=Fs8lMon ziP?qBUKs*q1w@oiZ5t;`0TQ>_0^eDc7VO;7>BWFNi;QlgItFb9v6 z_M?POXE8pig_AfYO+`c-kj(osOGh`G+Ip5uB35W0W4m zsCSf5VB(Ta3~QKnU`QjxASJGap^~8>q%B^O27Co?0D~-h zN>DN&{YEOQjTy4^6$aB2#sseXVMg?}6D%>olvETFQ-tm@oZyiO6U5gI3Cje1^i}w! zd!6aK2I491WneQ}2k8ZonOXt~bV>NaZbiFgQUxV0gXR>etd%6ZmNY2`ndjoe%+d|X ztZs|S4JrW2Xs^j61Cn%zE9j$c7GWGkhdjV%`Xt8)&rPL;T*XLNloYA0s;tB?;P~nv zA4hVLkZ9?BP@D4UjkZXv&3u*!*j!MiDr#)vD`S?w7fm-8U_T3mQ=KPN?aIQDWngPC zKP*DTxH==JTNydo%J7g+Gp7VO@l=c4q=DuGaDY^cZc*XB&KN9BW+GX5#QIz!h9a6# zK(V)wM^_)3gqO+H*-0|2E|>W^Tm-YYd?bY36r+EzIa0}}@2Qe;09rSj?6epza!?Fp zgxHESiu*T0*Q$Ty3rKGP7?~u*XApq&c?)_%_nsbMjDzdNU1pTp5iBgBks}RMdXPUN zt3XZUl!=BV%ncDw80-J_eQ5Gdd$+X8_Ex@ zASLW*>F6P_jMXtfZ$l`73JTJL@;KmQe~%5o8YEqC(`O0`O#b2Sfb}Rs)xu3QtYPH9Xe>L z1}Nu2$Vr(2JKk)LOpavNbM2!idBxo)>y07-34>W=p?BwnErQ+tqA-$&Zu-QZu#S?% z!&noK_9jc~QI~1u$3|{)_QuvJ+zRsmv0 zzpHZqI}4yd48bx85tZnC*eqn*Y~=k=-lbz}h(1oaTAbkKqElv?@b-|(33WBav@n7f zgg8EVHI65SQ2XMHK9A|JQ|-ZWhD27pjD_e|&wmx2C%MX!DXE*`(E+i>hqg=Q5UiKf zX+X8`F|Y~B?TF?IJvh7vg$4t=ko@F+9G|8_XrNNP!%+sY35F<0Jq#N$qHDL;vj|d@ z)q(&RR}Eme=LqN{Y0zVWK1iAuNcu_#VWTCPFlCujq&v|+LI)EdbAV^9M+SA(H}xyVB_r>bu-@ z43vC5m6Hy^*fex?ft8aVDm1);s*VB6hiP263Zed%AnH~d5jqz!`aul_kqD8CJ2sXA zxrxG$6q`YE`Q6{lmd>mN_Y!xdyYN6wS!9F=%% zI(O7E>PKDsBf2=0cXyW7crRN|U~k^EWhSoN!?2{z>r-&b!PTf0nFlj_Em02Y;EWD~ zMhx|Oe0+zG0byY*qTm6Ac6c2WrT!|vG(w4YxXbCKgNCZYOK((m2-0dgaXMgqNx?)1;xQ_G%|j9YJycn&L>;GI=whE*XhR10zFn$kh-6%a*@rUiq2KA zR#2+`)N<2}rz$wnb5xP-Ev3qln+ToKs&aAHBxf$zs*}^f(W{U)4ShC`He*zAxCX0g z2G?jqnODuEyLl~gs^%e|wsEPNL6;bhOx5nP+@^7LjZW3xbsF8m{AyO`U{vjnpw#Sv zF9vmHDMcg)hH9^_p`n_=-jP+iVnE_n1a%us)>@iZrqD4}PgzxiWM}F-XsHDen&>b{ zC68v46|B|7W$a9my@-R>lgbmboLowAwdhjhSy|M1TFjj`F7eF?zN&tZ)3pzMWqgqmx6v|#1V6J+n z9y4!J#FY%Vk=ABY8~B_wMU(1${rscbbP1t-=9I#jv&PXZ80qZ}bcQvH2uG%ARd zq^rJ$#X*&q!egtLK3zxKPst2E%!B!sy+cL?%1LRRl+}q6E`v_PT5*fqL_Xt~Yk3Tdd9*~72J+BO10|up52#kkd}h0n6B&cc ziKJ0|EYLvB)Mic`eS$z!u$IHY4m(9Ou>LX4f~28@SUOVBL>9hj+bDf09A73xnxK|T z+7HRR*ojdV+?Jdv<0t@Rxf!_8sbS2h@*>sZw2*FRLI}ssJT^dAROq|QceGj7vdRg! zIccOU5=1g79XUEtXpf7BZ@rlz_#yn|8yoDGpa>VaKp2PAlk}Mjc`E|3Lu*}SVv`Hj za;lH!HM3IXL_WjL_WJ|%hC#n^<7BWjNP?l6{j)5enbULsK`dDcG!l%=>yOc zqe*CaK{FmZh)F(MVPr_NH-&4WytKV&A{hqN$iX zaAdn8M1@3BUOG*H?m>}Ibi??3I}3o*DdpGZ>L$t5RFiSDj zb5#`PbAMYDUm}Mf*5Ol!Cuc({MD5>2U!?{24o-@nReotdR?M%IJEv_LHyz6~?wsCf z+;qzIu;qxcimKzPa^YC2s5*QhGIRv)B=1oHj@nIiZjDuT+ys z*+p1~mZ-zP8$tZ2j&txpK^Cz1h#AQ2K5B#beXh>xL6tL}%L`|2{3vDlnaa!AL$DYL;Lc3swBu|T?S07y; zqOAujE~QW?waV!gs1u@Dl#L``162X{ZR)(mJgqRA5mtF)vR(=D0)W&K?M#@$X%8qH zIoTASoGHtIKz9-{LaZpA`wDSnxrkGxN-nw3Ut@Zc2$8m~&P!4L?p3Z;VX9mZ|1^H6 zXll!EDY$7|Fk79*1rbf-Lfh>&{U$1t6t?G}@>%s-@{kueZ0WX$IjK}>QRpQ&->tBO z_CXk18u@X^tGX+6!q~>6D{C~J#dk*4H#*U#ZA^&XW*a9Ba4QDc1tXPm9%T{e3@i3J zX+D$5S7^>7{S~xH-9sU!kPgwfRgSd4t5GX|LVVK&)M@aQ$|+2&=?z4R&gu-M30})R} zsn)2Npk*$)3rumeDx9Qf9uj`hab(4+9Tb5@Wwe_p;$leyZ-nuSD6;le?SxM%B=J7B z%b%h8;vS#TCXZ?V)QF%dH$fUfCU}x^zl3Mm)%!FW+-z}X&MVz zps4It9z(z)wibFtKNajn5Gi6dsgMDq}f#t?r=E-7UWd1BC}CdxEk5=Mo=+B zlPR}3sjr9eZ96vlsP3Dn=XGU14MA=axK!;?(bz{SO;ZDvCX8d8(i*i^8p-oCWU={R zV@2G~(k0KeDKx>e`2?S<;N`VCP9D{Aoz&_o!2=iRopA?6qBCugV`ibKDVV(A=pwDE zHHp{Q+J-Oq$&e_IFgRziWz6ouGbJO&qnn#{2ckT#eKu-nEEAp+epd zVy*6J7jeRcnGtcDQDw(%wa52#%UeSCoAY$iWs9XK$A4lViiM* zn;K5y7C0TN#jRe~qR3?9x)$q9s?m@2&=@Yfu-IJF3f=yx2yoWAW;&g&Y{jSGh#Jm{ zN1h*;%WzuYfX1wh@(_+AkPO)%uhzsOnFc5L5gsoyT|B~BVUrK_z7=ALW;W16-cx2c zv|4)#I0%IkEUXj+@gPh*1tLWWOq+!T*(YSR;F_EQRgQM~v4ZM-=qRaHUZ?Je2|_8G zjk<)Xol!Mss+w1EO=Sx7=&gAVQ-rj@8HgARicHjF5Zf}85US~FN-yq~{am_OFml); z3#ZxGo5sO5jK_F!saRWq+1lM8kzx;2z{|svG?@~Y@hSq8*s)hcO6>Fy0(CM$mWy7C zOf(VTCzNW%DGi~DNI8R6J_%tc?wWGZP#d^|X7@_Tx&&D6rs;GD-r2w3?KbPv8|`HRLKLsh@C($#vYJ9H0B9n z%HhX%2atFW!ZQ{@ZSD6G`>aThrJ9N*Okc8!+`1CZY698J(-J z&{0cId6ET}!PPC%60#tZCpBs#TAAcI^QvM2Ch@J%>J#bwMRD1k$PEZV;#h?-oIc)& z;1@0${YBi_2~|`ffks8bei?l$c(76|7R06q)77qjtm&sLfw1z6s z7p?7nC`6Wfxaj!k2c&T>q6mSsQ89MaNCyjgBwei7Q~(YaweGYNMH8{UD{O3&QNZT7^d47)dY%z;BRQj>fK}U+- z0V?g1>L>w+3#US^X>DOcF;v=QGL=M(T=dz6dQSIv1V25eA=GXc3m7}aTK(Ipw$+@SY?lYv=`K-#-AOKn>?EziWhW9J zve-_-kR`M_?L=E~*vZH{*T)29DTyO)c2>@J`$;^>DN2s!3U+RXl)&y_UmM%$A{e*K z*UnK}h+*dtQyM!(PGRgMH9N7>RMWzA!%ntk8aQkpZF5!SnvR@b>YHkgymAqF>gS?y zB3(3yV5-got$-qWv#z7iN=OST;2 z7{{1^jbq%w2^g@U13>{{(`h_HNCK%XkSqxY(xmgA^ziCZg~t8r+W8LzIfzqIM|KTB8FeAJ;&9Z%P$C=_a@0XxTlC7M^A2kMqHc{T zOgRfR)oCBwsISUHuhc^7s*LrhQUB(fh1%|thH0X;S{{5&ij z9^E$|rIdr+jps2$ock)^jThw!(Pighdk(nZF^DqkCOGEdTL};c=$kQfbmCxueJivJ zd<^!x++0U&vYUtHvfplgeZXVVb3bNL9}x6bPOToP2U3%muwYLjt0wd<@mu3QBUUQ) z*tide)pj0JR{VZc;TAw{ha2`ku`h5_s5CDP2>?Lt_5 z9s%dRd?no`Iu3h#Uc)(2_t@H);RlTLQ6fC#6T=((UOkHIwk`x4X?(HS`8fXN{FSofCt|bwpgue7-NS@D+l@2)_agF%G+KztbkFXc*2G#`B-p zU7k1&a{xD3Q(-u!K^X+$fSOSBCI->>pnmI4Gw8 z0nyJEyU#rc%&mx|-xJE?UL1j{gF}u?i?2Qh*o`J1?R()qeO4KRqcs>jq26Mh|Bznt(kQ@X_P8$4qoQP+K zU}4~Ac{Y#XWV0aMu{wu%ssFHpST!*pA{up`V44_%ZChSjk6+{A7&;955X8{nm^s$f zJ2YmFi~BrgMi~@Xs=!*ctsfFg4vYJNlf_7cnIWW){$&(nLej#8LwQYR1#Uyy^vn>cJz|cYL2Ke=X&Ox6(-BN1WXH|%& z8kd}(RTeba}RgTO=SS^glX9GWdQRgl4pH(BOi6!kxoK*buTZ9E<`1aFy-#$CnzwnuBlqo ztfEcPtm=~=J?o)%MgtEX5%yocq~XQ|=;;?2;3Um!`ok5b@-SZQMUGfHCB1!eqgsP@ zjPR{Mv2wUwO`g{DpH$Mc3kTrFhkSMkaq!My?-&>0xNeVqIa-Kdr6nZmYXW^Z_QKyi zm~Qzi5?x}rMK$5=u(i|e>%jrNaR9?Om@Yu?*dYag0b=)r{_;@XxSYv@tKW;GU%s2d zbiAd?Up_*LUoPhPt7rKL$Z0+Ta-L6uc=%3&JTUMoy<;wri6#K!qsDr!=eeQYaal3r za26mPdwvlRmVz4CD^XySlbb5z>==%uahOWwN7=duCv#}I8mH|^X&J69@pZM>gY>Zn z*9~;@Q))d6yzw;D+f!qZ>XXuMxhjbco9RAiwbXM9a>fyhXy zj@?&PVK>A#5B1`8J#9l60NeUOGVWrH8<+&J7T$@EvV-}AqA?`5Xo18H4Vc@M2HhhQ z_*4S6Qiu>sU*Z#eu!P{Mx_+(?=fC9jj;c)q9&ig0s=~y8w(W=uCS_dntKuah;P}|U znDb*xDZuDiT~x@!6c|l$OO+#}sUDOgkT@16xBTLVp4oDC|B*w%-ZyTlEr6aZBUptW z$AQ)(FpJ_?CrnA+IOA-2t3oTBwQpVoQKjQ=bXTXRsThmmv5@>IZYT1FNEjuqE=e1T zqN*$&ikvsd;tILFg>f8Llq)^nvH&XLeClg3(YQ|=sx_|4{(#YaEW}uKx4CB5s(hU-oWk)MLWIy2^c{OPfRXdRUpiy9E%L(-pl+^$`F{UH3~)5o(Vn@Ni-igj(uQO z2$JC#5tt=Lfm>zAUG3{J9+l=YLLTaMD!8j|!WRt1J{LLtFwPwg2lXg3IUnE79?%v! zjO=tJ_Rjs$0vC*Xrw(Few9_4eUFkm!-3xOh8b2|X2oojPKZqs$Q-zt(R6BbUw1z-9ytTcxiH? z7kgRA6_bksY@SqDEJ|_xotME0a}cJua1uII2d!t)sslQWjLQ2VLM&bzO$QGou82vw ziDT3^i8O0U?T7oMkBj4I{WE2|&*f#X1aUI?KtuYL0P7&eC*|<|v zl87ofkO)e3XadiQB)nl~I)QWa8&059ZqvSzKn|t7Ojc#S5)!!s+6x6~w%yz>;Mcu5 zRV@^40i5iV1!5;ERkiz+2+_iV`jH5E0T)4Is*9$V@Q1czfX+j6&pv@94en-J6N215 zf)gRhTzh)s+CeWnbYu+`Y77X%Ppx?(;d?UaS-0kyq&Eq#S^dP?M6xd>JxO@YmlCm_ zcq-{zyZV`=cg+*)l2KQ$O?n*+LT}ryu>d;8kfoWl2e{Zn`L0p<03z<+dU*TaSXyA%^Sl;14-cumo)E;ZRUCj%q8wliDGs0=farz{wT} zeL5(CZw?D10>f*(@gi;wdHn7>YZ$n@(Y z^TLsE9!?l>M3!aq!g>b$CDypI{9+H^!IxDp-kM2zx0Ws6L^0^BZ2brm>tI}tnRHVOf@NODiMHDD0R_e zRT$?XiO=g!;S|i<_=ajCO=1!7qCVmi#tJM0^1<;{@nJcqU$SogoP*qPO!IL3nuOxr z(HnkDZP>kM!vH8+F7XTgC<+C1yze9uMg)d`Ni!LSxz~RwN(qhOfj;6nE}=Wx;bR00 z`6!GuAB{+7oR}AenuWx2BPRIxM9^{fs*U3XH|Yqw%@*b#FZ4imUX_LD)Fmc_9~pie%Xz#)#IF$X zoR~b&2R>BJ8yrG7t4a%;V>jFd7=mR2*Wp1i#WRMQU0_9#11FlwvkTXb3M)P^{Ja4F z!Ig6NfKo~ zj}pbUDq4?YP#=e7Yd?(ZRWeNYcxK3zBa@Q%#4BT2@Xkl8l=67yEGJ6QUO7{W(Tsb| zczD*I5!Pm=rW7?8poPo@-xm#YLkN&DJ0I-^tRDW9ey`s5g7o0`$@u#3K=%N|5(Eo4 z2rL0RvZP4(MpFU)Xc{IMzVi@!{dkBmDkXxEyGM62B>Tiw9a_0y+Zo1N5_mm=mv^WN zI*Z4MA`nFZzC_R`ajK0cTC5p!AL4QqgAD@uCR_ScRSBSB&xk1vB&W3@5GJvF-6Mtvx`LSpPXIVv@yk!)DXYT~DkQ z?NPi;A)0-RLc6LkX?Y&UWMZ!~!!9pZ1Ol0yWW_*BpkUX4>PCT_KypS)c$sVZA^?^n zOjd2iTaR-6WQ={cmUVh%uUw<@g>g~wY{;_;)<$;A{dHVr9S1d~%J@n8i+Jrx(e@`gu~splM> zhm+5XO6V($0&=L#hp7vXM^13Li02~>v=BVIkFJHll_t1)Cmy_}l*XBDJjRImK}&UB z_MJ2MQz=Sd{hH9B2Hg_TdEJBmiTJKm&$>EnTzKO1;D*92d@LO6w(g-L$6d5t2$Gf2 zW=1l4E3672xVC`DK8N)YB#w!y034o&wufW&4nHCvp+XI~rXxMw z?E;x-uym5`r34;r!G7cd0abS85Ch|7IC$dxgD$Z^m`Irg@Lrn;LAa78y_=F@tZW)F zniO$no^GQPNKcqs_Kf%9<1I457@iqGAukOa*bN2)G=G&7j;dov4iEc{Ba&|GVf}sZ zAic<;$AR#A5Y?0+<+;Pf02;a{KJ}+^&0%|Bo%A5CcyDvFp6S`~VhkgIk}F0~s$eM+ zBf!9X>^?^9-0hG0CvkFN!7Ywc_{2-RF<#dR;8&aj!8c2MHHCwmhZMjC8s|e3V^0rM zNlf}N0-N3e15AfFBaH#+2wk=O9$++&ak2_)9JkiuL|`=p#xWsBP* zNTq7zm_NnuBl#)J`?)njH*2R1NUv zw9k)HGV#?ikJdb7-_D~{)~8Ucj1T_0NZ=$!hF%g8_OyJOaew{NBR1h6*U_<%r`YU$ z82K%Qz)};>sOqrj>B57*z1%a`#hr|m9?|KO2yb z!fSFUM`j6!9U683?tH6Y_K8I_c@J|9pNDWrcAyVeHQP6+>cxH^DLI}3E-{uo4o&qh z5PKA_r}AKrtlm9RIXrBAjU4d-vZhN#1ydyKOFo`H)#`k1#p`_d79!07ltDgR47Uk{ z6Hz|1!8j`B-o8P%^6=k;@6jm z%>r0Mee53nR&FecF{wi&_{g$ybX87;985-IDbB{>5~6~jLwrRR#+P&i8iVvomM@A5 zAr2mSZ@dxdF|x7ZJ?yy@LPmxUO)Qo@D!pL#*tD|ku__pRRnQP0keWF?Qh&V<3_0fF zJCtAA_!t;L5b4fG(mAEVhl`Z)o_O7mNFdup2|qaA8OlQ0yz4q2$&8 zvv%a=WE37ItHvcZw&n$mhY^v=g*@U+TSZcIIM=sAZKG8GRq9KuKW2{FlJ>$kG@pWfCXCGKr9-A0$>1C;gp7cug*e z!}FiMI+*qcf=BDdvjHynKn(VT516<5C{mGZ7*LgRL)lM8(ALz`+TA zIk$I0)o>L*oRxMD4oOg~qQ_Xg#| zBbxx@QM^8}p^8D;o8=fiz|Oc3{A&6OUim_I@cF>8-s1tsis(#D#t+74hYIaXM3HG7 zM;~OHBCMBX70avaE@sa`9<@t8la>tZqiGO>bY80d#Ajiv14p&w1s30K7bCd{=Y4Uf za4fW3Unqsk7`^JYwyST7e|q_)8ALVLPqV&TQkRQ<$$E!-IlpAOyU_1rugu(~D1TXo zmX*6iTc}6D1LW^tGSyw$!NYW)cAg9K!lzsBG(Y?bc?X{O71G{?o*&B>A5&bCH*phc5TAz!9EuoLRS=6d1J(z9&{GrV@Vq3 zcn~76_b@WR3IQeu(L|CV+)7P^qU^heCgP$tK2xt?$a+&6gHCqad3f@R+kFWHiGwD9 z4p{Cb@H9m(gqIWlx`*fpg)hU%=|$OF;Roelb5mI4w1R$dpuVuSRWBOKN6dJ6>eeL^q&RwwdQ+;&7s zZ^CgD3d@8zKm>TqC&Y@D^~LE>qmNMT9_StG8^l=KJq(=Z55CjK9BDNbgDzA!r*}!v z7{hxGr*&>8R#9wigV}~q31S@9mmht z_2!M z-V&0Lj%6OKmLt3I#SGAt4>IxO9=A)WaVr6^5T_rNaFCM&JbhxQ;KE)2i;CVe5lGZv zfiwpJ!MvcRfSzRH@#0fFLOX%N5Eh?rzIbFpaE2B=cO&Qlp1=|4kVqn)$sFj%)~oCm zOF+{40+!I%<|G6|e3*^chK*PJpz*>B`eH4;)L5KP%#jWTRUD)iC~eR}d)@WNe$*agr* zz&IQm+%MuwUV`2;(f9R{Zz;QAa}QF`xRHh)qmQKKB9t(V82m+vRquRDx~iK?n!-Qd zjbw=}6fb_UuEaL6XF^yZgW*^eN{DZ}Q+UgR55JM1j)yktf=O zlOUq2(AsE+cM371=%E9w$mk*7fni-rJm}#*whn6o5wL;dGCmRK@bn))0K^ZOORNd`g`TH_fTPGkufeng{SjNmGPcaYp|Nq?Y2|C7I2nZ_D~u{g zX})l*A|d9%Pzi(#D-A<{vz&4?D~=m=4jCi#0%{74vc0D@eyu*0O!W^2D2Vxxr2^vvhiDg6kJq?d5L6)tai&(VXGn-gfr@iAySiy% z9y$iD8t8|diV^cKc0j0dBbHf-M3c{zxa4x^#=$&UB}xW0+VM5)nUAjrLo4jyMl2IZk0Vk#deSQ z&?AV+6VvL~Gc^hyT446o5KOXS+LH-cQ9Zq5u*{jQceP ziLk?>Qb+&`g(4@Z!`6u0p-FxJos^G*cPBlgehWLCiei3Fqa>)RVvrp~K`-#4#MfIE zaH1{p9dBszP^WYyzVS$i+c!KGVAg!wc*@(&^#i}qi}UBh$MM-52Z&aJQ%u0&)Cg35 z0f)vn?R@_EokxJh!5jW)mi(TIc=wE|ZXzDp=7dQe(Wvr|5D@0O63*-4|?9wk3%A>oGWO#sJfuu4} z7r@I=$#BVKfe2wOyg*pk*k3TLe?YfG#uf;D0VbQ?VYlJFK)7lu;1rrY76@lA%F<$i zFipEafOPX6Lvb;n_xK${RaaUdQwUzXaL+j_Y>31?OWqX9$0+R4@ydj*)w@TkLdhj= z6G;t0m~9~U;^av-8c(COibS zYoc)2;&Dz7PK9xO%19ItP&@mEkbRs|)H(H5yb9vCd>ts9C}5b#Fybo>LQ7 z-wS?Cmu!2WO;wz97iwU-6GDQ(-c@-GNSoOcn|eokvAKI(&1>ERfh?tjP>DKt^vEj# z<8IoD!77m~g!g$Qw~gJ^QrS*E0#gz6FBGY(@@+@(ra8Vad4Ml_VE)zb6MN;4S8S8Y zAaC-f{Adc3$y6pi;Z~Do2=`vcp`G{fD}XqFiAY?;%r~EgV1xg1D@~^{_iZzWO|Lm* z228gZ!T-C(KWv7Ld32jOVqQb&uo*J_W)nj3Y&l}~!Z!eTH}KyE#9Wdww;~3?yPQI+`pR z-f?4I*)23;|Bw$zp#ifQ{|q^Y2KK6MpJSO9R~G|B0reO@H>kCS!?YXjxhE|Kf(s^|0~8k#L@8z z{*9P#!F?X3lWNaPDvsd^P%s^b^xT1vLx|gFUIa9Zl0fOlt0@wjX+Z09!Ah^;szbxVdZcXG|)z@_BN{&^giq^Ef* z&Oys(4o8s_Y0Pomhdk!>$pbqPXF_WIoQvO&nsbD(AIyUbhrc8oKzTNwo=FKYue^t< zsXt$OnP;^hwn%?-qzxuopnd)#O2+p+(6=hLVvaPACaH4Qx@`LRa_*GZ*Fl}bZ2gx% zX&yRWllhsaKR)eq;E)k;)-Rjx1&r2hkPfMIU;X&<=JyUMt0UGto#y(x#Z8UOyNozo zk3{=YGw;*Y`Nn*G*WUc%OCpnYpw(#^xdVLChcd=M%OTK`ynWEgi|V;KNiXsrN5Dd@ z*12$($Y--@6S#rn>;>ekW9cBuB<#7B(wVa}rO<*B_>1XMswGNVvO;=P)oOuJ^i+CA zNzZ_k+pnR9)wDJbrRzZ%LhYj;+(c@SUS`ewIMtGhF(@6VTaAI%=@hI>pU6y|eZy#a zQYF_ml*AdwQ;IUxQ&jn7JL->*Tp)Mz0Q+f^$a;L{7dcbj>1-kryo$1v@^uR5#`rr5=ax zBZu0Vs{E_xPxE-XeD(l2=D6uX?rbS;%mH$G=%ZSHY9B`shZ@cSKssZLhq)M|_>1Y7 zTQIsfOXI`Uj&77y)L=+M#D@koU|vOjYy)G)<;Qf5XY5^40~sarMqstRxC=Vc#(8`* zU#|=_-<_rjdtLS7`DtQ$ZNgm6kxOla@_{3fTuB`b?fWYArD~Z>jwI*5h*$&AtGv#; zfXv&oQ2H%SH|v*N`h{kc#$KoH0{+0=a(yPE(zSNa3X`Gad%sE}Ac~)gVCEEy6K97G~ z$E0IvX$!1Ow>&4kI}p|mNjkA)N@1>es&x)h!dq3$!^!nlntmHWCD$8|R!zV$F$6wpWZyoaTl-2(;8~f z=$3J;;xV(J=Tmd0^fiwyG;U+6P+CyCnLt|eNIbhG+e?`39Rl?!OAJ<*Ixdwzj7Wk3F@YV7dUc|F-IqSTI8Tjrs085IoocJ68!W|sEI3XE%{V@OS2C52-AW|09g z{xE9MhxW1t1L!@{AJ+elO@d)b>`S$)1}(h9(~2SKwItTMs5kY=E~zKRc3yWF%)@?t zl-4_|M(};?>qAl_>LG*RGf!I+kvEe%r@4>4OrDr;jW+jj4MuL_+^9NA(6t^Uk0vF+ zyciLwpX%>um7|pB7}LbugN&|Y|Hx`=(TL23fnJYm|LQoR)q$FPY!A_SopET_HcQiW zi(BvYP`?f^4XQbcwR`EpTDe)8=AzImk7+M?OLDTM^SBDyfm(OH{=rq({1t?0J%Djd zj$uuYf->OrCiV`k7vvPvl#~PP&t6c9GKYN)oBdMuC&v}JR_Vp@Wtw!if<20nj$AZP z@!iM%rKYBmilq-q>9CvEtjE8vV882e^A(e6cpMzg{~tG*npMb${p6`iS;84fR*NVh zG1BMFn7dF*FHh!CD@TpOM3iTo_e1_o>(LUOgHfZJFJP>H!PUn^Y(0A_#Ev|d`LSk} z(oRj=#%9FpLwiXp(6mGCe*M7E=DthXP6{#ylivg>z6U9U9DL)cGNdY>sd9;6~I(^)mJ``@I`&R;v^)GGIlM zuGuP?xycvWCLJHE=IO)ci}Q2ltfGB0Kg=|cYHSIpv81|8+JVh7#u!7%q!_IN{h$vu zCG)^S@mHC>h;tZunrJg1ZJVR$!__IMk5spc={PGgt+vxFtHy-cw_}UgA~{~DEs{Qz zEMsQB!44y|W6BJMlJ95@QSOZMrpDrC%ZJkT9k!aIm9i<+yN^8omXIlc*=9;Tv>SH5WD1pSluMNM%pn!~(drgf_l=I7UW~tO((^hC zkXNWJ3YBnrAlW~DZj&(dRWeL)ifE>wQ4r8H-x{yjS z%q$<N~V00vhmBmOkLufByDRtw`1(%PbfciuY`T%tca<+)?&t78}{iwDJN`{ z5#uD+#w1UutWEQ4nlEB`#nr6LH81?CIi%&GY3Ra8A-`f~1MF?jX3gC>b%7c^{Yg_) z)nLgtFzU%Mq&K-q^piSDX37}TL5L%Uak%>Ah@q81W+$ws?;INBWL;P@w00vsdzE$u zryoY1_rqxwU{reux?+BhaD!Qt96#Wwl>f;pKe%LPH_~a{X<^z33F+q=woaua_4rtN zQkqiJVeD#sz%;B!8tNa=c$$)HLbX(=?Sgt6OQBvvzT$ZR($};ukYj5s4}Gi6GwE7) zp@%5hNjHu%t|F){Es)!@>6F#&{g~8?;+1KS>49#v1-(RDxPkWO*Hx?swI%jMykoyW zT^?ckM}_`glU=aRk9&O=cP&s_(*CnRu8~SxwqG?r^UQCX)#f|q*Kh)Ch52o07~e5G z4fflRINvdk0(#tqJQ+gPN=PPJFWjiBfFtZvStXIDy*5mpUNzIe!=ObkWYBK(12uhU z<&Sa|d}sRzxy-E|9%h}D1CtgT(%F{-oiF0tk6RaUI@k}w?7oC^n`(Z&sDm4^=(}Wp zm=3PGk~>Q(RS!rkt`y=OShM7Sv{7xNeqYu+Nqv%evZdZy8C%#{BhI49Jy7$QwoQBH zW8ywSo~E|`aq$j;dR&8iOuV{5)RyZn(-BjPqnH|yPfIQDHOwEYz%#4NlW?B|$2@17`*1NK#Ha5)w8du z`EpXe&^Dz!q2vAwD~t-+o{GIS^U;I~juN<_8Rv(Dyg=~(F!?p}Vi zR%?Fq?s-xB)ES66?{3s(Oy(GGgS%^6znIRuT67}EOBjLE}vCy8A`G-*pyqBhIUBDx+h47*qHf+OOqpKscD265MG1WlH zuRB3Ko^QNkouGSrndamAd?l}ryKCm8DD`Y#XGv4VLzGq3x;SY4RJv~#jcZ^Zpp=p^ z)T%RIALf}5zEtga%I}m1Do1HEAr~buO^P9ZU@fyu*D8K3ort$29pd7*YU(sMD=xLZ zy)T_Q6~8Jhm2O$G9jR1xuYhZ{&MH;o{RCpE6Pea={L(H>8q)HE)e3B-)UT;=Xip`= zVE5h({j(EtVU0*{^T-6KMLC=7qg}`|Idg&sAC2cra@WSHG7_`wW9gV&pK_#X8#rnc zaXZv@M=4*OBg*WcwU6l*484yth1!{Q#h%QUb2@v8T9#U&5~1@blnCpfqS7P=f}R?zE^y)IoLpFc-6owIkQeOSM!raL-RZ+$@P}yBlMZGd6e<*lOCd zFXz)J!IyPxGxtro`=j=9QjmJ@h|FQms@bIL5a(<4x=JFarOXNUU>)_s2`lUaDW7kZ zlHB-#&c;T!W(t9j%$n!#r!!pk)4-J80NC7RBd`=4>Y~nR5vEuL+?M%&Y0`oF#YL7ujI|glj zH8lKV(Azs<#Z}B2hcTw}mA{I<{I7no@%#VkFJ3uwu$?4E#Q{YpCYm?ENLnIStcso%66JoCT}O^N5s^18VPJQxlYqk`b!421%6}Bmje0cL|b4Fh~Ffk?;~kKnfLr zLC1U$0SOX-K_wqVK!OBd&xf~H0BqMfinXXb;7Xe6E((>GMCBc}7?m%1`~?S8mJ>iq1&~+3 zcp2w9W;zqiiELYw>B!|ft!;&@geWbvntGJ6CbJ~^P9}%Zjoex@{QZ&pg`WxOH#PZ8 z5dyhL#};diEfzc4bNp$qH8pVC^Crt5^%jeHU|WtC+Y3PRx4q8f6aY$sIsj0TN9CU) zcZ)o2vDs$xsAlbwmgyUrT(-6YRW+HmMHyt1Y3s-p3ibKyqTH6|+@f3|pSJ?$^EsQV ztE+3w*Ses(e11{Bu&Bm)YYK%zEh5)!Db^TMz(i3%F^g*I@;SsoXiaTCTP)NR(72jH zE{|GO>hl>i{SPzI%-V+LjKcSuLav?|(q4i%C1J+EWCJ3iu1H!gfGnWPJ^4Do{HrW( zIZ-G?rAzQ2_nNx8JQ~b$fXnAmepE(M))EzmTR>eYL}@j3s5mNvczO5RnRn2-meNVgjZt|$3S1JE{sghs;m-$i(j=C1pbKqADL=Gu zz+sXSeAC+&DnxO1F^5zs!I&wsgQ*1U3>sGyw1sNM2WGY^G&0 z7fnj4pQ8Dj*$Xq9F%n9DV^Qh*4TcD6)JjdHP?KXLbBoY7$m(x1&Sk#vH0N_f{EQjk z54|V!`rlEv0|gQu_DNOgI00CF?tDz-B*>CYx*?AXyt)Oh*pPS)VherM$<* z0Axjn`8jG&DSs^WLV^{aM+s#61#N8lJ)Whj1n|P z*thhdurq$Vzlf-461b=IA^wyvN*^{!`vVp-q!>*`po-GLQ6&$ua1dZr)fcR7nZAzf zI$EaR;=cm^adb>yYs%-M=?~EKmePCe9QB!YjCzyFv^O?qYVJ49_Z$8X)zuuxl{VeS}lV86xS73gmOB*P#4Y+bR4 z{wdZ8{{m|%`X(PnAjwfWk0HsFwlSY=DPx%a+`^}^f&V#+A{w!4ToZCYV4URhE%`i$ z$=ijNnNF}7xb6Q9y!EJZ&iBaE%pYT*CX2;UOqZ;sgk)o?8GQPkO zGSiMe;N%C{1E2x9I3ZIgkY_P)3ymhnAyweNLIXyG8+{_3Yqm7k)KkcADN@X`H%nk& zDCB=C1bD^)r9TCL!HHHA!ob2%M5|`H@CUFpU#D<^j3rXF(2}nsk3){QNG!f4_`rJ_ zQQgJ)I@^(}D~Lc=v0R4KVVn*YhQFdzv>78vrVU$bA?rGF9X048wm|S5IT?M$Mfo~y z72AdXw6B;;Z9QvPtS2SW-9O66R4Bs|vw1THNKI|4$<{&=fD&-QiRHyW+u9hdya3qyI6fVAz2vtZmNMwoIOBC&%I!fAx8t3Be^I5~fLN z@G$=BI4-6akuu=1nSD{Y3DPGj{e3Mu80~5>7AW}f2M%sx`to{lFJWleXlB27uH-wj zjE{-c7Px9F7K)r>a}Y_$y$+mLU+iqi6l!a8{y$FNxk6`->1+=Cm#JrJ@NA~oQGgd(6~jNm^y??h#Zx#usYKxqI_*MGl;rh;c$H!zoEUa{+ z$l0sXX)&G<_%*HB(@%n-NLmQu!DgT&J+qyxhTgr@pBZlepBB zaly-M#Z-4Rc`BOP+mx>@LMMEdj2n?j!2wHDe|%PdHtNq7P!b$09klUYjG^+|9Z}_c zG}DZ~4$Qu9N0k#DAV5Bg{s#`+P+*J#1W`@^c#3tXWJ5zfpKU-Nyj#DW6gg7n}>@G=w0cqVl$6boh59 z{ZLY>^1~DbGPh==+xne=FZV-#NM+u@2^)E{dz!0D(ZC%cFjXWi4jHd%mHQn(^h2|w zvW|c4`Ff0vs=tn6M>KOu1=aNasPsCRM_A}}kQh@~9<3Ti;)n80(KLX5jS@}wTMo68 z(c}g!N2AG$NQc>uab_l>$rV^LBNhMHIUUjTsHDYk7zS@e(-W2f93IG2Mg+%IjbQpM z#U{cexP{{;m1RhZ{D(CK`B4*0P5`LIXoou9kza)F&RL7mQ?7uUWQ5IO4zrl3G?n*@w-jd-lc}b}A8)<F9T@gD51*1LBdwBZ56EunJ>@{@6okzIL60c%RMN?hT)OHM;mh!7b{i#U|yOW4QJ*ut{O$`dYUXRd$)BB}V zq5SlI)@vFpe8vNpAf2^xoY|S7R+`Fyi(k);;s;P zLfm8Go)EVrZbjTVaZieSii^{qf*aH(DIOc&99w>RB;(?PMnDfA?f?GEi zu!hH6S%7e$sexm0<^yp*6h*HLQM^R_*Xhpo3;dD5YsKvrcTn76aYw}!g##?fR5G#5 zHj0FpxgkHZo7E@7e|D=x>k?OH>)Dk8uMoFW+{K!%O+4-5ZWnj8xEsV>FYY>Vmy6r1 z<=hgFG!PumN==A+OxzRVmc*@yJ16c*aZgbQ&#uHDR{nt2;!mLy(d-F8xk6NFYiMxm zsgzKYJq=t0N^vI?UN#^`>~+oStqbZ0aRCf3-UF?xG63&vCQ z_87f4ngy>Z8afFV@GM5!;Ncj(KAHuGYn1gJ`7F5OM_`E?iC3t^y{><=xQ-RwxhUp9I({ya$t2uTEx&^W&h(d-7F--a0770rr(B0F@& z=;3G{g%2))+kj>EO{5G5T0E zd(5Mc#b^-%uE-NHx)jYq6l;;C7+r~GD;`~m(R0x(q_f7Ji_s^eSx9e1pCnql{!}!3 z%6B~h>3RX!^`}&G$KvB+fG#zOQcYDQ2L+5q0%ouVYFUGXaG_bgDwebYtPMFxI@ls^ zA};hK1tKi=0O1eX;uZeG3KI5MDmm10MB}@PT)1qWcD@qE8W+?+7f@&`*V2@t<%`s` zeAq<_+VaIGv9{wpD@zA&P{;IC6cPk%08ocZT)rn#sEri_f#DqMDzxn>fK?e_?dL4^ zUw|bSCQH_18)TzWM?$>^L5gik#i4IUNTGDDi)PPtQfOlNLRbKz~OZOx02OczZNC0FA3 z50r(!d^FV!m3<#64HD3%;y@ZtqR9)<qWwpf5TBfm5P#e=dfHbF!E?uk?*(13;s1GzA;3EYYVf zNVE%W;4Z|Wxy0G?!O>u`3(K(JpLzqGL_v80e~80qla0(-kVWAUA8ti5Ef;CFo|1ya zZ3n{=54NTE-Dv7VBrksln0Gz!A%iN7QKi{oDlCF=fMKee(bRPxnJSPZzb-*ofnM_% z$Vd&k##QXpjcDqFXzD$Wr1m8VKk&eNQm%zW< z9I}liMl=dhjnzON#E7905H({Sg^(&oQwW-bafh_odd6|SWw4&1Pq30<4Vbfwg#}KA z-Q_kvnqkg_4-upxYM=!on%euhe1p`;ukk4^uS+(hC)Y~YKw^yy@b!5>T2!MV)dLa8 z7n~V*;cVO+l;{fWlu~5aBpBVIQ3ol8nh-l5iI#A_@tmCSoTtNno`!NuR(bK&R6n z9=AQ+)UVa0F!~wAx35qWBr-^XP+DQM1L0YgFR()5;MZ3cpxDH*M+K1wdPuFA8v&i2 zJ*2q%xaDysn%oX)6-~jaq?EqISohPmcrKdkj>_mzh)fBi{Z4{?Wd`fjScDv~H3It+ zazTYp>okf5cTFC>%`q2EF6Tgc94sh5oK68eN}Dys-W-Hewxd9ME;s?d`oB!Mk76S< z*ziEMAJJ0J`3HOs{_E&qYOr$$F|gIhK)K&wbit$X;A5=C(3mv3q^X0UaLzmq3w=~s zt=Y+#Qjjil=C6a{1trx>yP`@JTF%_uC@ItsIcLE7g?c5$UhF~^nsE%E)3oJGW)Th? zV1tBN`7xL`8Q9B9W$G+gW^v>5Pf&mUkNgBC)qe=x%iz%yGs1XIOvz9{xI7%CEP~bzBt3q_R0Je>E%vvO z9ED*&QFOhQp_U!O}$Ru@IV+o){fM5h}ed@T-K& zuY#=Tvz8f}ty<>R!pmJ+_0F_uk2;q6OS06GXl@;T>uNC&1p+V2{Dx$$W)aBf@JK{1 z;eeHRoQ&)1K{T)pnuvoq_-!Lrqz9Cr8LBKTGc=L4%xqvIaQXw=o7_m81`;N5r56@+ z*gBYM6a5^*?F4p}A{?*6e|awUiXbSCK|pXYtJx35{YYF+SS_@BiPq53hgl;MG6=k01P9 z|Gw>wKlsUi`@SnS9I-PKUvewudgToLO%|*j8UJJ%Tj9{xgV=T_| zHXFMdF`KRFv}U#4062q07VAA`nzJUK%`->*GufIFoGhJ2I!$znbU+a}C^2h_bT-hD z0Gvb4)*5)>Gxe)*5SmvQCJ6eMa2k^j;oKA7piI6@liiBs*~N6&0dP>ic6uW^t#Iu2 zj2+6@O2+>4jQyjGeIsN4n~Xi5u~#$pFEaMcjQuwm`%%XJUB(`?wqotU8hbEnJ9G9* z(e}^Sji+q?k8KGV7p&P}P02Q7Y=gDfk8d=#35N?zb^{Az=~)9hXAL?)Ja8~d4g7Fc z)7e0$i_U&JqjXAiPSH6>=OUe}bl#!!KAn%~;7m5#Lr40wK&Y8cC!Gy+N_NLLvv}pi zWV^P&SpmrIGxm$d{+h{tm-t_NmCi4I@c^TLL}*cS_2rQ4j;_tm*&SULvu^}pZtP-X zml%7Gu}d*dj9q5zy~f^WY`d`?#y()|gT{W&*oTaL*x1h-`-rhCjD6JDFBtonu`7*z z+}Ksdt}*rrW1lp3t+7uT`z2$aHg=t{&lvk%h+!iyUW+g(Gq

}{L7ZEJ7a{B2uz+t%N<4YzIMZQFF)7H``{w{3LWw%oR@x9#HFcFApf&uzQ( zwr#s@@4ao?Z`+RB_Ws+LXLFfsrY2LH!AZ+ZU8X+MkZH^`Wr~oO!nbu~#9BJbGRye$ zSmrVQJd$}NBOHHU=05uC=`7AH=Fig1QvO7lh(BM*e1ShJGb{OXZ{}Y9Jd}BeKaF&X zbQ&iq6wn*#As6N2iX?|MMSjLu<`+WxkQw1D&=tvm|qW z=7G${%$DqagfCv`Ms2o{Dck6vq9*&}AJ?1gZFnJI_}`l*Q_4J;`CMjs=HbkvnJ;CZ z+x_d$HCMmtQy)L-1MmgI7dbYYT7A+d%NKp%JZ=j9Js$x2oKF@4nnl&tv#^4+nm}`= zL<9s-VJTJ)gc|5TyqoMIIxTdT(0PCkD*ubZOE3I>RUh-x+H`#F=-T@N4FADu$g;n?<3$cqKMZ2L^cwHn&dDL%JLu1 z2s>bd2TC50%E42>K#>1Ld=n~YZ3wuG3M3K#D{x-pe+5&LUq;m$0nm&9kTn>Ge+p$nVm;V}SS`o*7r zl|dxH`*ilxIY;Me7VKrR;2e`(M(18S5S5Ol@2c6nJn&Hnk=3vGudy``E5EU=-^)qoh5XjP2v_M zoiEWDrSsh^2UgbH`w)&c17KsbHgg}eV%Ktv5I~!O=YQFI;J9J*tjWGb)L;Iny`234 zq$u>NjA`RlW?qaO#dWYJ@p!{3_<5yx@pHI$$(yl!k<}yb=?kc2+ywe4vhlH74k52} zuJ;TgH+lR)=)>iof z7xN{71Bjb!Mhh=f52R3Sit5EZ$B9(H{k*z3hUXmO3zGEv{O{o%LB7pDmP!RQuOO1X z$%29Ad*-|+%R81nlg0iih*aG4ixWQXy?mUM&#Wjtcumj;-SaKvc?1P3?hI~i=VN4E3A z@;I{PBLO5tAK1?aX74BSK1k*y zEVNjY-ALy-I-BTlv}Cu?d7jP-aO{TZ(m!35DOIYzu(e9QL^wW+ z>8E?2>U-)-Yo2*>?ZE1F&n(Gw+veS`42>cu{T?8)%V2eyv$eUJ+Lprri#4^;K3iLh zpZ)mPkAH*sH;jLy+;e>$TWqD1aHcA7$_08)BcQyO5O7iH9G$ClE)#buQiGRRfnW^4 zso^GK!j+Xe`fvhjW^=8W1aaFZDqXU*4Hl*pfN#-x+t$|c_oA(>XRiN&o;T^dL+@ES z?_%A}g@5To`rd#ujkLHbK<|6GT3!%fitBL7+v#+%Y#L8WH|bqYXEmJ-NK#$`dep!- z(_Dl5MDVZ%<#)A~XgQ4Ma3&3%Mpw4bVUnbRO&tzM6-}O^11hytP|s-cY%@v~tGF{% z^aEQ#^p;69CYm}!2hpP`Cag&4F+vyUT%>b}4#*o-uFxU1D{sAXh= zM2ITy)45LP13Dkl`H0R9IydRuf-}t~O=sz_nbVDQn&~X2(?+MAPA8q^bXL$=NoO^k zwRG0eSx;vJoy~N%(%DX@i%vJ4y>#}`IYs9*oilXK(m6-xJe@b_Tp*d=Kxg9oEIVlr zkmZV_{v@kg1|G(3lACF#SY4d@hQmxJPY}mSPTnNMx=gVyQ+w&K8dDQ=PJlP`G~ovU z`Y`b7M*+GKpql}@<)K-a*_69yvjKvQ(BT>b)EuD20cs0Sdw@Cvv^+p70<cfKyv{)8K6_L6^QL19QFVY%$|<@mx?;@C?#^>30$C%aVY0f5O=CXXO5h+*rnq6 z2;4sGfKb9g1StgP(`V1)j+5-v1q}Ieiu_g~zm;wfT0w`bR@p#jD;=_5rL?H_fpXai z0dA`SS-$K=NC5ghW)R`i`|0%45$`aeQ95MT>0@+Gpw?&`{}uf05ZUWMVEH&|IE``8 zGW`x65@)WN&SE&FpVRpX3e*h%;?WS8m)SzKFC&w=^>n)Eut{?qGjnX$90$%E2h$wK z`CK=g88|I7TS-Y+Sb5ore#V(W4lOf#T?lW<5XlD4uz@pdVEJu0Q>Yv6#M0sD=eeJj z*)w#`vR<&lMl&}8bkjq#Z62Dr<)K+&aHg0&#r!V7nY~Eo5}nI*K%Hn7Wkj=Y(s_#x zt1?4@ zBNqyr+;5}%&AH#a`>k`o4RsnH`&$8;ZZNg9^K+jBwm%${s)e~0KG*{U*}SL*XzW;^ zP#C*m>%b43Trmf8E)4m&;8yxxG&xZ#0K;*E7!KAN*f6hb(4W=#0gt@?McfU7(g6K} zC*$?6bQ-D!Hd*&Vxe#80^CQgj)FpD*11VMNcz*+&KC`wCdr;t~sB{K5YybhMN2>(7 zT#(o&mw<9Wq_X0DF6>fV75DO@&I0nk3KfRtd>Hg`xCOTcA7JIm@S`FP0Fr;rs83!q zmP>IGk8K0c(3uVCcwvrV4N{j=EvPw%N1{phFqhJ)YBbt|_9AI$tlSj`BGN3C0_#|j zX2n2NbI2ywWFgYJIwJW;KGhGy@QY|o@IMT9;+`DOj30AJuGFPxz91KL876T|% zS=4QNlt8(E=iZaCGOkzcjDLt zd%XcCC*(gUpin=-3=Q}%hn02d6ib%Yo#9BtmQ^RVbfOZ@DuRQ~i94-r!|hPTE7cO&hkk>JbdNL;US&SW+rueSO&xKF$V-W-eSKN1f*OxvN{~M42w!T?N z!3s26xi5x+Q2LPm0)oM}j8LP1MVZ*G1Z9y7hlJRY>9F3S31le4? zx3d;azfg^ChEQt5E(`f8odN;P!lDKGqxSAMtyF8C;6ig1_~kJuA8J02On9Lx7guFJ8wz4 zvO#BX_my13E&*eMN7xarv&d6fI!$yM>D1E6(`nGW%K9^{KYuSwj1I#5QbQOGz~LqA zz*=%k2Cp+%us81CW2#}*>O7+05CxCG+Yb_>oxP3s576qFE^)hAeV}xxuo-Mqp%(N) zbHMl5zQ@*lo{{ke0^Ms(I#_W`h9@FpACD~x)yvEAgLz>&>0DlpKSi%*!`LC3a0+hFdyQKNsm6cEfoD|{(HbRoNE2Qo6X$2^E`LtajZ5I~Bnzl>Q;-s4^x7()` zpxo`#c89b$g(Tg~AJ%zqNW0gk6#(Pc=b_R zy)Wdj4;LaehkcTEe@MIErxl>Q->2Ol((aGS`!%gnyFaAu_h|*d2`pDGE@Zlz<1AIb zrtOz<2SeIHpH={#(9${&hO~n?q@ZaBCGBuXJM7a6fcus%EiYawgW>Gnu%;cBw4)*I zs81_EdDN#J4QWTC@~EaAm9!Hf?SxM&Kp7W6wa&cWspU@Kl_5<_jV{6~OH2ZB2M7Q; zQ-Ja@pY~WtdkkTk_L!u_YbY+Ql)|)H+zFqSQdG-D0Vg!=2}xTDX-mFb0m>zxwiMEq zqH;;omLx3>uDWt7KCJ+_GwRw~327@ZFKF6|q@4?C=X_cL%5y#~rX*MAxu`s+Y3C&E z$&mJ>Pb)wf7kahfCqvqkQTe2%Jt=8Vg|w%9S^>(ZeA-hX?Ww4IO4FW_w5LPb(>|>L z<5%p`Y$uxbw4^;FY0GCIiI|ohea2@Z0D@fQ&xA~HwEB!@az-*a8!B+trxgI# zm0jAiA??|yd{)z*m9*zV+H*dw0OfN&?YWTlTvR@%Y0pX8H$vJsd|Cm@Z}_xtgtTu& zW$05Bn{PU!vrC9Cxxn1O zTrOi;*Y3S6i7%sAE$p%;xQsXw^GX2-p4^%l%=XJFh{GI(M3@kpp^@NVA9PgQ9f5*DjkKl{XMj3Q4gNJU zZmBFT^coXQbt3@|kwHP?sWl|9&2SO0Ros0N^#&T+9+ls9bFV}wzrmpLyW*aui%a&a zspaC02|2pg$s?Pj`xRJTav2jrmP)rMn&>1bZfGo~|3kixEP!nUgVMU&vl_I~51bN#fHnqFWGWVuaS{Y>XI|80TVybim9T zF=B!-%6t7{rM$P1ovcgf@?IRhhsXOQv-5Gu+JuAnoC5`t zwE?;ar?WXCxmW<6K8-;H{xHILe4hgi2@#Qb$gt9gSOkY8)G(o@Nn^SL38g;e^JHRa z__VfmVhQ*RY=2AHKFMs8rj!>~1K_ZM< zRkoY3&Iq1%)}t9qzGl9=fDMx(&TsPV5#p92raV?6{>lVl{%b*Yk|wI0z)L30QRNt# zOaKo-;Ak90MxhxSD+nxrXgIuG*}!fB9!Yq7y}{sp68?`6)DuU~0jZi&0VBgiQSRqj zS;4&loH7JS!bx&H$`JUpxU>RrpMs&nW|P|m?h;pcby8?NDLgkRT`{>@Lf4ABUfgx! zUK96yaj%Q}fw&)v`;oXe=$1EwbXd|}(x1!d2fhh)1(cN43qX-rZzlj3_aX!Ih9)bm z@wRfZ2cGv1v>9*GJNYK(g3b&clIfRVr;NfsEa4#kpa3htm;}o2>8y?zXT|?MW@-W6 z!F(%GF%Rz5Jok!!u_}v5ag6?{%~0YbAWJQgwYbP9ISD||n$V;Z;>T3AUx2rufCOk^;qIug)SsO34=u<_j6gpQ~<~$xPADZ#CSKF zyh&hcZ8Uky0UC8`MTBP}8MHFOGm!*3qbYDBfaTFtBY{ag>eDO$N3sCdT}hMIk)eCw zM2Z!PEmtc45tHvJ z0>5GaD(?{iM>Pv8@jb1W^=uwg$6zFTMw2@Gl`CGp0%0Jl&SNwe)xM25sL9(h?#jO* zJpZ!r|7LMJ#k~|n+CGV~54Zd>{?-e{oA7e^bcnWJqU~QSf{wRSswdT}A?j(VdVy&gN&Ozc!MCl5C+_XdRr@6~Vss{5XZ^Y=&widHZifJqFd zE2stp{Ckjg{J|en&0G$XiDoc^q3@>i$y*ZRYCuexP#+^fZ^c1bLA)I!gy1vp#E3?T z@otQ0ma5*As&dA;$*O`|6qvk;$ww-G6G*K!P&c(1Hzn<@koJ~OE5PI}pY~Qr3)C%5 zdy8o?!X)z(gtS}*ra($57l11l(3Fw1_+i>?NSpO(1(?eEwAqjrw-&ORHY;f{-6IRM z7bDu0E5H;dTVeqCa&bGfplLWH)jxOrN?j{<5yYG;CQzx1`^C>^<_qcjAbsl1!!NpE! zO2LP~TG9#u2)1YiHmhZQQNYy+*;OiX=NeiMxT7f6R!|f7WqAjV7qaAyBs7nzPD>{g zgY75?I@?wKgDwa2A26{lHyRD!L+qI6Yk z8`7r<`?}Vgh0z`&N5)Cpg znkRLGPQ)N9oi&&wcA<%NKgZPj5ksf}xUvG>D>OiEkhz#M*t>Mu9!gRoG4o=~vTBeu z5OWY-1r|tfHF<)OA-SYJweHdORw8{eMB-g4^2VZKE>cFr(jq%|<%^4rTrT4Vq8!+ub{!gr%@89y9tf2U zyQz|DI+exJYP|UD8s5NZ7>B-ipriopsZJitK;`h*BKJ%As75o7n0Ntrnw5nlbVCC@ zcm?T1o0knHd2Iu+Ss$!4d~DiuiqT9zhJp)0?walr3?OV7I12rn1zm7Uc=8QsX0W%^ zAoD^8lTcDkVU>z?Eq<}7!d@W=vhYVbY3f2zr;iJaBY)sgNY&U6)|iKyy3mG=&}b6e zl!yqpbVDUQ_K9cDbL)#+#=;LEAn%Exif|z~(LU;?5O_EfLb78+5?l*QA6XcWSqLN< zdQX9377y;JfdxUF&v06Yv_=kq&@>Qcx&F|`1|JtA_}Q;NTwlOfk^U(!NBspMKNu<( zzz6&x-hfQH_csgM-2|uS*-IXPSxqrlJaE+mZ+hS@54`PxcRYY)h9-x`r@%E2yzhbQ z9{2#j{TyvmB^i8ZlWcVgaU(fCfy#*nDl>eAT2VCh4u@nkbp`XI>_!8$kO5d{PrZwO zAGQJpFGF9Sde{AaC<(91$eDUue?Fo_!JY7^(ujY}i|Ntm6~1DQ3X70H(i~sOWbQN)-A-kmWYKD3(|sX zQuFu0B3YOQqp2JC_W}OB*G`0sgvZJB1q}DA6%c)TiW)2^u~mM`8`QT?ekP3;UcqxN zl|o#2g`$A%SAkc$!MR)sj>Csa{ddSh+-nDA0CM>hO}!dq^h?AwHe~_Kc?XwL^6ZQdn|bft1K#xv=kKGx!-#IiEoSo&bTNMc{y4 zoxloQzQ`Emi^M}R6TTuagcIOPP1rG)V<45~Km;FTM8a3@hYvfjI9bb7FfaN7MU|Bb z!3M?w=6=MmEE5BfFpta6rFxFWNmz+08)9%Zn+~O%KOio$#t&(uh&uf6oniUGUK4$4 zaexV4a)y5|<`Jx{AwDV)<9x+7;sTJe6hNU(hX&uYp$9<99RfGy_PTM(~|?4G;e z=@~GBzFeWPp`iib`J@n_FHkTs_)M^x_X9K;LxRIc4hTQ-7 zC@LeAt>~`3KD7c+o)mxz#Td|_H2+>e@WWIv=Tppa@qh<+LS4|K5{BF-d?W!_f5p5D zHPOcrfI*6(`Y1#}j)5qw=~*%Rm2S}1Csn!v8I+0kW0Zov7+anc{WwIE$STkUyo&9Ly&wRqa6&RJX$n_khP8~oYSJp3S`T<9w;m@$QBYhNkaz~0@B=3tsAo8 zw1;sZ7Bl8gKX^}QQ+i#a0e#+A#KqSmz`1&&E@2xK zuW}>(+%W?Ag?wQ=(~{2{zOC>dgcEoa{0S|!ytixnPH=;lYm&b`V1X+ZhOqAqI)ia^sDX&Sue{tb+k+ekVeNPmQamNzj;aD) zQ`dqGU?RoWk)Q$#A8Lo?b%|RU4+f0a0m93*3IqZ(uDnyEJmI0zDZs4@SC+`VyjA2h zE|0SOIAE-gYf%keRYb0EeTx4eR}EQHUmfY#G=j{i^ljANZ&@C7SSz0^=}6I)P` z4>vr7Pw}{t^f~-{Y(oboV_qwKJIZtg8wI+J!T!z7B2^@JlSw$%QVrg^kH1SbP8W1th@*Wd@c?J#tM z-}B}xcMK1Uu$PtM(*{cf!7rb`yoSKCB?KUdz5pPc696%JR28h=B52-~DdXsetw#Lt z0=^$T6Y*opA;6o`t;ocb7oTzRqk!J>eu6sSN4_vIDupc4RXq46fIH*xz)_0NImD;O zaP7jM&F9mRxOU^u*750nq!hbL={Yw6V>!g`()D7{gqT}8y@(W2LurATKYvg8c)QLI zyUS2U{#9VE;VEE1H}V0I)+-8#1SrA_sZ>Qe&EQLI;?o_Jj>zNBSMlj$K0QY%d~Bro zL}R&;X;ieIrRl_*a>El`g=#Exe9l8xr4%s=ND-re6fp{PzLiqMDA0KhpVs8laeP{v zPbaweK>)_N@;`_zAlU9AZ}1@vS9$`@=O*y!GPK;C=;ABFBWWtYr+Dm&_TsTCatbE% zDRl#BPRh~pX=gr-x#iBW-7x|njl;%(8&-u!+UQdt=pE~iW(Af8M4i}TsbUr_pPrLJJ zXG*c!O{qX9&#sXI4H?L%HD^%9&+fihM)JZh-q4-l^QqhjKVk{KI^>Eif2bBdcX$Ol zht8r@U{_rpx-M9P-5ABU`+aCJvr3l0nan1;w`5zgtRjG=zkm?_Csep%*&tTIXISnB zDgu=Oa;2Og`FuLV5ugqU(gbMK!6AVGp=xD-TBQz>tCVUv&~XZ-I+;@ks+F8Z8OpN3 z0c?OgP#L5O=9C(>HZ(XnFqsX|B(upOfx+^?KvhVnB7{?^6rr3tSu2-olGSRJR;gA6 zvs^N#3RY`XN`)dw6Ql~!DuY>7fJUoimC3>KfPj!7br7f4C=`LAA%UtOWk^7U+unk-jy$%+7t zMiD9x)&yxoDDhKZJ78`hY}gmy+%I+txQ4rn62 zrJNNY3zEsvab+r4Z${`$8ELBA7{FGbQc~+3DGyys!c_Zo|M4$LIdl4^UE}ewX?&2U zP{nOcCN5o_M%y7&lrSFgoH0wM;Z*80&MCo|$qBi!M)1-YrB@qrEV{ zvozdb%rF>LBsSPqMZ(DTE|->gS0-(nmL@goQc}$(sgX0GHcpFo$ID5W(t&t8Tfxc# z<)JJ#aUd*|!#36=D*{7Q@&Gk@PaDbxg$Ce6&W0q*mBB%Q9Lu5mLXrcq4+I+EWvzDa z8YwlDVH6U^GmgtJm~>`?F}JHRtyYT8+|1t}X=SXZAN{>dm@zv>ES~ z;e|4!7$Kb`OuORDjWrm}#H7d^PLs)>$zmhJGIeQM&e*s`d(Iqg(3?5EIl&OGOVPK| zCM7BGPJ9;$)A7H9D?F9c3@~M;6Fw#OyujOU&JmGeUGd7iR>C9|M{OO$k(zXsQWNpeCC&z9Z|AtDURT=h`pcnf} zm>&P#mL%k6aHd3baIDdg!5PhB8^E)k5~l0F41Hu4`dDBOb{`3sFs+KCj)EW<^{O;k zq&_p9GYV2;<9j?u3YX__Kadw8VOsywIJy|onPIuSSo8x6>r0ps18D1+1P4zHI74esM|e&7&%id(`s zMVYyDY}>-?0ARGdVu~&H7!L`9S4wHtXgw!7@OKnS?8K3$-_ylJ95#DuGGrPxoJkhP z31`B{`s)F0UZ&6REBk&L zQRVc>(OdRa7!$Lq?D(rYE=<&XtT(l9hw{@Z=Hg^ zx_Dz&`6apobHClts?5@T7n7Dx+_P_a`<|^=Ha@#$t%IlEx=|H;H_q%ecvDuQ!;WrS zJ05QOOS>Z*di-)sHvi=rhu6QKFSBUdkJpTj7hC>N|FZVv(JLKWx?LZTa^rfAN3&Za zKc8?bbH$@uf3*JU_T8i0{TF-pK3>1^;4kg=oqOu28}~wXZN-be#;})X!{@%7tWS8A z^Hucg>+jyYX_;T=-Q5;7Kg_Lo;KQ5Kmp?quy3PbR#W_bD%5px?XO?^F#~6>S2X#vy zSTLiECh>Neb#+p`JAU@D;soC#RTFiWs_Daf`e?jHOC=)*)PB`+cakX@+gxbvHRM9;hT{!w z8n$R3ZaA|foau7A^V7G|=#)`I5?aI!P5AuHqJ&Ei2X`H^Iwo=cj>SC=_bJ#zgrh4_mr7b<@Eqy0n2;blK_-{d;BQ3`}kEkAd-~tHu`T2Th04 zPn(xcPZ_M}ryFwP{iLCI{=l5WJ65fo7-lNQb~ZNm8j0ySZPJ2$Aen18Ps6T6>DY-Y z8oN#!AE7S$Q$djSm zKnQ(X!1qP|8k7wM9{PI?Izh9%?aMa%&_rgkHBRJ4B z8OK@BH3@kwf&T)^WTCDp&=&qU>I2_o+}{pbHlfbWT_&(r#2w)_jivg|S zfOAFp9|1QK?Z1S2r{H=PXsD06RVXtA_g3H-1o&=%X-(Tvq3vVQuKvK=A2i$n>>-q? z1-cI4JP_@ig8H)nItO)j2W@!Ik8uS3EXuiq#-D(zDULY6ZpHmmsCOLbxqaJ2*-Pp}`BUt8?VLz^0c?90=Z-{ptH20&W= zN{e3(2mM8aA)A2Xa1a1(jTDXHPn-LM;i?_ZX%nPqoSS(F75{4wUloX|gaOEa8WWHj zn9cw-GATR)kQB!6A4EGA5&psib>{axqTQpkOb=kHTNqd*h6?F`QO^Ue24Gk?DxnRd z+9S)%bio!+$$VSPpxS_Xx}ks(cQOH&#&iG_?Sa&RFGZV7am;0)X%P-!LSw{l8j4ao zve9_j@<=2(26<)>PWx|Bu8QX^$9STHDn#Itcq24Dj3?8K8?g~MB}NjN8dOINH3K(o zaH?mbaL`>NYSQ3W*mtQdarm1K-0 zjU<;wkhai35uq~yVP^7xx=vwWLM616^64yxIRr4aI9Sm(5(LQ~HNwbTM zjN@)RiJ1U@2jGCe3rwP#00|_CuK>kcLM=wi=oj>l*sCo799OuO2;fjdbW#`^yVPSe zhDb7U(e;9s$OV5>K`M!qFv3VSY0%I%zl6l#_gcOw@G|y>p0R{#PVdGAR1pnO`Z5_Ei(>9i^xG|6w~m6 zLVO{6Km%JC?6&r7C|Q|o=}uj zi?)yi%9$Fl@P89n!L$Uhv@i$lF~{+PI|V?p!ay;+XpkK-S`@l{lTFMF6scRdNG!y> zIAf0iu!wjFyU5Z=Ae;jr1|)`}DYWOyPblnDxRy9@B%4=Lg5q(3KUAcF)IF(%nC1hZ zA`K)U8hnCkBcrAT^)_SCq9nXUrKUT8suZTrCP-?ymk=euiq&l26*SB>AXXrpw2^S7!&yopm$NGvm&}AP z2|yWCv}T)e{WCsnN6})8vlT7wHjzX9Cj|t*!k*I~N-EF|ZKTcZ1tlhQ4(TguVO6;6 zmez>+fE*AaMf533*0d&m2H_VCtmHii{1V4maciMNJ$0jbMw92xp+jktPr0)lDv*R>WEFMAYzKoR!WDC~>a%cN+Fy8unIzl%obU3-+d zDBj|)ix(C>0fB&QE)X;l5EN~#KyKkF(SCqOlnibY5ON#4LKsQh?d!5P`|oV^iW*Ze z^;DR2PjaEDSUXIeEn@O1a4JY*LyE+{rU@wO(*<%ROk3<-6RL-%wXXmoEg2*cSjqF? z7&pwK1IPe=N@G%`w5e}VKGs6P`h^P$94tOzYzt6@NR^;1#34k+f;f~0VpN4DlU|6LQhap zT6rK+mI5%YIAAPp8qmKqM$%tO5x# z%~~UQ4W5oO@+Lg7B2Ce0M#S`u&Afh!SJ+K`%9@B1bJm8c0_5wE0ow< z)X&nS!SW#u!74BUKxXOyGx|ZzrAf60&O~gWD(EKPBLFn%264@#gB3$0{*n4{gfE~N z0zvpjm=G0$HlX3uCFweRs6d~BrsGotT9ZstJu)W)&-wwOG8$F6U@MP}2$D&vS#PGH z0fp~XwcgVk^i8?+3^SySP{<@zO1MP`>=D`ufeD~UCaKqf?>De0&7e==rH>?(K8t{U z*IQ&yBJH3urP^c$tl?Ck4fKXdsh~^}KpaogQNQ!D$q6k&%ZSUo@K~jjgn{FSNYkja zG%f`)#Ip`EtVf5ZXCNTR1m;)=38>{%=`x9TRJtk!eMoc~q^5LLTAEDK&YH6{0M+NfxyL)^a)MDqF6VE*%0n5HTQ=RJPrO zSg9b%s2~%=tbRB8rM@#G07cpWJZK;eU=`8CL!;9~1mRuch)FaENUmg(DB>rNjj$x^ zxHPRaJXK{>L2QiZR-K0DmX@LyAn6b-3TnbgG9wk0%^=Qbz?c^+v4I)6G$@rU)LI?(8gDx1r>6=N}oWX3fknTeyU9CVx z^njpkOwFWVh>?Vy*DrqHS3}}g3a<>%rBE+u8%C4}fZ-~Wloinm+D9g-D`x1@5r<}$ zYPn>cUPs|*(gEmD3|AUq4MeCkg9fr^f(BIa5^qm-_Yk~QA_CeZQHY6@nle;+nWUC@ zUktB8Ge}ZNL8hx9Q&s>VNHu6JU2I`Ycc>0O5yK|{h=uZI1j&k!pXxiQUtG7g4Mp6b zUM`kExRII+0JMxiz6p%cz{>DqE{%<}&?S>p6pJ9w$`+ZVwlzB<3{oh>o=GVt)Y?+3 zcp#<}0*(>IGh0$aEE*r#p?LGFiFXkIsDoh}1d2q}RNi_|>>rt=jF`vwluTlU;fI+Z zs6p}2t@u0(P!(3-f{r6=L26vIJr)ZJo6?zA_q@7-(k5HP+tPHE5w;X+)Y{3Gfojz= zGD%bGJsq#1M4MscNSD!If&8j05tephfnl#;Z3EvThcXFAqhG`s&+F<47!OhpWWac< zmPslSjS(`;I#^AUBw&bW5p&IH{uR)Mlf*p zOtENiJEqtemL+_7hu6%4xljNv4G6UX{!%vBUC8X~4aFP=QcckoJIV{5RX;&$qYc_j zSl%N3R})cKZ1PV5&omA!1$de*N}(z>jaQu1J|hQ(pqJ|5t3mu@ki+Q>nJK9>@ZnLA z1H?OQqGc)>qC0nJ)UP7E4af9*orAE+$A1xYiXT-9lm^R2@Eziefk;tcu*?umBb1BTSt$ z;vd{R;f742{^u|?DH%@_avrD#3pNe!go|}}$H7)h4Vk=q#yiZA&kBhYO<6RT)T>P? z@PmgRj3P%N*H#EU1BuH-_+gsjqooihL(@Kd=nUM5sS0z4~#YI=5C$P6a;zgg*7< zO==q(oXM(wX_N>+yfejnf~d>FHaKsFY!HGu0?l@O2?K@;%J70=vGf*S&oU({k57H^ z*4$3b)Qcx_$oU&!C{C1sB4iZ2@WV_3J^bF*AYZ!rPK`l^!l{5tkC=)Gh(cl&L1Q$?I=` z)U-~QtWz)x@w_}Y?5gL)Ia)aEZZ{p5EjT>Z&K7-rKN@O$6tSHjP9}{;GmSo)0q{tJ z?2tynC8K2msrUkc6rXJVL=83U%3*v$_1b&0RqXB>GMbW?U@>WJtZlRrZRu(nn*6M! z2{Z#u=rQLYCbDbP2VE(@lF z9}KDFQ_yq?uBJ3oj{&Ah6?A{Cu6oO`gNz8oNi9}eaIAg0@l#BzL9hh&lf?1D<}KW} zA96AYE4onPR}rDi$bgde#N1n4$%0iC6t|2ijexnQ+jq6#SCovcJl&h>yItOe|<6fM)lwZ_s9NqM`jUfT3jtr~w?7RD?X6W`W)?(aJ;9 zrXnF$c%l96a>OR!bCkKjosKyFV!V*W$H~NkXeU%Tv|`IT0;P4N{vvW-WzafdA?C)% ziEIEPpy$bdwhnA-7lauMSe((r(Sqs~i6XxGHLSzC+b!#u%$e#sf?QkJYpdFy>K3}$ zU+iaGw(z$I!0`(izLy{UWBG5}mHKDv)Ar|f{r%Ableum$<+$`D_bn^$9gEz0{M?q^ z4VtT@@4G&%8Gk8$TIGcuLc_Cf=QaF?@5Ja7I#w)dFwRIShtzsey#2?jV^dx-}LEv>bS@RI3jZ##gJYN^yoDE$mKKd=FNPoI z94FJJrHMs8)&m+Z`dBgjQ9CIu`hE zh>l}K^;;;4^vBoo9UGv!VIDnU~IA-E(c`nIP}l4ih|#Eq>3NGHm~?Y_IVLOJ#Ry zcwbTGn}^Pi@7%Awd&$%L&$Ycfm!7m|Lx3=CNQH>2p4rOhGE5uG@1OnT z;bxgy+sZJT+>Y1YD(QS2{+6AE)2Q_1`oN;$JxVew5nbY?>9F!LPfvHSh5vKG=3uV) zE>M}u70OksF7>V7z^_pgNJEQ6ojxw172mNX$)zB#;BkrNS%oqn&{D(y{rr15fOl+B zK^2C{D_oE8x*P^|v3!E-fTO##6oY-htbg74kF|G0Oh6KzKt?igIE!MsAjT{SzcG0F z*M*1O>GbpuVaPi(yN}?77zQ!9_@i%0(;uOvp=bXWfeQ)$T+;|V!Xr@%^+?9UJo>B4 zmr8&gp%4Lt0N_`AAjtzT>zuYa5{`J}Q!EiZ&@YZ@G7rN-nF;>_@Q{!cTMX2bgnzP4 zANUp`Jxs`tM>v8B80keG8CpyMQ}mG17PBm4ibix0J)N0KR(wKCb1v!-q7&#o1&+{{ z*XaY^2H-S9{nEo~BOZcMYTvrPJZ)lID2RX_a#9;@v5JKAze;N}2HVtGc~$tiE#VDB z%UK)>J`H5#OeoIC1mGPqrWVRlPZ5vk%k%VP+Sbzl3QaORNv3x!=r0fT;;mQU7GCQh z9%Z0UsPz=UXa>x3@b2&PQwC^?#!SPn4U37tBF<7PD7;LIn(^)%-@YyuNRldQpV$|4 zMbh$Lb9Rg@M41X~01fsnxjzGYK@OMZe=r4qJBnNK` zzxXD_s3xA$BYFzLwaF976pg+A`}-Gj;F$}9C_?5?%YQN6|3mlx1qVix7mrsE*#h58 z7q>>EI*j_wQ&P%det~Z?veXU|iM%Z9>EhOJR0j#?=!6e!GHh=b_r@*~CrLrDgT!fm z4BMHlY?o7(b#s(3^PLttBVg!tLE)%Gxb`WzpQ5SD~^{h+#fx$|LbNG zHuqQL)t&jx`~uH>w!rx#Ti|$az9YWo?BI<_gyaijWn;x2Z74LIt_ZD#SP6ECV~5H; z@O5`beE8nmp=-R{n=MBduHNp62y(!r*=*3uz1T98S<1Uq9H&jk@~hm3twA~N-X(8$ zBKKqK(|t$pTGpLMupNq)lhR@rt%Amex0Nbbxt#T>?1|lRl-SNDM2S62dg4-!OQq$K zHUC@av(WGO3HsRrNgaDeq3;|EBxTXp5_g9JiG(@v-C+;Y#^1VZbgxrQ)-QV<+hgg< z-HPq&V@6Jxpxd0`GG|JsksC^BeQpIvx*W_uk>Oc7{HGd=`m}6a`Q$Xu{@u6r&Ysul z(5@bXBhS2A)p}pVuI2eYH-nZYKD)vUtK7c*x;Y1j%vuPS!k8bI<)H8~2Q;vt>`@_lJ79ex0^6>nrUW zwa@E7SN{g5Qy$%|UG{3$w&-iJ)*-t*GJ|f#jy*GG|48$YUgZL7UQTz8k*x^d=JM!t zljHs?TKu5=!hh1V(W-UBmo6TY5%`h&QL|%8#p55gB+e;wLDNy$Yj91|NvCNJ5LC&c z0?ANtWDr{meO-g@mqa$0B0LnO3a;h-u%Qq>$J0Gml);sIF zwE33fT~E|I%Er>|a!yff`^AxLxV$0TfP}}x+itg%i97Z9Ttt z5852!IsUP8&u?|#xAAy${o1yKZ<`NX+<8UZ$}XlMZ27W}nqT?3QU9^?H=ez*-QT3? z>Z1B;+SAZwztl>6-`vCJ@Tp1vJ28xYzml9-pr5+vHzbe5~id^)U`% z1C}{!RnttrH1zD#qU#%NuNy1FZq^tVTrQ||-=`I?Tply&m0P#mQgyQOTodJIcD{Wi zKi;F|kAuc$K8bO-J7?F!ds)kwI)++t2`Ov8tk%J=dB&)7yQTAf?7J>@?*6S4Zk~C5 z{YcflIk|fbwSSA8QL22?WkXYL&WPr233H=w8xjw9aM0drVSzqdYnY`!L zJjqYXu3hvFC|iruyRySON*B9fy*2Sn%hhZ8Nc8iwDHHRwDpY5X^=s*uYRW zl#D{HG0*Mt-h#VQQ#FFu7VQ0s9=4!tfI=Nrnw6$}i zW+T%#SYR(Umv+gV6>X-Mwx6(EC!m!;_s(4s)$pF@_w&88 zzn|Rl>ARmA_w=e2-OX>|Amh#Q&AyB3d-2JW@QK4O4c;(#RP{@(){pCRe@vGV)m|*{ z?{Q~B^QLQ*-4A@%>JP=)jgBqXZ&>?H$j~!$@|wJk={B);V7+~zdhM|IZL`a+uIfAD z=&NmxqrUnr>Dj5cUE?Nyv14~_bG@W0ep`+;@C&IoJ+x!c$g9jl_os|LWj|||z3~lmYsV^wf}|_ED{kCb z{an{h_d*wxec&6lqsrEZ&m-^b*=HPd(|E7$ja}_#9C*67M&gy>Up0VUBrQUwuE*+AR_w!hFPSOVd5kDr*?!7D9&+qw@^nHHg zn~ZN0+-1+Lkr89|yLCQrZb`VmdCG74H#ySoO}zW`n=-Ri7v+e{>qb|;J~!so)O9=B z%}<+t=H`Xb<2*!j_yp$g0qf=BX7TbWN}S+`F?RN^L}OIdTA+f1Q)wS}tTAL_t{Bd= zWj#pUmvtgEqu8=m-S5mg!UPmDbH=949OM(i|53p?=GMcdKgdt}jtO9UQi)nlutaQ^ z`O)(`jf%2ZAy}*8W{$UUcr>R)NHA}SFm5qwF<7m}E{RnpDHOc1>nj>J7`r$&mW>gw zVeG>G%-H#BL`(N4_|0toJR)A|ls}ElpUmb@v@%KN$mS1cTZ`2>NGd7+tU5B@T7$;q zpJ7B8fH7B-VUneq)7dsw1P*L~k3w40ZUH2TUm&9Bb`6$6k}$2NS3raXDq-15CaqaS zq4L%@<;AEa({Co^R+F8*Xilj!%VTP}TbgfXgiRfCCb#s2JzSEkNvk*ejHlCw|M7k6 z`|d}Y?`pq%(M#PG&8|9uOQ!YVMobv;WxLp}7fXNh`I%~+YP@U__GR3ubsq-&)T)%M z;jEuqR$p>%bIt6@p|>As4@b1j8RYxYd&svF%)`HWb+o=iyGDD*dTn34+`06uC#i2! zWmD!iYTal+_b5#*H=Vxc^r?4-zuG8$3C6?PZy@GyJAa zk1o^FH!S_myswS3%eRt7eys{xdq*dG?A{pt`qubiH4GJpL@v#`+oln> zXkVW=^{9O{H9^xx-MIYn&5KG4W;VEWe95#^zx2_x{i#=}*bGp{U|f1+T(}8GjgkR`gmcZZ))bx zYu~>A@{vd0LtXQ=@7X6#oxi?uBQsqyvE}JG-D0}z%1f-XAg7$7_MoS2-PgB%x9r&B zK6@67o|QPTTTF+@-C>7kW%Y8;>oDL$?z}xa)6@GOjx%|C4vIZ4FQ}Np7F5(=`p4!^ z`A-|JPtE}CCZ+T9*RW7PmN}uDqr9}$iN_=r^E}&>)k9te{-^D_BI|D}=p?V>B)yaS zYsQER6^9M=P#*Yd-jZswAFay>ygYQ&Vb|e9_f-42I~!(KytF)kRm`uDSHAeV;(}^< zRX#PQ?S~yEW=;jz?lDpC65nK6$I~j0re{Apy=qPW%SUvR-X+v>+*Q`M*|NxE_fGFQ z;qdLSF>afh2OmjHxwN6a=Hu@o{QI>7o*BA`aS%`g@ZTd_fM^V;8ul|`R(t9t_*jm+Tp{A{9l_? zh+1*-kNdB#Z_ceycW|s{#qHmDyRYkZ^w*aUrW|b5u;+zNu20MK{l~K>DNpWx8+SJK z;G)mj$39Qa$#(Dk?CSOt(h=N(O}#%~p-#THwDh!fe!Y$y41X~1($dJo3$Ik@S$}%k zeD2_^4{0&&-5BFe`6>U47cg+$hwk*o9v?wDFl`F94tXv)t7-U(Lkq28Y z|JU^qWW2b8Z@=C%XUD0->$FR*N@UM3&DwoS`L#!jR*y0tzYaUt^T!^gubrRv^QbnR zO7HG?=$q1~zHEQCd8aaE&t{K!(q0$%#RC6;;8)cj7M#A+Z^kzt&nricoD&kW>+`&O z0juA>8yoEYlh?qoGohVJ*Xgf|IrH6;G5VxC%pYla#~W>#=oD5Xz3bBVbw=h+UF)B> zH+t=mGPk#V*{{Pc)szX`IIkM6Qxp&Os=rYWJbXOl+-F&y!>_eib0uX&1IJUX=ikZc zuuSRScf{fRH63<)#?Nn?H0gHg%C}x_Im3+`W;NUE6!Y`4UlQjn+Ij4F+tuA>ZGFCB zzTs?s!Q`>I0fQg)ahvgL{~lQ_AB``k=Qb?L9w<7v)xoLCcJ6HcxwHy-XTPfcd%3;q zQmgc}=t4W91WGh7bO{UG)RX)Se^LyRzK`ue1w`<(K(bezC5N{5`J} zV+f~?`}ciQ>0aNcAAat0`k{G?OGG?#C4R=|26oflBfm`_{35pY z+a|xyx!s`M>tz{dW_NfSmXdVt*te^m)&04J>R^?HeS5n$?eMhL+zr2M_+kHQcJ7|n z7sGcda;tSXe>kAwH#6Q;DBtGziC?lkhH(!}pE19#Icd1CA+7><;I{yFT)`iz~32YRpS~KXS_MclTb`xbX1#ciJyZ)AOqyU%RR1?5Cr)z0+U2I%@eBvFx7l zvpsVB*R#Jh^gSBscXCbZwGp%0jOhNItgrHHFk9d<5X!HIxESGo8DqWl&%sDZfDBGJr1s!>akOG}ZE&o;$M3jcq1<{N8)o>$k&nlLwd+yv{Fi zX9`BXd-8c|rzS}U_T5$O&HAoYa^qglD#kZ(lGkcmz1ozTC)~Wh{#?cOSkFe3eco^M zh=lOcKSpm2aorepZPKa>CN{Bt!JRzv&fo0W|81YsDsR2t!D_#c%G-WJ^}gMn1~u!Zls8tZJ$7v;?U-2g`aU1BYqflq zn7L}_*s$m}pPeo{+oe^?u-D1E9j8VNeR`_X2mRfdN7gTUF{qKd{MqFgmx)_Oy9VCR zsj=?CjN>it`A2M9`s%87=VHkosoSKS8B1=Pq@kMNRcHG}Y}tor;&J zn*JqI@$!i zPX5*$ywuO5Kl8kO@aFW^`2!tW&RMjewqfI=Z;!o}e}B^X_VPd8CZ<~?EGQb+pJ2>n`@Q|LZYrL3|+i_wXvo@q`<=6hX`P`-Dn+M$a;l!^;1~GLb<)f$iESP{KQSYD!nlw9 z)x)kG=;$%A{_W7mRXYyU%o$ueec$Xw3tPM$He_o52|3@UpSd;r_nPlRE>3=RaEbfW zQHyuZt+vJ~Z1~pAd9&(-NH^EJt9|_2t6f7iJ?fPmBnwTM74NJoo9zI#MZS>7izc-q>s9Z98 zcDq^8>4s+T>ltJHtN&1YZI8`su12(&7CZ3A1!oR){YiH{anI@N?CuZ8evW?UxvNi? z2XlO?hWPI|+1*+8)N_7p;N_=o4Qia;S82$oAYz< z_Y3}aPAeArx?_oxIP z`X9Dgc2BABX*LIE=BLo^SJ^sM%39}w_{>P4qNg=OE*CP`Y$zCEy#W(XCyCr2?w-2^ z0WGY$BXMvj6Xk%#&{F()x#q^BOOD&Kt5YHu} z=G(g`AlWfLpHY=*aPID)DhH0Xot65V_SYwur#5nZ)Tq&{PH$f}dibk+;en{B=xoYeRJ;^(p>AdPry}3JgD>uH$_{>i+rEyr>+Iii2 zea9_(G|yv+-^6F{)(@LCq0jp*2d-^eA2U^T;>!K9PrO$IcC8yb@!%l$#*V){YX57q z?&=5oVm7d;vyPXUy|w?(%f53Sy?olF^7SW92=tul>9eWF>fnOqt?Emz%)RrasmF&_ z)tYk`$~IDUdtURWx#_1pA2oAZU!i(zp8M9d7q`!xKDz$gRzHpFnSJ(dpSAgYCcV9J zbjq=*?_9@@_c>BIpy}9c7P3pDs + + + System.Reflection.Metadata + + + + + Content type masked bits that correspond to values of . + + + Just-In-Time (JIT) compiler optimization is disabled for the assembly. + + + Just-In-Time (JIT) compiler tracking is enabled for the assembly. + + + The assembly reference holds the full (unhashed) public key. Not applicable on assembly definition. + + + The implementation of the referenced assembly used at runtime is not expected to match the version seen at compile time. + + + The assembly contains Windows Runtime code. + + + Specifies the hash algorithms used for hashing assembly files and for generating the strong name. + + + Retrieves the MD5 message-digest algorithm. + + + A mask indicating that there is no hash algorithm. + + + Retrieves a revision of the Secure Hash Algorithm that corrects an unpublished flaw in SHA. + + + Retrieves a version of the Secure Hash Algorithm with a hash size of 256 bits. + + + Retrieves a version of the Secure Hash Algorithm with a hash size of 384 bits. + + + Retrieves a version of the Secure Hash Algorithm with a hash size of 512 bits. + + + Specifies the security actions that can be performed using declarative security. + + + The calling code can access the resource identified by the current permission object, even if callers higher in the stack have not been granted permission to access the resource. + + + Check that all callers in the call chain have been granted the specified permission. + + + Without further checks refuse Demand for the specified permission. + + + The derived class inheriting the class or overriding a method is required to have the specified permission. + + + Check that the immediate caller has been granted the specified permission. + + + No declarative security action. + + + Without further checks, refuse the demand for all permissions other than those specified. + + + Request the minimum permissions required for code to run. This action can only be used within the scope of the assembly. + + + Request additional permissions that are optional (not required to run). This request implicitly refuses all other permissions not specifically requested. This action can only be used within the scope of the assembly. + + + Request that permissions that might be misused not be granted to the calling code. This action can only be used within the scope of the assembly. + + + + The resource is not exported from the assembly. + + + The resource is exported from the assembly. + + + Masks just the visibility-related attributes. + + + Represents the shape of an array type. + + + Initializes a new instance of the structure. + The number of dimensions in the array. + The size of each dimension. + The lower-bound of each dimension. + + + Gets the lower-bounds of all dimensions. Length may be smaller than rank, in which case the trailing dimensions have unspecified lower bounds. + An array of lower-bounds. + + + Gets the number of dimensions in the array. + The number of dimensions. + + + Gets the sizes of all dimensions. + An array of sizes. + + + + + + + + + + + + + + + + + Indicates whether the current object is equal to another object of the same type. + An object to compare with this object. + + if the current object is equal to the parameter; otherwise, . + + + + + + + + + + + + + + + + + + + + + + + + + + + Gets a value that indicates whether the file contains metadata. + + if the file contains metadata, otherwise. + + + Gets the hash value of the file content calculated using . + A instance representing the hash value of the file content. + + + Gets the file name, including its extension. + A instance representing the file name with its extension. + + + + + + + Indicates whether the current object is equal to another object of the same type. + An object to compare with this object. + + if the current object is equal to the parameter; otherwise, . + + + + + + + + + + + + + + + + + + + + + + + + + Represents a collection of . + + + + 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. + + + Gets the number of elements in the collection. + The number of elements in the collection. + + + + 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. + + + 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. + + + + + + + + + + + + + + + + Indicates whether the current object is equal to another object of the same type. + An object to compare with this object. + + if the current object is equal to the parameter; otherwise, . + + + + + + + + + + + + + + + + + + + + + + + + + A collection of assembly references. + + + + 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. + + + Gets the number of elements in the collection. + The number of elements in the collection. + + + + 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. + + + 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. + + + + + + + + + + + + The builder is not writable; it has been linked with another one. + + + + + + + Compares the current content of this writer with another one. + A instance to compare with this one. + Content is not available; the builder has been linked with another one. + + if equal; otherwise, . + + + + + Returns a sequence of all blobs that represent the content of the builder. + Content is not available; the builder has been linked with another one. + A sequence of blobs. + + + + + is . + The builder is not writable; it has been linked with another one. + + + + + is . + The builder is not writable; it has been linked with another one. + + + + The builder is not writable; it has been linked with another one. + + + Reserves a contiguous block of bytes. + + + is negative. + The builder is not writable; it has been linked with another one. + + + Content is not available; the builder has been linked with another one. + + + + + The range specified by and falls outside of the bounds of the buffer content. + Content is not available; the builder has been linked with another one. + + + Content is not available; the builder has been linked with another one. + + + + + The range specified by and falls outside of the bounds of the buffer content. + Content is not available; the builder has been linked with another one. + + + Attempts to write a sequence of bytes to the builder. A return value indicates the number of bytes successfully written. + + + + is . + + is negative. + The builder is not writable; it has been linked with another one. + The number of bytes successfully written from . + + + Writes a value to the builder. + The value to write. + The builder is not writable; it has been linked with another one. + + + Writes a value to the builder. + The value to write. + The builder is not writable; it has been linked with another one. + + + Writes a specified number of bytes from a buffer to the builder. + + The number of bytes to write. + + is . + + is negative. + The builder is not writable, it has been linked with another one. + + + Writes a specified number of occurrences of a byte value to the builder. + + The number of occurences of to write. + + is negative. + The builder is not writable, it has been linked with another one. + + + Writes the contents of a byte array to the builder. + The byte array to write. + + is . + The builder is not writable; it has been linked with another one. + + + Writes a specified number of bytes starting at a specified index in a byte array to the builder. + + + The number of bytes to write. + + is . + The range specified by and falls outside of the bounds of . + The builder is not writable; it has been linked with another one. + + + Writes the contents of an immutable byte array to the builder. + The array to write. + + is . + The builder is not writable; it has been linked with another one. + + + Writes a specified number of bytes starting at a specified index of an immutable array to the builder. + + + The number of bytes to write. + + is . + The range specified by and falls outside of the bounds of the . + The builder is not writable; it has been linked with another one. + + + Implements compressed unsigned integer encoding as defined by ECMA-335-II chapter 23.2: Blobs and signatures. + The value to write. + + can't be represented as a compressed unsigned integer. + The builder is not writable; it has been linked with another one. + + + Implements compressed signed integer encoding as defined by ECMA-335-II chapter 23.2: Blobs and signatures. + The value to write. + + can't be represented as a compressed signed integer. + The builder is not writable; it has been linked with another one. + + + Writes a constant value (see ECMA-335 Partition II section 22.9) at the current position. + The constant value to write. + + is not of a constant type. + The builder is not writable; it has been linked with another one. + + + + + is . + Content is not available, the builder has been linked with another one. + + + + + is . + Content is not available, the builder has been linked with another one. + + + + + is default (). + Content is not available, the builder has been linked with another one. + + + + Builder is not writable, it has been linked with another one. + + + + Builder is not writable, it has been linked with another one. + + + + Builder is not writable, it has been linked with another one. + + + + Builder is not writable, it has been linked with another one. + + + + Builder is not writable, it has been linked with another one. + + + + Builder is not writable, it has been linked with another one. + + + + Builder is not writable, it has been linked with another one. + + + + Builder is not writable, it has been linked with another one. + + + + Builder is not writable, it has been linked with another one. + + + Writes a reference to a heap (heap offset) or a table (row number). + Heap offset or table row number. + + to encode the reference as a 16-bit integer; to encode it as a 32-bit integer. + Builder is not writable, it has been linked with another one. + + + + Builder is not writable, it has been linked with another one. + + + Writes a string in SerString format (see ECMA-335-II 23.3 Custom attributes). + + Builder is not writable, it has been linked with another one. + + + + Builder is not writable, it has been linked with another one. + + + + Builder is not writable, it has been linked with another one. + + + + Builder is not writable, it has been linked with another one. + + + + Builder is not writable, it has been linked with another one. + + + + Builder is not writable, it has been linked with another one. + + + + Builder is not writable, it has been linked with another one. + + + Writes a string in User String (#US) heap format (see ECMA-335-II 24.2.4 #US and #Blob heaps). + + Builder is not writable, it has been linked with another one. + + + Writes a UTF16 (little-endian) encoded character array at the current position. + + + is . + Builder is not writable, it has been linked with another one. + + + Writes UTF16 (little-endian) encoded string at the current position. + + + is . + Builder is not writable, it has been linked with another one. + + + Writes a UTF8 encoded string at the current position. + Constant value. + + to encode unpaired surrogates as specified; to replace them with a U+FFFD character. + + is . + Builder is not writable, it has been linked with another one. + + + + + + + + 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. + + + 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. + + + 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. + + + + + + + + + + + + + + + + + Indicates whether the current object is equal to another object of the same type. + An object to compare with this object. + + if the current object is equal to the parameter; otherwise, . + + + + + + + + + + + + + + + + + + + + + + + + + + Indicates whether the current object is equal to another object of the same type. + An object to compare with this object. + + if the current object is equal to the parameter; otherwise, . + + + + + + + + + + + + + + + + + + + + Creates a reader of the specified memory block. + A pointer to the start of the memory block. + Length in bytes of the memory block. + + is and is greater than zero. + + is negative. + The current platform is not little-endian. + + + Repositions the reader forward by the number of bytes required to satisfy the given alignment. + + + + Searches for a specified byte in the blob following the current position. + The byte value to find. + The index relative to the current position, or -1 if the byte is not found in the blob following the current position. + + + Reads a Blob heap handle encoded as a compressed integer. + + + + + Reads bytes starting at the current position. + The number of bytes to read. + + bytes not available. + The byte array. + + + Reads bytes starting at the current position and writes them to the specified buffer starting at the specified offset. + The number of bytes to read. + The destination buffer the bytes read will be written to. + The offset in the destination buffer where the bytes read will be written. + + bytes not available. + + + + Reads an unsigned compressed integer value. See Metadata Specification section II.23.2: Blobs and signatures. + The data at the current position was not a valid compressed integer. + The value of the compressed integer that was read. + + + Reads a signed compressed integer value. See Metadata Specification section II.23.2: Blobs and signatures. + The data at the current position was not a valid compressed integer. + The value of the compressed integer that was read. + + + Reads a constant value (see ECMA-335 Partition II section 22.9) from the current position. + + Error while reading from the blob. + + is not a valid . + A boxed constant value. To avoid allocating the object use Read* methods directly. + + + + Reads a number. + The data at the current position was not a valid number. + + + + + + + + + Reads a type code encoded in a serialized custom attribute value. + + if the encoding is invalid. + + + Reads a string encoded as a compressed integer containing its length followed by its contents in UTF8. Null strings are encoded as a single 0xFF byte. + The encoding is invalid. + A string value, or . + + + + Reads a type code encoded in a signature. + The type code encoded in the serialized custom attribute value if the encoding is valid, or if the encoding is invalid. + + + + Reads a type handle encoded in a signature as TypeDefOrRefOrSpecEncoded (see ECMA-335 II.23.2.8). + The handle when the encoding is valid. Otherwise, a handle where the property is . + + + + + + Reads a UTF16 (little-endian) encoded string starting at the current position. + The number of bytes to read. + + bytes not available. + The string. + + + Reads a UTF8 encoded string starting at the current position. + The number of bytes to read. + + bytes not available. + The string. + + + Repositions the reader to the start of the underlying memory block. + + + Reads an unsigned compressed integer value. See Metadata Specification section II.23.2: Blobs and signatures. + The value of the compressed integer that was read. + + if the value was read successfully. if the data at the current position was not a valid compressed integer. + + + Reads a signed compressed integer value. See Metadata Specification section II.23.2: Blobs and signatures. + The value of the compressed integer that was read. + + if the value was read successfully. if the data at the current position was not a valid compressed integer. + + + Gets a pointer to the byte at the current position of the reader. + + + Gets the total length of the underlying memory block. + + + Gets or sets the offset from the start of the blob to the current position. + The offset is set outside the bounds of the underlying reader. + + + Gets the number of bytes remaining from current position to the end of the underlying memory block. + + + Gets a pointer to the byte at the start of the underlying memory block. + + + + + + + + + + + + + + + + + + + + + + Compares the current content of this writer with another one. + + + + + + + + + + The range specified by and falls outside of the bounds of the buffer content. + + + + + + Range specified by and falls outside of the bounds of the buffer content. + + + + + + + + + + + + is . + + is negative. + + + + + + is negative. + + + + + is . + + + + + + + is . + Range specified by and falls outside of the bounds of the . + + + + + is . + + + + + + + is . + Range specified by and falls outside of the bounds of the . + + + + + + is . + + is negative. + + + + + is . + + + Implements compressed unsigned integer encoding as defined by ECMA-335-II chapter 23.2: Blobs and signatures. + + + can't be represented as a compressed unsigned integer. + + + Implements compressed signed integer encoding as defined by ECMA-335-II chapter 23.2: Blobs and signatures. + + + can't be represented as a compressed signed integer. + + + Writes a constant value (see ECMA-335 Partition II section 22.9) at the current position. + + + is not of a constant type. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Writes a reference to a heap (heap offset) or a table (row number). + Heap offset or table row number. + + to encode the reference as 16-bit integer, to encode as 32-bit integer. + + + + + + Writes a string in SerString format (see ECMA-335-II 23.3 Custom attributes). + + The builder is not writable; it has been linked with another one. + + + + + + + + + + + + + + + + + + + + + Writes a string in User String (#US) heap format (see ECMA-335-II 24.2.4 #US and #Blob heaps). + + Builder is not writable, it has been linked with another one. + + + Writes a UTF16 (little-endian) encoded string at the current position. + + + is . + + + Writes a UTF16 (little-endian) encoded string at the current position. + + + is . + + + Writes a UTF8 encoded string at the current position. + + + + is . + + + + + + + + Gets the parent handle (, , or ). + + + Gets a type code that identifies the type of the constant value. + + + Gets the constant value. + + + + + + + Indicates whether the current object is equal to another object of the same type. + An object to compare with this object. + + if the current object is equal to the parameter; otherwise, . + + + + + + + + + + + + + + + + + + + + + + + + + Specifies values that represent types of metadata constants. + + + A Boolean type. + + + An unsigned 1-byte integer. + + + A character type. + + + An 8-byte floating point type. + + + A signed 2-byte integer type. + + + A signed 4-byte integer type. + + + A signed 8-byte integer type. + + + An invalid type. + + + A null reference. + + + A signed 1-byte integer type. + + + A 4-byte floating point type. + + + A type. + + + An unsigned 2-byte integer type. + + + An unsigned 4-byte integer type. + + + An unsigned 8-byte integer type. + + + + Decodes the arguments encoded in the value blob. + + + + + Gets the constructor (the or ) of the custom attribute type. + + + Gets the handle of the metadata entity the attribute is applied to. + + + Gets the value of the attribute. + + + + + + + Indicates whether the current object is equal to another object of the same type. + An object to compare with this object. + + if the current object is equal to the parameter; 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 a collection. + An object that can be used to iterate through the collection. + + + Gets the number of elements in the collection. + The number of elements in the collection. + + + + 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. + + + 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 a named argument decoded from a custom attribute signature. + The type used to represent types of values decoded from the custom attribute signature. + + + Initializes a new instance of the structure using the specified name, kind, type, and value. + The name of the argument. + The kind of the argument. + The type of the argument. + The value of the argument. + + + Gets the kind of argument. + The argument kind. + + + Gets the name of the argument. + The argument name. + + + Gets the type of the argument. + The argument type. + + + Gets the value of the argument. + An object containing the argument value. + + + Specifies constants that define the kinds of arguments in a custom attribute signature. + + + A field argument. + + + A property argument. + + + Represents a typed argument for a custom metadata attribute. + The type of the argument. + + + Initializes a new instance of the structure using the specified argument type and value. + The type of the argument. + The argument value. + + + Gets the type of the argument. + The argument type. + + + Gets the value of the argument. + The argument value. + + + Represents a custom attribute of the type specified by . + The attribute type. + + + Initializes a new instance of the structure using the specified fixed arguments and named arguments. + The fixed arguments. + The named arguments. + + + Gets the fixed arguments for the custom attribute. + An immutable array of arguments. + + + Gets the named arguments for the custom attribute value. + An immutable array of arguments. + + + + + + + + + + + Indicates whether the current object is equal to another object of the same type. + An object to compare with this object. + + if the current object is equal to the parameter; 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 a collection. + An object that can be used to iterate through the collection. + + + Gets the number of elements in the collection. + The number of elements in the collection. + + + + 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. + + + 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. + + + + + + Gets the offset (in bytes) from the start of the metadata blob to the start of the blob. + + + + + + + + + + + Indicates whether the current object is equal to another object of the same type. + An object to compare with this object. + + if the current object is equal to the parameter; 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 a collection. + An object that can be used to iterate through the collection. + + + Gets the number of elements in the collection. + The number of elements in the collection. + + + + 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. + + + 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. + + + The source document in the debug metadata. + + + Gets the document content hash. + + + Gets the hash algorithm used to calculate the (SHA1, SHA256, etc.). + + + Gets the source code language (C#, VB, F#, etc.). + + + Gets the document name blob. + + + + + + + Indicates whether the current object is equal to another object of the same type. + An object to compare with this object. + + if the current object is equal to the parameter; 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 a collection. + An object that can be used to iterate through the collection. + + + Gets the number of elements in the collection. + The number of elements in the collection. + + + + 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. + + + 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. + + + A representing a blob on #Blob heap in Portable PDB structured as Document Name. + + + + + + Indicates whether the current object is equal to another object of the same type. + An object to compare with this object. + + if the current object is equal to the parameter; otherwise, . + + + + + + + + + + + + + + + + + + + + + + + Encodes array shape. + The number of dimensions in the array (shall be 1 or more). + Dimension sizes. The array may be shorter than but not longer. + Dimension lower bounds, or default() to set all lower bounds to 0. + The array may be shorter than but not longer. + + is outside of range [1, 0xffff], smaller than , or smaller than . + + is . + + + + + + + + Encodes custom attribute signature blob. + Called first, to encode fixed arguments. + Called second, to encode named arguments. + + or is . + + + Encodes custom attribute signature blob. + Returns a pair of encoders that must be used in the order they appear in the parameter list. + Use first, to encode fixed arguments. + Use second, to encode named arguments. + + + Encodes field signature blob. + Encoder of the field type. + + + Encodes local variable signature. + Number of local variables. + + is not in range [0, 0x1fffffff]. + Encoder of a sequence of local variables. + + + Encodes method signature blob. + Calling convention. + Number of generic parameters. + + to encode an instance method signature, to encode a static method signature. + + is not in range [0, 0xffff]. + An encoder of the rest of the signature including return value and parameters. + + + Encodes method specification signature blob. + Number of generic arguments. + + is not in range [0, 0xffff]. + Encoder of generic arguments. + + + Encodes permission set arguments. + Number of arguments in the set. + Encoder of the arguments of the set. + + + Encodes a permission set blob. + Number of attributes in the set. + + is not in range [0, 0x1fffffff]. + Permission set encoder. + + + Encodes property signature blob. + + to encode an instance property signature, to encode a static property signature. + An encoder of the rest of the signature including return value and parameters, which has the same structure as method signature. + + + Encodes type specification signature. + Type encoder of the structured type represented by the type specification (it shall not encode a primitive type). + + + + + Calculates a CustomAttributeType coded index for the specified handle. + + or + The handle type is unexpected. + + + Calculates a HasConstant coded index for the specified handle. + + , , or + The handle type is unexpected. + + + Calculates a HasCustomAttribute coded index for the specified handle. + + , , , , , , , , , , , , , , , , , , , , or . + The handle type is unexpected. + + + Calculates a HasCustomDebugInformation coded index for the specified handle. + + , , , , , , , , , , , , , , , , , , , , , , , , , or . + The handle type is unexpected. + + + Calculates a HasDeclSecurity coded index for the specified handle. + + , , or + The handle type is unexpected. + + + Calculates a HasFieldMarshal coded index for the specified handle. + + or + The handle type is unexpected. + + + Calculates a HasSemantics coded index for the specified handle. + + or + The handle type is unexpected. + + + Calculates an implementation coded index for the specified handle. + + , or + The handle type is unexpected. + + + Calculates a MemberForwarded coded index for the specified handle. + + , + The handle type is unexpected. + + + Calculates a MemberRefParent coded index for the specified handle. + + , , , , or . + The handle type is unexpected. + + + Calculates a MethodDefOrRef coded index for the specified handle. + + or + The handle type is unexpected. + + + Calculates a ResolutionScope coded index for the specified handle. + + , , or + The handle type is unexpected. + + + Calculates a TypeDefOrRef coded index for the specified handle. + + or + The handle type is unexpected. + + + Calculates a TypeDefOrRefOrSpec coded index for the specified handle. + + , or + The handle type is unexpected. + + + Calculates a TypeOrMethodDef coded index for the specified handle. + + or + The handle type is unexpected. + + + + + Adds catch region. + Label marking the first instruction of the try block. + Label marking the instruction immediately following the try block. + Label marking the first instruction of the handler. + Label marking the instruction immediately following the handler. + The type of exception to be caught: , or . + A label was not defined by an instruction encoder this builder is associated with. + +-or- + + is not a valid type handle. + A label has default value. + + + Adds fault region. + Label marking the first instruction of the try block. + Label marking the instruction immediately following the try block. + Label marking the first instruction of the handler. + Label marking the instruction immediately following the handler. + A label was not defined by an instruction encoder this builder is associated with. + A label has default value. + + + Adds catch region. + Label marking the first instruction of the try block. + Label marking the instruction immediately following the try block. + Label marking the first instruction of the handler. + Label marking the instruction immediately following the handler. + Label marking the first instruction of the filter block. + A label was not defined by an instruction encoder this builder is associated with. + A label has default value. + + + Adds finally region. + Label marking the first instruction of the try block. + Label marking the instruction immediately following the try block. + Label marking the first instruction of the handler. + Label marking the instruction immediately following the handler. + A label was not defined by an instruction encoder this builder is associated with. + A label has default value. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Encodes a custom modifier. + + , or . + Is optional modifier. + + is or of an unexpected kind. + Encoder of subsequent modifiers. + + + + + + + + + + + + Indicates whether the current object is equal to another object of the same type. + An object to compare with this object. + + if the current object is equal to the parameter; otherwise, . + + + + + + + + + + + + + + Adds an exception clause. + Clause kind. + Try block start offset. + Try block length. + Handler start offset. + Handler length. + + , or , or nil if is not + Offset of the filter block, or 0 if the is not . + + is invalid. + + has an invalid value. + +-or- + +, , , or is out of range. + Method body was not declared to have exception regions. + Encoder for the next clause. + + + Adds a fault clause. + Try block start offset. + Try block length. + Handler start offset. + Handler length. + + , or . + + is invalid. + + , , or is out of range. + Method body was not declared to have exception regions. + Encoder for the next clause. + + + Adds a fault clause. + Try block start offset. + Try block length. + Handler start offset. + Handler length. + + , , or is out of range. + Method body was not declared to have exception regions. + Encoder for the next clause. + + + Adds a fault clause. + Try block start offset. + Try block length. + Handler start offset. + Handler length. + Offset of the filter block. + + , , or is out of range. + Method body was not declared to have exception regions. + Encoder for the next clause. + + + Adds a finally clause. + Try block start offset. + Try block length. + Handler start offset. + Handler length. + + , , or is out of range. + Method body was not declared to have exception regions. + Encoder for the next clause. + + + Returns if the region fits small format. + Start offset of the region. + Length of the region. + + + Returns if the number of exception regions first small format. + Number of exception regions. + + + The underlying builder. + + + + if the encoder uses small format. + + + Provides an extension method to access the TypeDefinitionId column of the ExportedType table. + + + Gets a hint at the likely row number of the target type in the TypeDef table of its module. + If the namespaces and names do not match, resolution falls back to a full search of the target TypeDef table. Ignored and should be zero if is . + + + + + + + + + + + + + + + + + + + + + + + + + Encodes instructions. + + + Creates an encoder backed by code and control-flow builders. + Builder to write encoded instructions to. + Builder tracking labels, branches and exception handlers. + Must be specified to be able to use some of the control-flow factory methods of , such as , , etc. + + + Encodes a branch instruction. + Branch instruction to encode. + Label of the target location in instruction stream. + + is not a branch instruction. + +-or- + + was not defined by this encoder. + + is . + + has default value. + + + Encodes call instruction and its operand. + + + + Encodes call instruction and its operand. + + + + Encodes call instruction and its operand. + + + + Encodes call instruction and its operand. + + + + Encodes calli instruction and its operand. + + + + Defines a label that can later be used to mark and refer to a location in the instruction stream. + + is . + Label handle. + + + Encodes argument load instruction. + Index of the argument. + + is negative. + + + Encodes argument address load instruction. + Index of the argument. + + is negative. + + + Encodes constant load instruction. + + + + Encodes constant load instruction. + + + + Encodes constant load instruction. + + + + Encodes constant load instruction. + + + + Encodes local variable load instruction. + Index of the local variable slot. + + is negative. + + + Encodes local variable address load instruction. + Index of the local variable slot. + + is negative. + + + Encodes ldstr instruction and its operand. + + + + Associates specified label with the current IL offset. + Label to mark. + + is . + + was not defined by this encoder. + + has default value. + + + Encodes specified op-code. + + + + Encodes argument store instruction. + Index of the argument. + + is negative. + + + Encodes local variable store instruction. + Index of the local variable slot. + + is negative. + + + Encodes a token. + + + + Encodes a token. + + + + Underlying builder where encoded instructions are written to. + + + Builder tracking labels, branches and exception handlers. + + + Offset of the next encoded instruction. + + + + + + + Indicates whether the current object is equal to another object of the same type. + An object to compare with this object. + + if the current object is equal to the parameter; otherwise, . + + + + + + + + + + + + 1-based id identifying the label within the context of a . + + + + Provides methods for encoding literals. + + + Creates a new instance of the class with the specified blob builder. + + + Returns the encoder used to encode the literal value. + The encoder of the literal value. + + + Encodes the type and the value of a literal using the specified delegates. + A delegate used to encode the type of the literal. Called first by this method. + A delegate used to encode the value of the literal. Called second by this method. + + or is . + + + Returns a pair of encoders that must be used to encode the type and value of a literal in the order they appear in the parameter list. + When this method returns, a custom attribute element type encoder used to encode the type of the literal. + When this method returns, a scalar encoded used to encode the value of the literal. + + + Encodes the type and the items of a vector literal using the specified delegates. + A delegate used to encode the type of the vector. Called first by this method. + A delegate used to encode the items of the vector. Called second by this method. + + or is . + + + Returns a pair of encoders that must be used to encode the type and the items of a vector literal in the order they appear in the parameter list. + When this method returns, a custom attribute array type encoder used to encode the type of the vector. + When this method returns, a vector encoder used to encode the items of the vector. + + + Gets a vector encoder used to encode the items of a vector. + A vector encoder used to encode the items of a vector. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Calculates the handle of the entity within the metadata generation it is defined in, given a handle of an entity in an aggregate metadata. + Handle of an entity in an aggregate metadata. + The generation the entity is defined in. + Handle of the entity within the metadata . + + + The MetadataBuilder class reads and writes metadata for an assembly in a highly performant manner. It is designed for use by compilers and other assembly generation tools. + + + Creates a builder for metadata tables and heaps. + The start offset of the User String heap. The cumulative size of User String heaps of all previous EnC generations should be 0 unless the metadata is EnC delta metadata. + The start offset of the String heap. The cumulative size of String heaps of all previous EnC generations should be 0 unless the metadata is EnC delta metadata. + The start offset of the Blob heap. The cumulative size of Blob heaps of all previous EnC generations should be 0 unless the metadata is EnC delta metadata. + The start offset of the Guid heap. The cumulative size of Guid heaps of all previous EnC generations should be 0 unless the metadata is EnC delta metadata. + Offset is too big. + Offset is negative. + + is not a multiple of size of GUID. + + + + + + + + + + + + + + + + + + + + + + + + Adds a default value for a parameter, field or property. + The parent entity handle, which can be one of the following: , , or . + The constant value. + + doesn't have the expected handle kind. + A handle to the added constant. + + + Adds a custom attribute. + An entity to attach the custom attribute to: a , , , , , , , , , , , , , , , , , , , , , or a . + A custom attribute constructor: a or . + A custom attribute value blob. + + doesn't have the expected handle kind. + A handle to the added custom attribute. + + + Adds custom debug information. + An entity to attach the debug information to: a , , , , , , , , , , , , , , , , , , , , , , , , , , or a . + The information kind. Determines the structure of the blob. + The custom debug information blob. + + doesn't have the expected handle kind. + A handle to the added custom debug information. + + + Adds a declarative security attribute to a type, method, or assembly. + The parent entity handle, which can be one of the following: a , , or a . + A declarative security action. + The permission set blob. + + doesn't have the expected handle kind. + A handle to the added declarative security attribute. + + + Adds document debug information. + The document name blob. + THe GUID of the hash algorithm used to calculate the value of . + The hash of the document content. + The GUID of the language. + A handle to the added document. + + + + + + + + + + Adds an event definition. + The event attributes. + The event name. + The type of the event: a , , or . + + doesn't have the expected handle kind. + A handle to the added event definition. + + + + + + + Adds an exported type. + The type attributes. + The type namespace. + The type name. + The implementation entity handle, which can be one of the following: an , , or . + The type definition ID. + + doesn't have the expected handle kind. + A handle to the added exported type. + + + Adds a field definition. + The field attributes. + The field name. + The field signature. Use to construct the blob. + A handle to the added field definition. + + + Defines a field layout of a field definition. + The field definition handle. + The byte offset of the field within the declaring type instance. + + + Adds a mapping from a field to its initial value stored in the PE image. + The field definition handle. + The offset within the block in the PE image that stores initial values of mapped fields (usually in the .text section). + + is negative. + + + Adds a generic parameter definition. + The parent entity handle, which can be either a or . + The generic parameter attributes. + The parameter name. + The zero-based parameter index. + + doesn't have the expected handle kind. + + is greater than . + A handle to the added generic parameter. + + + Adds a type constraint to a generic parameter. + The generic parameter to constrain. + The type constraint, which can be one of the following: a , or a . + + doesn't have the expected handle kind. + A handle to the added generic parameter constraint. + + + Adds local scope debug information. + The parent scope handle. + The import scope handle. + A handle to the added import scope. + + + Adds an interface implementation to a type. + The type implementing the interface. + The interface being implemented, which can be one of the following: , , or . + + doesn't have the expected handle kind. + A handle to the added interface implementation. + + + Adds local constant debug information. + The name of the variable. + The LocalConstantSig blob. + A handle to the added local constant. + + + Adds local scope debug information. + The containing method. + The handle of the associated import scope. + If the scope declares variables, set this to the handle of the first one. Otherwise, set this to the handle of the first variable declared by the next scope definition. If no scope defines any variables, . + If the scope declares constants, set this the handle of the first one. Otherwise, set this to the handle of the first constant declared by the next scope definition. If no scope defines any constants, . + The offset of the first instruction covered by the scope. + The length (in bytes) of the scope. + A handle to the added local scope. + + + Adds local variable debug information. + The local variable attributes. + The zero-base index of the local variable in the local signature. + The name of the variable. + + is greater than . + A handle to the added local variable. + + + Adds a manifest resource. + The manifest resource attributes. + The name of the manifest resource. + The implementation entity handle, which can be one of the following: , , or . + Specifies the byte offset within the referenced file at which this resource record begins. + + doesn't have the expected handle kind. + A handle to the added manifest resource. + + + Adds marshalling information to a field or a parameter. + The parent entity handle, which can be one of the following: or . + The descriptor blob. + + doesn't have the expected handle kind. + + + Adds a MemberRef table row. + The containing entity, which can be one of the following: , , , , or . + The member name. + The member signature. + + doesn't have the expected handle kind. + A handle to the added member reference. + + + Adds method debug information. + The handle of a single document containing all sequence points of the method, or if the method doesn't have sequence points or spans multiple documents. + The sequence Points blob, or if the method doesn't have sequence points. + A handle to the added method debug information. + + + Adds a method definition. + The method attributes. + The method implementation attributes. + The method name. + The method signature. + Offset within the block in the PE image that stores method bodies (the IL stream), or -1 if the method doesn't have a body. + If the method declares parameters in the Params table, set this to the handle of the first one. Otherwise, set this to the handle of the first parameter declared by the next method definition. If no parameters are declared in the module, . + + is less than -1. + A handle to the added method definition. + + + Defines an implementation for a method declaration within a type. + The type definition. + The method body entity handle, which can be one of the following: or . + The method declaration entity handle, which can be one of the following: or . + + or doesn't have the expected handle kind. + A handle to the added method implementation. + + + Adds import information to a method definition. + The method definition handle. + The method import attributes. + The unmanaged method name. + The module containing the unmanaged method. + + + Associates a method (a getter, a setter, an adder, etc.) with a property or an event. + The association entity handle, which can be one of the following: or . + The method semantics attributes. + The method definition. + + doesn't have the expected handle kind. + + + Adds a method specification (an instantiation). + The generic method entity handle, which can be one of the following: or . + The instantiation blob encoding the generic arguments of the method. + + doesn't have the expected handle kind. + A handle to the added method specification. + + + + + + + + + + + + + Defines a nesting relationship to specified type definitions. + The nested type definition handle. + The enclosing type definition handle. + + + Adds a parameter definition. + The parameter attributes. + Optional. The parameter name. + The sequence number of the parameter. A value of 0 refers to the owner method's return type; its parameters are then numbered from 1 onward. + + is greater than . + A handle to the added parameter. + + + Adds a property definition. + The property attributes. + The property name. + The signature of the property. + A handle to the added property definition. + + + + + + + + + + Adds state machine method debug information. + The handle of the method of the state machine (the compiler-generated method). + The handle of the kickoff method (the user defined iterator/async method). + + + Adds a type definition. + The type attributes. + The type namespace. + The type name. + The base type entity handle, which can be one of the following: , , , or . + If the type declares fields, set this to the handle of the first one. Otherwise, set this to the handle of the first field declared by the next type definition. If no type defines any fields in the module, . + If the type declares methods, the handle of the first one. Otherwise, the handle of the first method declared by the next type definition. If no type defines any methods in the module, . + + doesn't have the expected handle kind. + A handle to the added type definition. + + + Defines a type layout of a type definition. + The type definition. + Specifies that fields should be placed within the type instance at byte addresses which are a multiple of , or at natural alignment for that field type, whichever is smaller. Its value should be one of the following: 0, 1, 2, 4, 8, 16, 32, 64, or 128. A value of zero indicates that the packing size used should match the default for the current platform. + Indicates a minimum size of the type instance and is intended to allow for padding. The amount of memory allocated is the maximum of the size calculated from the layout and . Note that if this directive applies to a value type, then the size will be less than 1 MB. + + + Adds a type reference. + The entity declaring the target type, which can be one of the following: , , , , or . + The type reference namespace. + The type reference name. + + doesn't have the expected handle kind. + A handle to the added type reference. + + + + + + Adds the specified blob to the Blob heap, if it's not there already. + The array containing the blob. + + is . + A handle to the added or existing blob. + + + Adds the specified blob from a byte array to the Blob heap, if it's not there already. + The array containing the blob. + + is . + A handle to the added or existing blob. + + + Adds the specified blob from an immutable byte array to the Blob heap, if it's not there already. + The blob builder instance containing the blob. + + is . + A handle to the added or existing blob. + + + Encodes a string using UTF16 encoding to a blob and adds it to the Blob heap, if it's not there already. + The string to add. + + is . + A handle to the added or existing blob. + + + Encodes a string using UTF8 encoding to a blob and adds it to the Blob heap, if it's not there already. + The value to add. + + to encode the unpaired surrogates as specified; to replace them with the U+FFFD character. + + is . + A handle to the added or existing blob. + + + Encodes a constant value to a blob and adds it to the Blob heap, if it's not there already. Uses UTF16 to encode string constants. + The constant value to add. + A handle to the added or existing blob. + + + Encodes a debug document name and adds it to the Blob heap, if it's not there already. + The document name to add. + + is . + A handle to the added or existing document name blob. + + + Adds the specified Guid to the Guid heap, if it's not there already. + The Guid to add. + A handle to the added or existing Guid. + + + Adds the specified string to the string heap, if it's not there already. + The string to add. + + is . + A handle to the added or existing string. + + + Adds the specified string to the user string heap, if it's not there already. + The string to add. + The remaining space on the heap is too small to fit the string. + + is . + A handle to the added or existing string. This value may be used in . + + + Returns the current number of items in the specified table. + The table index. + + is not a valid table index. + The number of items in the table. + + + Returns the current number of items in each table. + An array of size , with each item filled with the current row count of the corresponding table. + + + Reserves space on the Guid heap for a GUID. + The remaining space on the heap is too small to fit the string. + A handle to the reserved Guid and a representing the GUID blob as stored on the heap. + + + Reserves space on the user string heap for a string of the specified length. + The number of characters to reserve. + The remaining space on the heap is too small to fit the string. + + is negative. + A handle to the reserved user string and a representing the entire User String blob (including its length and terminal character). The handle may be used in . + Use to fill in the blob content. + + + Sets the capacity of the specified heap. + The heap index. + The number of bytes. + + is not a valid heap index. + +-or- + + is negative. + + + Sets the capacity of the specified table. + The table index. + The number of rows in the table. + + is not a valid table index. + +-or- + + is negative. + + + Provides extension methods for working with certain raw elements of the ECMA-335 metadata tables and heaps. + + + Enumerates entries of EnC log. + + + is . + + + Enumerates entries of EnC map. + + + is . + + + Returns the offset from the start of metadata to the specified heap. + + + + is . + + is not a valid heap index. + + + Returns the size of the specified heap. + + + + is . + + is not a valid heap index. + + + Returns the handle to the that follows the given one in the heap or a nil handle if it is the last one. + + + + is . + + + Returns the a handle to the string that follows the given one in the string heap, or a nil handle if it is the last one. + + + + is . + + + Returns the a handle to the UserString that follows the given one in the UserString heap or a nil handle if it is the last one. + + + + is . + + + Returns the offset from the start of metadata to the specified table. + + + + is . + + is not a valid table index. + + + Returns the number of rows in the specified table. + + + + is . + + is not a valid table index. + + + Returns the size of a row in the specified table. + + + + is . + + is not a valid table index. + + + Enumerate types that define one or more events. + + The resulting sequence corresponds exactly to entries in EventMap table, i.e. n-th returned is stored in n-th row of EventMap. + + + Enumerate types that define one or more properties. + + The resulting sequence corresponds exactly to entries in the property map table, that is, the n-th returned is stored in n-th row of the property map. + + + Given a type handle and a raw type kind found in a signature blob determines whether the target type is a value type or a reference type. + + + + + + Builder of a Metadata Root to be embedded in a Portable Executable image. + + + Creates a builder of a metadata root. + Builder populated with metadata entities stored in tables and values stored in heaps. The entities and values will be enumerated when serializing the metadata root. + The version string written to the metadata header. The default value is "v4.0.30319". + + to suppress basic validation of metadata tables during serialization; otherwise, . + + is . + + is too long (the number of bytes when UTF8-encoded must be less than 255). + + + Serializes metadata root content into the given . + Builder to write to. + The relative virtual address of the start of the method body stream. Used to calculate the final value of RVA fields of MethodDef table. + The relative virtual address of the start of the field init data stream. Used to calculate the final value of RVA fields of FieldRVA table. + + is . + + or is negative. + A metadata table is not ordered as required by the specification and is . + + + The metadata version. + A string that represents the metadata version. + + + Returns sizes of various metadata structures. + + + Determines if basic validation of metadata tables should be suppressed. The validation verifies that entries in the tables were added in order required by the ECMA specification. It does not enforce all specification requirements on metadata tables. + + to suppress basic validation of metadata tables; otherwise, . + + + Provides information on sizes of various metadata structures. + + + Returns aligned size of the specified heap. + + + + External table row count. + + + Exact (unaligned) heap sizes. + + + Table row counts. + + + + Maximum number of tables that can be present in Ecma335 metadata. + + + Maximum number of tables that can be present in Ecma335 metadata. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Creates an entity handle from a token value. + + + is not a valid metadata entity token. + + + Creates an from a token value. + + + + is not a valid table index. + + + + + + + + + + + + + + + + + + Gets the offset of metadata heap data that corresponds to the specified . + + Zero based offset, or -1 if can only be interpreted in a context of a specific or . + + + Gets the offset of metadata heap data that corresponds to the specified . + + 1-based index into the #Guid heap. Unlike other heaps, which are essentially byte arrays, the #Guid heap is an array of 16-byte GUIDs. + + + Gets the offset of metadata heap data that corresponds to the specified . + + An offset in the corresponding heap, or -1 if can only be interpreted in a context of a specific or . + + + Gets the offset of metadata heap data that corresponds to the specified in the context of . + + + The operation is not supported for the specified . + The is invalid. + Zero based offset, or -1 if isn't a metadata heap handle. + + + Gets the offset of metadata heap data that corresponds to the specified . + + Zero-based offset, or -1 if can only be interpreted in a context of a specific or . + + + Gets the offset of metadata heap data that corresponds to the specified . + + Zero-based offset. + + + Gets the row number of a metadata table entry that corresponds to the specified . + + One based row number, or -1 if can only be interpreted in a context of a specific . + See . + + + Gets the row number of a metadata table entry that corresponds to the specified in the context of . + + + The is not a valid metadata table handle. + One based row number. + + + Gets the metadata token of the specified . + + Metadata token, or 0 if can only be interpreted in a context of a specific . + + + Gets the metadata token of the specified . + + Handle represents a metadata entity that doesn't have a token. + A token can only be retrieved for a metadata table handle or a heap handle of type . + Metadata token, or 0 if can only be interpreted in a context of a specific . + + + Gets the metadata token of the specified in the context of . + + + The operation is not supported for the specified . + Metadata token. + + + Gets the metadata token of the specified in the context of . + + + Handle represents a metadata entity that doesn't have a token. + A token can only be retrieved for a metadata table handle or a heap handle of type . + The operation is not supported for the specified . + Metadata token. + + + + + + Creates a handle from a token value. + + + is not a valid metadata token. + It must encode a metadata table entity or an offset in the heap. + + + Creates an from a token value. + + + + is not a valid table index. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Gets the of the heap corresponding to the specified . + Handle type. + Heap index. + + if the handle type corresponds to an Ecma335 heap; otherwise. + + + Gets the of the table corresponding to the specified . + Handle type. + Table index. + + if the handle type corresponds to an Ecma335 or Portable PDB table; otherwise. + + + + + + + + + + + + + + + Defines method body attributes. + + + Initializes any locals the method defines to zero and dynamically allocates local memory. + + + Performs no local memory initialization. + + + Provides an encoder for a method body stream. + + + + + + Encodes a method body and adds it to the method body stream, using the provided code size, maximum stack size, number of exception regions, local variables' signature handle, method body attributes and allowing to indicate whether the exception regions should be encoded in small format or not. + The number of bytes to be reserved for instructions. + The maximum stack size. + The number of exception regions. + + if the exception regions should be encoded in small format; otherwise. + The local variables' signature handle. + The method body attributes. + + , , or is out of the allowed range. + The offset of the encoded body within the method body stream. + + + Encodes a method body and adds it to the method body stream, using the provided code size, maximum stack size, number of exception regions, local variables' signature handle, method body attributes, allowing to indicate whether the exception regions should be encoded in small format or not, and allowing to indicate whether the method should allocate from the dynamic local memory pool or not. + The number of bytes to be reserved for instructions. + The maximum stack size. + The number of exception regions. + + if the exception regions should be encoded in small format; otherwise. + The local variables' signature handle. + The method body attributes. + + if the method allocates from the dynamic local memory pool (the instruction); otherwise. + + , , or is out of the allowed range. + The offset of the encoded body within the method body stream. + + + Encodes a method body and adds it to the method body stream. + The instruction encoder. + The maximum stack size. + The local variables' signature handle. + The method body attributes. + + has default value. + + is out of range [0, ]. + A label targeted by a branch in the instruction stream has not been marked, or the distance between a branch instruction and the target label doesn't fit the size of the instruction operand. + The offset of the encoded body within the method body stream. + + + Encodes a method body and adds it to the method body stream, using the provided instruction encoder, maximum stack size, local variables' signature handle, method body attributes, and allowing to indicate whether the method should allocate from the dynamic local memory pool or not. + The instruction encoder. + The maximum stack size. + The local variables' signature handle. + The method body attributes. + + if the method allocates from the dynamic local memory pool (the IL contains the instruction); otherwise. + + has default value. + + is out of range [0, ]. + A label targeted by a branch in the instruction stream has not been marked, or the distance between a branch instruction and the target label doesn't fit the size of the instruction operand. + The offset of the encoded body within the method body stream. + + + + Describes a method body. This class is meant to used along with the class. + + + Gets an encoder object that can be used to encode exception regions to the method body. + An exception region encoder instance. + + + Gets a blob reserved for instructions. + A blob reserved for instructions. + + + Gets the offset of the encoded method body in the method body stream. + The offset of the encoded method body in the method body stream. + + + Provides an encoder for method signatures. + + + + + + + Encodes the provided return type and parameters. + The number of parameters. + The method that is called first to encode the return type. + The method that is called second to encode the parameters. + + or is . + + + Encodes the provided return type and parameters, which must be used in the order they appear in the parameter list. + The number of parameters. + The method that is called first to encode the return types. + The method that is called second to encode the parameters. + + + + + + Initializes a new instance of the structure. + A builder for encoding the named argument. + + + Encodes a named argument (a field or property). + + to encode a field, to encode a property. + The method to call first to encode the type of the argument. + The method to call second to encode the name of the field or property. + The method to call third to encode the literal value of the argument. + + , or is . + + + Encodes a named argument (a field or property) and returns three encoders that must be used in the order they appear in the parameter list. + + to encode a field, to encode a property. + The method to call first to encode the type of the argument. + The method to call second to encode the name of the field or property. + The method to call third to encode the literal value of the argument. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Represents the builder of a Portable PDB image. + + + Creates a builder of a Portable PDB image. + A builder populated with debug metadata entities stored in tables and values stored in heaps. The entities and values are enumerated when serializing the Portable PDB image. + The row counts of all tables that the associated type system metadata contain. Each slot in the array corresponds to a table (). The length of the array must be equal . + An entry point method definition handle. + A function that calculates the ID of content represented as a sequence of blobs. If not specified, a default function that ignores the content and returns a content ID based on the current time is used (). You must specify a deterministic function to produce a deterministic Portable PDB image. + + or is . + + + Serializes portable PDB content into the given . + The builder to write to. + + is . + The ID of the serialized content. + + + + + + + + + + + + + + + + + + + + + Encodes a constant literal. + A constant of type , , , , , , , , , , , (encoded as a two-byte Unicode character), (encoded as SerString), or (encoded as the underlying integer value). + Unexpected constant type. + + + Encodes a literal of type . + + + Encodes a literal of type (which can possibly be ). + The name of the type, or . + + is empty. + + + + Decodes signature blobs. + + + + + Creates a new . + The provider used to obtain type symbols as the signature is decoded. + The metadata reader from which the signature was obtained. It may be if the given provider allows it. + Additional context needed to resolve generic parameters. + + + Decodes a field signature blob and advances the reader past the signature. + The blob reader positioned at a field signature. + The decoded field type. + + + Decodes a local variable signature blob and advances the reader past the signature. + The blob reader positioned at a local variable signature. + The local variable signature is invalid. + The local variable types. + + + Decodes a method (definition, reference, or standalone) or a property signature blob. + A blob reader positioned at a method signature. + The method signature is invalid. + The decoded method signature. + + + Decodes a method specification signature blob and advances the reader past the signature. + A blob reader positioned at a valid method specification signature. + The types used to instantiate a generic method via the method specification. + + + Decodes a type embedded in a signature and advances the reader past the type. + The blob reader positioned at the leading . + + to allow a to follow a (CLASS | VALUETYPE) in the signature; otherwise. + The reader was not positioned at a valid signature type. + The decoded type. + + + + + + + Encodes an array type. + Called first, to encode the type of the element. + Called second, to encode the shape of the array. + + or is . + + + Encodes an array type. Returns a pair of encoders that must be used in the order they appear in the parameter list. + Use first, to encode the type of the element. + Use second, to encode the shape of the array. + + + + + + Starts a signature of a type with custom modifiers. + + + + Starts a function pointer signature. + Calling convention. + Function pointer attributes. + Generic parameter count. + + is invalid. + + is not in range [0, 0xffff]. + + + Starts a generic instantiation signature. + + or . + Generic argument count. + + to mark the type as value type, to mark it as a reference type in the signature. + + doesn't have the expected handle kind. + + is not in range [1, 0xffff]. + + + Encodes a reference to type parameter of a containing generic method. + Parameter index. + + is not in range [0, 0xffff]. + + + Encodes a reference to type parameter of a containing generic type. + Parameter index. + + is not in range [0, 0xffff]. + + + + + + + + Starts pointer signature. + + + Writes primitive type code. + Any primitive type code except for and . + + is not valid in this context. + + + + + + Starts SZ array (vector) signature. + + + Encodes a reference to a type. + + or . + + to mark the type as value type, to mark it as a reference type in the signature. + + doesn't have the expected handle kind. + + + + + + + Encodes a void pointer (void*). + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Represents a metadata entity (such as a type reference, type definition, type specification, method definition, or custom attribute). + + + + + Returns a value that indicates whether the current instance and the specified object are equal. + The object to compare with the current instance. + + if is an and is equal to the current instance; otherwise, . + + + Returns a value that indicates whether the current instance and the specified are equal. + The value to compare with the current instance. + + if the current instance and are equal; otherwise, . + + + Returns the hash code for this instance. + The hash code for this instance. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Indicates whether the current object is equal to another object of the same type. + An object to compare with this object. + + if the current object is equal to the parameter; 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 a collection. + An object that can be used to iterate through the collection. + + + Gets the number of elements in the collection. + The number of elements in the collection. + + + + 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. + + + 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. + + + + Gets a TypeRef, TypeDef, or TypeSpec handle if the region represents a catch, or a nil token otherwise (()). + + + Gets the IL offset of the start of the filter block, or -1 if the region is not a filter. + + + Gets the length in bytes of the exception handler. + + + Gets the starting IL offset of the exception handler. + + + + Gets the length in bytes of the try block. + + + Gets the starting IL offset of the try block. + + + + + + + + + + + Gets a handle to resolve the implementation of the target type. + + + + + representing another module in the assembly. + + + + representing another assembly if is . + + + + representing the declaring exported type in which this was is nested. + + + + + + + Gets the name of the target type, or if the type is nested or defined in a root namespace. + A struct instance. + + + Gets the full name of the namespace that contains the target type, or if the type is nested or defined in a root namespace. + + + Gets the definition handle of the namespace where the target type is defined, or if the type is nested or defined in a root namespace. + + + + + + + Indicates whether the current object is equal to another object of the same type. + An object to compare with this object. + + if the current object is equal to the parameter; otherwise, . + + + + + + + + + + + + + + + + + + + + + + + + + Represents a collection of instances. + + + + 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. + + + Gets the number of elements in the collection. + The number of elements in the collection. + + + + 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. + + + 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. + + + + + + + + + + + + + + Returns the field layout offset, or -1 if it is not available. + The field definition offset, or -1 if it is not available. + + + + + + + + + + + Indicates whether the current object is equal to another object of the same type. + An object to compare with this object. + + if the current object is equal to the parameter; 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 a collection. + An object that can be used to iterate through the collection. + + + Gets the number of elements in the collection. + The number of elements in the collection. + + + + 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. + + + 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. + + + + + + Gets the attributes specifying variance and constraints. + + + Gets the zero-based index of the parameter within the declaring generic type or method declaration. + + + Gets the name of the generic parameter. + + + Gets a or that represents the parent of this generic parameter. + + + + + Gets the constrained . + + + Gets a handle (, , or ) + specifying from which type this generic parameter is constrained to derive, + or which interface this generic parameter is constrained to implement. + An instance. + + + + + + + Indicates whether the current object is equal to another object of the same type. + An object to compare with this object. + + if the current object is equal to the parameter; otherwise, . + + + + + + + + + + + + + + + + + + + + + + + + + Represents a collection of constraints of a generic type parameter. + + + + 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. + + + Gets the number of elements in the collection. + The number of elements in the collection. + + + Gets the element at the specified index in the read-only list. + The zero-based index of the element to get. + The element at the specified index in the read-only list. + + + + 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. + + + 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. + + + + + + + Indicates whether the current object is equal to another object of the same type. + An object to compare with this object. + + if the current object is equal to the parameter; otherwise, . + + + + + + + + + + + + + + + + + + + + + + + + + Represents a collection of generic type parameters of a method or type. + + + + 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. + + + Gets the number of elements in the collection. + The number of elements in the collection. + + + Gets the element at the specified index in the read-only list. + The zero-based index of the element to get. + The element at the specified index in the read-only list. + + + + 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. + + + 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. + + + + + + + Indicates whether the current object is equal to another object of the same type. + An object to compare with this object. + + if the current object is equal to the parameter; otherwise, . + + + + + + + + + + + + + + + + + + + Represents any metadata entity (such as a type reference, a type definition, a type specification, a method definition, or a custom attribute) or value (a string, blob, guid, or user string). + + + + + + + + Indicates whether the current object is equal to another object of the same type. + An object to compare with this object. + + if the current object is equal to the parameter; otherwise, . + + + + + + + + + + + + + + + Compares two entity handles. + The first entity handle to compare. + The second entity handle to compare. + Zero if the two entity handles are equal, and a non-zero value of they are not. + + + Compares two handles. + The first handle to compare. + The second handle to compare. + Zero if the two handles are equal, and a non-zero value if they are not. + + + Determines whether the specified objects are equal. + The first object of type to compare. + The second object of type to compare. + + if the specified objects are equal; otherwise, . + + + Determines whether the specified objects are equal. + The first object of type to compare. + The second object of type to compare. + + if the specified objects are equal; otherwise, . + + + Returns a hash code for the specified object. + The for which a hash code is to be returned. + A hash code for the specified object. + + + Returns a hash code for the specified object. + The for which a hash code is to be returned. + A hash code for the specified object. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Gets the type symbol for a generalized array of the given element type and shape. + The type of the elements in the array. + The shape (rank, sizes, and lower bounds) of the array. + + + Gets the type symbol for a managed pointer to the given element type. + + + + Gets the type symbol for a generic instantiation of the given generic type with the given type arguments. + + + + + Gets the type symbol for an unmanaged pointer to the given element type. + + + + + + + Gets the representation for . + + + Gets the type symbol for the given serialized type name. + The serialized type name in so-called "reflection notation" format (as understood by the method.) + The name is malformed. + A instance. + + + Gets the underlying type of the given enum type symbol. + An enum type. + The given type symbol does not represent an enum. + A type code that indicates the underlying type of the enumeration. + + + Verifies if the given type represents . + The type to verify. + + if the given type is a , otherwise. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Calculates the size of the specified branch instruction operand. + The branch op-code. + The specified is not a branch op-code. + 1 if is a short branch, or 4 if it is a long branch. + + + Gets a long form of the specified branch op-code. + The branch op-code. + The specified is not a branch op-code. + The long form of the branch op-code. + + + Gets a short form of the specified branch op-code. + The branch op-code. + The specified is not a branch op-code. + The short form of the branch op-code. + + + Verifies if the specified op-code is a branch to a label. + + + if the specified op-code is a branch to a label, otherwise. + + + The exception that is thrown when an attempt to write metadata exceeds a limit given by the format specification. For example, when the heap size limit is exceeded. + + + Initializes a new instance of the class. + + + 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 with a specified error message. + The error message that explains the reason for this exception. + + + Initializes a new instance of the class with a specified error message and the exception that is the cause of this exception. + The error message that explains the reason for this exception. + The exception that is the cause of the current exception, or if no inner exception is specified. + + + + + + + + + + + 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. + + + + Advances the enumerator to the next element of the collection. + Invalid blob format. + + 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. + + + 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 information about the lexical scope within which a group of imports are available. This information is stored in debug metadata. + + + + + + + + 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. + + + Gets the number of elements in the collection. + The number of elements in the collection. + + + + 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. + + + 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. + + + + + + + Indicates whether the current object is equal to another object of the same type. + An object to compare with this object. + + if the current object is equal to the parameter; otherwise, . + + + + + + + + + + + + + + + + + + + + + + + + + + + Gets the interface that is implemented (, , or ). + + + + + + + Indicates whether the current object is equal to another object of the same type. + An object to compare with this object. + + if the current object is equal to the parameter; 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 a collection. + An object that can be used to iterate through the collection. + + + Gets the number of elements in the collection. + The number of elements in the collection. + + + + 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. + + + 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. + + + + + + + Gets the type symbol for the function pointer type of the given method . + + The type symbol for the function pointer type. + + + Gets the type symbol for the generic method parameter at the given zero-based . + + + The type symbol for the generic method parameter at . + + + Gets the type symbol for the generic type parameter at the given zero-based . + + + The type symbol for the generic type parameter at the given zero-based . + + + Gets the type symbol for a type with a custom modifier applied. + The modifier type applied. + The type symbol of the underlying type without modifiers applied. + + if the modifier is required, if it's optional. + The type symbol. + + + Gets the type symbol for a local variable type that is marked as pinned. + + The type symbol for the local variable type. + + + Gets the type symbol for a type specification. + The metadata reader that was passed to the signature decoder. It may be . + The context that was passed to the signature decoder. + The type specification handle. + The kind of the type, as specified in the signature. To interpret this value, use . + The type symbol for the type specification. + + + + + + Gets the type symbol for a primitive type. + + The type symbol for . + + + Gets the type symbol for a type definition. + The metadata reader that was passed to the signature decoder. It may be . + The type definition handle. + The kind of the type, as specified in the signature. To interpret this value use . + The type symbol. + + + Gets the type symbol for a type reference. + The metadata reader that was passed to the signature decoder. It may be . + The type definition handle. + The kind of the type as specified in the signature. To interpret this value, use . + The type symbol. + + + + + + Gets the type symbol for a single-dimensional array of the given element type with a lower bounds of zero. + + A instance. + + + Provides information about local constants. This information is stored in debug metadata. + + + + Gets the constant signature. + The constant signature. + + + + + + + Indicates whether the current object is equal to another object of the same type. + An object to compare with this object. + + if the current object is equal to the parameter; 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 a collection. + An object that can be used to iterate through the collection. + + + Gets the number of elements in the collection. + The number of elements in the collection. + + + + 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. + + + 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 information about the scope of local variables and constants. This information is stored in debug metadata. + + + + + + + + + + + + + + + Indicates whether the current object is equal to another object of the same type. + An object to compare with this object. + + if the current object is equal to the parameter; 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 a collection. + An object that can be used to iterate through the collection. + + + Gets the number of elements in the collection. + The number of elements in the collection. + + + + 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. + + + 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. + + + + 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. + + + 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 information about local variables. This information is stored in debug metadata. + + + + + + + + + + + + + Indicates whether the current object is equal to another object of the same type. + An object to compare with this object. + + if the current object is equal to the parameter; 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 a collection. + An object that can be used to iterate through the collection. + + + Gets the number of elements in the collection. + The number of elements in the collection. + + + + 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. + + + 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. + + + + + Gets the manifest resource attributes. + A bitwise combination of the enumeration values that specify the manifest resource attributes. + + + Gets the implementation entity handle. + An EntityHandle instance. If the property is , the returned handle will have default values. + + + Gets the resource name. + The resource name. + + + Gets the byte offset within the referenced file at which this resource record begins. + The byte offset within the referenced file at which this resource record begins. + + + + + + + Indicates whether the current object is equal to another object of the same type. + An object to compare with this object. + + if the current object is equal to the parameter; otherwise, . + + + + + + + + + + + + + + + + + + + + + + + + + Represents a collection of instances. + + + + 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. + + + Gets the number of elements in the collection. + The number of elements in the collection. + + + + 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. + + + 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. + + + + + + + + + + + + + + + + + Determines if the member reference is to a method or field. + The member reference signature is invalid. + One of the enumeration values that indicates the kind of member reference. + + + + Gets the parent entity handle. + An entity handle instance. If the property is , the returned handle will have default values. + + + Gets a handle to the signature blob. + A handle to the signature blob. + + + + + + + Indicates whether the current object is equal to another object of the same type. + An object to compare with this object. + + if the current object is equal to the parameter; otherwise, . + + + + + + + + + + + + + + + + + + + + + + + + + Represents a collection of instances. + + + + 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. + + + Gets the number of elements in the collection. + The number of elements in the collection. + + + + 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. + + + 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. + + + Specifies constants that indicate whether a references a method or field. + + + The references a field. + + + The references a method. + + + + CLI metadata. + + + Windows metadata generated by managed compilers. + + + Windows metadata. + + + Reads metadata as defined by the ECMA 335 CLI specification. + + + Initializes a new instance of the class from the metadata stored at the given memory location. + A pointer to the first byte in a block of metadata. + The number of bytes in the block. + + + Initializes a new instance of the class from the metadata stored at the given memory location. + + + + + + Initializes a new instance of the class from the metadata stored at the given memory location. + + + + + + is not positive. + + is . + The encoding of is not . + The current platform is big-endian. + Bad metadata header. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Gets the information decoded from #Pdb stream, or if the stream is not present. + The information decoded from #Pdb stream, or if the stream is not present. + + + + + + + + + Gets a value that indicates whether the metadata represents an assembly. + + if the metadata represents an assembly; otherwise, . + + + + + + + + Gets the metadata kind. + One of the enumeration values that specifies the metadata kind. + + + Gets the length of the underlying data. + The length of the underlying data. + + + Gets the pointer to the underlying data. + The pointer to the underlying data. + + + Gets the version string read from metadata header. + The version string read from metadata header. + + + + + Gets the passed to the constructor. + A bitwise combination of the enumeration values that describes the enum value. + + + + Gets the comparer used to compare strings stored in metadata. + The comparer used to compare strings stored in metadata. + + + + + Gets the decoder used by the reader to produce string instances from UTF8-encoded byte sequences. + The decoder used by the reader to produce string instances from UTF8-encoded byte sequences. + + + + Windows Runtime projections are enabled (on by default). + + + The options that are used when a is obtained via an overload that does not take a argument. + + + All options are disabled. + + + Provides a for metadata stored in an array of bytes, a memory block, or a stream. + + + Disposes all memory allocated by the reader. + + + Creates a metadata provider over an image stored in memory. + Pointer to the start of the metadata blob. + The size of the metadata blob. + + is . + + is negative. + The new metadata provider. + + + Creates a provider over a byte array. + Metadata image. + + is . + The new provider. + + + Creates a provider for a stream of the specified size beginning at its current position. + A instance. + Options specifying how sections of the image are read from the stream. + Size of the metadata blob in the stream. If not specified, the metadata blob is assumed to span to the end of the stream. + + is . + + doesn't support read and seek operations. + Size is negative or extends past the end of the stream. + Error reading from the stream (only when is specified). + The new provider. + + + Creates a portable PDB metadata provider over a blob stored in memory. + Pointer to the start of the portable PDB blob. + The size of the portable PDB blob. + + is . + + is negative. + The new portable PDB metadata provider. + + + Creates a portable PDB metadata provider over a byte array. + A portable PDB image. + + is . + The new portable PDB metadata provider . + + + Creates a provider for a stream of the specified size beginning at its current position. + The stream. + Options specifying how sections of the image are read from the stream. + Size of the metadata blob in the stream. If not specified, the metadata blob is assumed to span to the end of the stream. + + is . + + doesn't support read and seek operations. + Size is negative or extends past the end of the stream. + A instance. + + + Gets a from a . + A bitwise combination of the enumeration values that represent the configuration when reading the metadata. + The encoding to use. + The encoding of is not . + The current platform is big-endian. + IO error while reading from the underlying stream. + Provider has been disposed. + A instance.. + + + + By default, the stream is disposed when is disposed and sections of the PE image are read lazily. + + + Keeps the stream open when the is disposed. + + + + Reads PDB metadata into memory right away. + The underlying file may be closed and even deleted after the is constructed. closes the stream automatically by the time the constructor returns unless is specified. + + + + Provides string comparison helpers to query strings in metadata while avoiding allocation if possible. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Provides the with a custom mechanism for decoding byte sequences in metadata that represent text. + + + Initializes a new instance of the class using the given encoding. + The encoding to use. + + + Obtains strings for byte sequences in metadata. Override this to cache strings if required. Otherwise, it is implemented by forwarding straight to and every call will allocate a new string. + Pointer to bytes to decode. + Number of bytes to decode. + The decoded string. + + + Gets the default decoder used by to decode UTF-8 when no decoder is provided to the constructor. + The default decoder used by to decode UTF-8. + + + Gets the encoding used by this instance. + The encoding used by this instance. + + + + + + + + + + + + + + Gets the size of the method body, including the header, IL, and exception regions. + The size of the method body. + + + Provides debug information associated with a method definition. This information is stored in debug metadata. + + + Returns a collection of sequence points decoded from . + A collection of sequence points. + + + Returns the kickoff method of the state machine. + The kickoff method of the state machine, if the method is a MoveNext method of a state machine. Otherwise, it returns a handle whose property is .. + + + Gets the handle of the single document containing all sequence points of the method. + The handle of the single document containing all sequence points of the method, or a handle whose property is if the method doesn't have sequence points or spans multiple documents. + + + Returns a local signature handle. + A local signature handle, or a handle whose property is if the method doesn't define any local variables. + + + Returns a blob encoding sequence points. + A blob encoding sequence points, or a handle whose property is if the method doesn't have sequence points. + + + + + + + Indicates whether the current object is equal to another object of the same type. + An object to compare with this object. + + if the current object is equal to the parameter; otherwise, . + + + + + + + + + + + + + + + + + + + + + + + + Returns a handle to a that corresponds to this handle. + A method definition handle that corresponds to this handle. + + + + + + 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. + + + Gets the number of elements in the collection. + The number of elements in the collection. + + + + 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. + + + 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. + + + + + + + + + + + + + + + + + + + + + + + + + Indicates whether the current object is equal to another object of the same type. + An object to compare with this object. + + if the current object is equal to the parameter; otherwise, . + + + + + + + + + + + + + + + + + + + + + + + + Returns a handle to a that corresponds to this handle. + A method debug information handle that corresponds to this handle. + + + + + + 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. + + + Gets the number of elements in the collection. + The number of elements in the collection. + + + + 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. + + + 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. + + + + + + + + + + + + Indicates whether the current object is equal to another object of the same type. + An object to compare with this object. + + if the current object is equal to the parameter; 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 a collection. + An object that can be used to iterate through the collection. + + + Gets the number of elements in the collection. + The number of elements in the collection. + + + + 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. + + + 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 a method (definition, reference, or standalone) or property signature. In the case of properties, the signature matches that of a getter with a distinguishing . + The method type. + + + Initializes a new instance of the structure using the specified header, return type, and parameter information. + The information in the leading byte of the signature (kind, calling convention, flags). + The return type of the method. + The number of required parameters. + The number of generic type parameters. + The parameter types. + + + Gets the number of generic type parameters for the method. + The number of generic type parameters, or 0 for non-generic methods. + + + Gets the information in the leading byte of the signature (kind, calling convention, flags). + The header signature. + + + Gets the method's parameter types. + An immutable collection of parameter types. + + + Gets the number of parameters that are required for the method. + The number of required parameters. + + + Gets the return type of the method. + The return type. + + + + + + + + + + + Gets a or handle specifying which generic method this instance refers to (that is, which generic method it is an instantiation of). + A or handle specifying which generic method this instance refers to. + + + Gets a handle to the signature blob. + A handle to the signature blob. + + + + + + + Indicates whether the current object is equal to another object of the same type. + An object to compare with this object. + + if the current object is equal to the parameter; otherwise, . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Indicates whether the current object is equal to another object of the same type. + An object to compare with this object. + + if the current object is equal to the parameter; otherwise, . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Indicates whether the current object is equal to another object of the same type. + An object to compare with this object. + + if the current object is equal to the parameter; otherwise, . + + + + + + + + + + + + + + + + + + + + + + + + + + Gets all exported types that reside directly in a namespace. + An immutable array of exported type handles. + + + Gets the unqualified name of the namespace definition. + The unqualified name of the namespace definition. + + + Gets the namespace definitions that are direct children of the current namespace definition. + An immutable array of namespace definitions that are direct children of the current namespace definition. + + + Gets the parent namespace. + The parent namespace. + + + Gets all type definitions that reside directly in a namespace. + An immutable array of type definition handles. + + + Provides a handle to a namespace definition. + + + + + + Indicates whether the current object is equal to another object of the same type. + An object to compare with this object. + + if the current object is equal to the parameter; otherwise, . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Indicates whether the current object is equal to another object of the same type. + An object to compare with this object. + + if the current object is equal to the parameter; otherwise, . + + + + + + + + + + + + + + + + + + + + + + + + + Contains a collection of parameters of a specified method. + + + + 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. + + + Gets the number of elements in the collection. + The number of elements in the collection. + + + + 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. + + + 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. + + + + Gets a from a . + The current instance. + + is . + The current platform is big-endian. + IO error while reading from the underlying stream. + A metadata reader. + + + Gets a metadata reader with the specified metadata reading configuration from a . + The current instance. + An enumeration value indicating the metadata reading configuration. + + is . + The current platform is big-endian. + IO error while reading from the underlying stream. + A metadata reader with the specified metadata reading configuration. + + + Gets a metadata reader with the specified metadata reading configuration and encoding configuration from a . + The current instance. + An enumeration value indicating the metadata reading configuration. + A metadata string decoder with the encoding configuration. + + is . + The encoding of is not . + The current platform is big-endian. + IO error while reading from the underlying stream. + >A metadata reader with the specified metadata reading configuration and encoding configuration. + + + Returns a body block of a method with the specified Relative Virtual Address (RVA); + The current instance. + The Relative Virtual Address (RVA). + + is . + The body is not found in the metadata or is invalid. + The section where the method is stored is not available. + IO error occurred while reading from the underlying stream. + A method block body instance. + + + Specifies constants that define the type codes used to encode types of primitive values in a value blob. + + + A type. + + + An unsigned 1-byte integer type. + + + A type. + + + An 8-byte floating point type. + + + A signed 2-byte integer type. + + + A signed 4-byte integer type. + + + A signed 8-byte integer type. + + + A signed 1-byte integer type. + + + A 4-byte floating point type. + + + A type. + + + An unsigned 2-byte integer type. + + + An unsigned 4-byte integer type. + + + An unsigned 8-byte integer type. + + + Specifies constants that define primitive types found in metadata signatures. + + + A type. + + + A type. + + + A type. + + + A type. + + + An type. + + + An type. + + + An type. + + + An type. + + + An type. + + + An type. + + + A type. + + + A type. + + + A typed reference. + + + A type. + + + A type. + + + A type. + + + A type. + + + A type. + + + + + + + + + + + + + + + + + + + + + + + + Indicates whether the current object is equal to another object of the same type. + An object to compare with this object. + + if the current object is equal to the parameter; 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 a collection. + An object that can be used to iterate through the collection. + + + Gets the number of elements in the collection. + The number of elements in the collection. + + + + 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. + + + 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 a handle and a corresponding blob on a metadata heap that was reserved for future content update. + + + + Returns a to be used to update the content. + A blob writer to be used to update the content. + + + + Gets the reserved blob handle. + The reserved bloc handle. + + + + + + + + Indicates whether the current object is equal to another object of the same type. + An object to compare with this object. + + if the current object is equal to the parameter; 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 a collection. + An object that can be used to iterate through the collection. + + + + 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. + + + 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. + + + Specifies type codes used to encode the types of values in a blob. + + + A value equivalent to . + + + A value equivalent to . + + + A value equivalent to . + + + A value equivalent to . + + + The attribute argument is an Enum instance. + + + A value equivalent to . + + + A value equivalent to . + + + A value equivalent to . + + + A value equivalent to . + + + A value equivalent to . + + + A value equivalent to . + + + A value equivalent to . + + + A value equivalent to . + + + The attribute argument is "boxed" (passed to a parameter, field, or property of type object) and carries type information in the attribute blob. + + + The attribute argument is a instance. + + + A value equivalent to . + + + A value equivalent to . + + + A value equivalent to . + + + Specifies additional flags that can be applied to method signatures. The underlying values of the fields in this type correspond to the representation in the leading signature byte represented by a structure. + + + Indicates the first explicitly declared parameter that represents the instance pointer. + + + A generic method. + + + An instance method. + + + No flags. + + + Specifies how arguments in a given signature are passed from the caller to the callee. The underlying values of the fields in this type correspond to the representation in the leading signature byte represented by a structure. + + + An unmanaged C/C++ style calling convention where the call stack is cleaned by the caller. + + + A managed calling convention with a fixed-length argument list. + + + An unmanaged calling convention where arguments are passed in registers when possible. + + + An unmanaged calling convention where the call stack is cleaned up by the callee. + + + An unmanaged C++ style calling convention for calling instance member functions with a fixed argument list. + + + Indicates that the specifics of the unmanaged calling convention are encoded as modopts. + + + A managed calling convention for passing extra arguments. + + + Represents the signature characteristics specified by the leading byte of signature blobs. + + + Gets the mask value for the calling convention or signature kind. The default value is 15 (0x0F). + + + Initializes a new instance of the structure using the specified byte value. + The byte. + + + Initializes a new instance of the structure using the specified signature kind, calling convention and signature attributes. + The signature kind. + The calling convention. + The signature attributes. + + + Compares the specified object with this for equality. + The object to compare. + + if the objects are equal; otherwise, . + + + Compares two values for equality. + The value to compare. + + if the values are equal; otherwise, . + + + Gets a hash code for the current object. + A hash code for the current object. + + + Compares two values for equality. + The first value to compare. + The second value to compare. + + if the values are equal; otherwise, . + + + Determines whether two values are unequal. + The first value to compare. + The second value to compare. + + if the values are unequal; otherwise, . + + + Returns a string that represents the current object. + A string that represents the current object. + + + Gets the signature attributes. + The attributes. + + + Gets the calling convention. + The calling convention. + + + Gets a value that indicates whether this structure has the signature attribute. + + if the attribute is present; otherwise, . + + + Gets a value that indicates whether this structure has the signature attribute. + + if the attribute is present; otherwise, . + + + Gets a value that indicates whether this structure has the signature attribute. + + if the attribute is present; otherwise, . + + + Gets the signature kind. + The signature kind. + + + Gets the raw value of the header byte. + The raw value of the header byte. + + + Specifies the signature kind. The underlying values of the fields in this type correspond to the representation in the leading signature byte represented by a structure. + + + A field signature. + + + A local variables signature. + + + A method reference, method definition, or standalone method signature. + + + A method specification signature. + + + A property signature. + + + Specifies constants that define type codes used in signature encoding. + + + Represents a generalized in signatures. + + + Represents a in signatures. + + + Represents managed pointers (byref return values and parameters) in signatures. It is followed in the blob by the signature encoding of the underlying type. + + + Represents a in signatures. + + + Represents a in signatures. + + + Represents a in signatures. + + + Represents function pointer types in signatures. + + + Represents a generic method parameter used within a signature. + + + Represents the instantiation of a generic type in signatures. + + + Represents a generic type parameter used within a signature. + + + Represents an in signatures. + + + Represents an in signatures. + + + Represents an in signatures. + + + Represents an in signatures. + + + Represents an invalid or uninitialized type code. It will not appear in valid signatures. + + + Represents an in signatures. + + + Represents a custom modifier applied to a type within a signature that the caller can ignore. + + + Represents a local variable that is pinned by garbage collector. + + + Represents an unmanaged pointer in signatures. It is followed in the blob by the signature encoding of the underlying type. + + + Represents a custom modifier applied to a type within a signature that the caller must understand. + + + Represents an in signatures. + + + Represents a marker to indicate the end of fixed arguments and the beginning of variable arguments. + + + Represents a in signatures. + + + Represents a in signatures. + + + Represents a single dimensional with a lower bound of 0. + + + Represents a typed reference in signatures. + + + Precedes a type in signatures. In raw metadata, this is encoded as either ELEMENT_TYPE_CLASS (0x12) for reference types or ELEMENT_TYPE_VALUETYPE (0x11) for value types. This is collapsed to a single code because Windows Runtime projections can project from class to value type or vice-versa, and the raw code is misleading in those cases. + + + Represents a in signatures. + + + Represents a in signatures. + + + Represents a in signatures. + + + Represents a in signatures. + + + Represents in signatures. + + + Indicates the type definition of the signature. + + + The type definition or reference refers to a class. + + + It isn't known in the current context if the type reference or definition is a class or value type. + + + The type definition or reference refers to a value type. + + + + + + + + + + + + + + + + + Determines the kind of signature, which can be or . + The signature is invalid. + An enumeration value that indicates the signature kind. + + + Gets a handle to the signature blob. + A handle to the signature blob. + + + + + + + Indicates whether the current object is equal to another object of the same type. + An object to compare with this object. + + if the current object is equal to the parameter; otherwise, . + + + + + + + + + + + + + + + + + + + + + + + + + Indicates whether a represents a standalone method or local variable signature. + + + The references a local variable signature. + + + The represents a standalone method signature. + + + + + + + Indicates whether the current object is equal to another object of the same type. + An object to compare with this object. + + if the current object is equal to the parameter; otherwise, . + + + + + + + + + + + + + + + + + + + + + + Returns the enclosing type of a specified nested type. + The enclosing type of the specified nested type, or a handle a handle whose property is if the type is not nested. + + + + + + + + + + Returns an array of types nested in the specified type. + An immutable array of type definition handles that represent types nested in the specified type. + + + + + Gets the base type of the type definition: either , or . + The base type of the type definition. + + + Gets a value that indicates whether this is a nested type. + + if it is a nested type, otherwise. + + + Gets the name of the type. + The name of the type. + + + Gets the full name of the namespace where the type is defined. + The full name of the namespace where the type is defined, or a handle whose property is if the type is nested or defined in a root namespace. + + + Gets the definition handle of the namespace where the type is defined. + The definition handle of the namespace where the type is defined, or a handle whose property is if the type is nested or defined in a root namespace. + + + + + + + Indicates whether the current object is equal to another object of the same type. + An object to compare with this object. + + if the current object is equal to the parameter; otherwise, . + + + + + + + + + + + + + + + + + + + + + + + + + Contains a collection of instances. + + + + 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. + + + Gets the number of elements in the collection. + The number of elements in the collection. + + + + 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. + + + 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. + + + + + + + + + + + + Gets the name of the target type. + The name of the target type. + + + Gets the full name of the namespace where the target type is defined. + The full name of the namespace where the target type is defined, or a handle whose the property is if the type is nested or defined in a root namespace, + + + Gets the resolution scope in which the target type is defined and is uniquely identified by the specified and . + The resolution scope in which the target type is uniquely defined. + + + + + + + Indicates whether the current object is equal to another object of the same type. + An object to compare with this object. + + if the current object is equal to the parameter; otherwise, . + + + + + + + + + + + + + + + + + + + + + + + + + Contains a collection of instances. + + + + 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. + + + Gets the number of elements in the collection. + The number of elements in the collection. + + + + 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. + + + 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. + + + + + + + + + + + + + + + + Indicates whether the current object is equal to another object of the same type. + An object to compare with this object. + + if the current object is equal to the parameter; otherwise, . + + + + + + + + + + + + + + + + + + + + + + + + + Represents a handle to the user string heap. + + + + + + Indicates whether the current object is equal to another object of the same type. + An object to compare with this object. + + if the current object is equal to the parameter; otherwise, . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Used to add a handler for an event. Corresponds to the flag in the Ecma 335 CLI specification. + CLS-compliant adders are named the with prefix. + + + + + Reads the value of the property. + CLS-compliant getters are named with get_ prefix. + + + + Other method for a property (not a getter or setter) or an event (not an adder, remover, or raiser). + + + + Used to indicate that an event has occurred. Corresponds to the flag in the Ecma 335 CLI specification. + CLS-compliant raisers are named with the prefix. + + + + + Used to remove a handler for an event. Corresponds to the flag in the Ecma 335 CLI specification. + CLS-compliant removers are named with the prefix. + + + + + Used to modify the value of the property. + CLS-compliant setters are named with the prefix. + + + + + + + + + + + + + + + + + + + + Provides information about a Program Debug Database (PDB) file. + + + The iteration of the PDB. The first iteration is 1. The iteration is incremented each time the PDB content is augmented. + + + The Globally Unique Identifier (GUID) of the associated PDB. + + + The path to the .pdb file that contains debug information for the PE/COFF file. + + + Represents the header of a COFF file. + + + Gets the flags that indicate the attributes of the file. + The flags that indicate the attributes of the file. + + + Gets the type of the target machine. + The type of the target machine. + + + Gets the number of sections. This indicates the size of the section table, which immediately follows the headers. + The number of sections. + + + Gets the number of entries in the symbol table. This data can be used to locate the string table, which immediately follows the symbol table. This value should be zero for a PE image. + + + Gets the file pointer to the COFF symbol table. + The file pointer to the COFF symbol table, or zero if no COFF symbol table is present. This value should be zero for a PE image. + + + Gets the size of the optional header, which is required for executable files but not for object files. This value should be zero for an object file. + The size of the optional header. + + + Gets a value that indicates when the file was created. + The low 32 bits of the number of seconds since 00:00 January 1, 1970, which indicates when the file was created. + + + COR20Flags + + + + + + + + + + + + + + + + + + + + + + + Initializes a new instance of the class. + + + Adds a CodeView entry. + The path to the PDB. It should not be empty. + The unique id of the PDB content. + The version of Portable PDB format (e.g. 0x0100 for 1.0), or 0 if the PDB is not portable. + + is . + + contains a NUL character. + + is smaller than 0x0100. + + + Adds an Embedded Portable PDB entry. + A Portable PDB metadata builder. + The version of Portable PDB format (e.g. 0x0100 for 1.0). + + is . + + is smaller than 0x0100. + + + Adds an entry of the specified type. + The entry type. + The entry version. + The entry stamp. + + + Adds an entry of the specified type and serializes its data. + The entry type. + The entry version. + The entry stamp. + The data to pass to . + A serializer for serializing data to a . + The type of the data passed to . + + + Adds PDB checksum entry. + The hash algorithm name (for example, "SHA256"). + The checksum. + + or is . + + or is empty. + + + Adds a reproducible entry. + + + Identifies the location, size and format of a block of debug information. + + + Initializes a new instance of the structure. + + + + + + + + + + Gets the file pointer to the debug data. + The file pointer to the debug data. + + + Gets the address of the debug data when loaded, relative to the image base. + The address of the debug data relative to the image base. + + + Gets the size of the debug data (not including the debug directory itself). + the size of the debug data (excluding the debug directory). + + + Gets a value that indicates if the entry is a entry that points to a Portable PDB. + + if the entry is a entry pointing to a Portable PDB; otherwise, . + + + Gets the major version number of the debug data format. + The major version number of the debug data format. + + + Gets the minor version number of the debug data format. + The minor version number of the debug data format. + + + Get the time and date that the debug data was created if the PE/COFF file is not deterministic; otherwise, gets a value based on the hash of the content. + for a non-deterministic PE/COFF file, the time and date that the debug data was created; otherwise, a value based on the hash of the content. + + + Gets the format of the debugging information. + The format of the debugging information. + + + An enumeration that describes the format of the debugging information of a . + + + Associated PDB file description. + + + The COFF debug information (line numbers, symbol table, and string table). This type of debug information is also pointed to by fields in the file headers. + + + + The entry points to a blob containing Embedded Portable PDB. The Embedded Portable PDB blob has the following format: + - blob ::= uncompressed-size data + - Data spans the remainder of the blob and contains a Deflate-compressed Portable PDB. + + + + The entry stores a crypto hash of the content of the symbol file the PE/COFF file was built with. The hash can be used to validate that a given PDB file was built with the PE/COFF file and not altered in any way. More than one entry can be present if multiple PDBs were produced during the build of the PE/COFF file (e.g. private and public symbols). + + + The presence of this entry indicates a deterministic PE/COFF file. See the Remarks section for more information. + + + An unknown value that should be ignored by all tools. + + + + + + + + + + Describes the characteristics of a dynamic link library. + + + The image must run inside an AppContainer. + + + The DLL can be relocated. + + + The image can handle a high entropy 64-bit virtual address space. + + + Do not bind this image. + + + The image understands isolation and doesn't want it. + + + The image does not use SEH. No SE handler may reside in this image. + + + The image is NX compatible. + + + Reserved. + + + Reserved. + + + The image is Terminal Server aware. + + + Reserved. + + + Reserved. + + + The driver uses the WDM model. + + + Specifies the target machine's CPU architecture. + + + Alpha. + + + ALPHA64. + + + Matsushita AM33. + + + AMD64 (K8). + + + ARM little endian. + + + ARM64. + + + ARM Thumb-2 little endian. + + + EFI Byte Code. + + + Intel 386. + + + Intel 64. + + + M32R little-endian. + + + MIPS. + + + MIPS with FPU. + + + MIPS16 with FPU. + + + IBM PowerPC little endian. + + + PowerPCFP. + + + Hitachi SH3 little endian. + + + Hitachi SH3 DSP. + + + Hitachi SH3 little endian. + + + Hitachi SH4 little endian. + + + Hitachi SH5. + + + Thumb. + + + Infineon. + + + The target CPU is unknown or not specified. + + + MIPS little-endian WCE v2. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Represents a PDB Checksum debug directory entry. + + + The name of the crypto hash algorithm used to calculate the checksum. + A string representing the name of the crypto hash algorithm used to calculate the checksum. + + + The checksum of the PDB content. + An immutable array of bytes representing the checksum of the PDB content. + + + + + + + + + + + + + + + + + + + + + + + + + + + + Builds PE directories. + + + Initializes an instance of the class. + + + The address of the entry point relative to the image base when the PE file is loaded into memory. + For program images, this is the starting address. For device drivers, this is the address of the initialization function. An entry point is optional for DLLs. When no entry point is present, this field must be zero. + + + The base relocation table image directory entry. + A directory entry instance. + + + The bound import image directory entry. + A directory entry instance. + + + The copyright/architecture image directory entry. + A directory entry instance. + + + The COM descriptortable image directory entry. + A directory entry instance. + + + The debug table image directory entry. + A directory entry instance. + + + The delay import table image directory entry. + A directory entry instance. + + + The exception table image directory entry. + A directory entry instance. + + + The export table image directory entry. + A directory entry instance. + + + The global pointer table image directory entry. + A directory entry instance. + + + The import address table (IAT) image directory entry. + A directory entry instance. + + + The import table image directory entry. + A directory entry instance. + + + The load configuration table image directory entry. + A directory entry instance. + + + The resource table image directory entry. + A directory entry instance. + + + The thread local storage (TLS) table image directory entry. + A directory entry instance. + + + + Gets the address of the entry point relative to the image base when the PE file is loaded into memory. + The address of the entry point relative to the image base. + + + Gets the address of the beginning-of-code section relative to the image base when the image is loaded into memory. + The address of the beginning-of-code section relative to the image base. + + + Gets the address of the beginning-of-data section relative to the image base when the image is loaded into memory. + The address of the beginning-of-data section relative to the image base. + + + + + Gets the Certificate Table entry, which points to a table of attribute certificates. + + + Gets the image file checksum. + The image file checksum. + + + + + + + + + + Gets the alignment factor (in bytes) that is used to align the raw data of sections in the image file. + A power of 2 between 512 and 64K, inclusive. The default is 512. + + + + Gets the preferred address of the first byte of the image when it is loaded into memory. + The preferred address, which is a multiple of 64K. + + + + + + Gets a value that identifies the format of the image file. + The format of the image file. + + + Gets the major version number of the image. + The major version number of the image. + + + Gets the linker major version number. + The linker major version number. + + + Gets the major version number of the required operating system. + The major version number of the required operating system. + + + Gets the major version number of the subsystem. + The major version number of the subsystem. + + + Gets the minor version number of the image. + The minor version number of the image. + + + Gets the linker minor version number. + The linker minor version number. + + + Gets the minor version number of the required operating system. + The minor version number of the required operating system. + + + Gets the minor version number of the subsystem. + The minor version number of the subsystem. + + + Gets the number of data-directory entries in the remainder of the . Each describes a location and size. + The number of data-directory entries in the remainder of the . + + + + Gets the alignment (in bytes) of sections when they are loaded into memory. + A number greater than or equal to . The default is the page size for the architecture. + + + Gets the size of the code (text) section, or the sum of all code sections if there are multiple sections. + the size of the code (text) section, or the sum of all code sections if there are multiple sections. + + + Gets the combined size of an MS DOS stub, PE header, and section headers rounded up to a multiple of FileAlignment. + The combined size of an MS DOS stub, PE header, and section headers rounded up to a multiple of FileAlignment. + + + Gets the size of the local heap space to commit. + the size of the local heap space to commit. + + + Gets the size of the local heap space to reserve. Only is committed; the rest is made available one page at a time until the reserve size is reached. + The size of the local heap space to reserve. + + + Gets the size (in bytes) of the image, including all headers, as the image is loaded in memory. + The size (in bytes) of the image, which is a multiple of . + + + Gets the size of the initialized data section, or the sum of all such sections if there are multiple data sections. + + + Gets the size of the stack to commit. + The size of the stack to commit. + + + Gets the size of the stack to reserve. Only is committed; the rest is made available one page at a time until the reserve size is reached. + The size of the stack to reserve. + + + Gets the size of the uninitialized data section (BSS), or the sum of all such sections if there are multiple BSS sections. + The size of the uninitialized data section (BSS) or the sum of all such sections. + + + Gets the name of the subsystem that is required to run this image. + the name of the subsystem that is required to run this image. + + + + Defines the header for a portable executable (PE) file. + + + Initializes a new instance of the class. + The target machine's CPU architecture. + The alignment (in bytes) of sections when they are loaded into memory. It must be greater than or equal to . The default is the page size for the architecture. + The alignment factor (in bytes) that is used to align the raw data of sections in the image file. The value should be a power of 2 between 512 and 64K, inclusive. The default is 512. If the is less than the architecture's page size, then must match . + The preferred address of the first byte of image when loaded into memory; must be a multiple of 64K. + The linker major version number. + The linker minor version number. + The major version number of the required operating system. + The minor version number of the required operating system. + The major version number of the image. + The minor version number of the image. + The major version number of the subsystem. + The minor version number of the subsystem. + The subsystem required to run the image. + An object describing the characteristics of the dynamic link library. + An object describing the characteristics of the image. + The size of the stack to reserve. Only is committed; the rest is made available one page at a time until the reserve size is reached. + The size of the stack to commit. + The size of the local heap space to reserve. Only is committed; the rest is made available one page at a time until the reserve size is reached. + The size of the local heap space to commit. + + is not power of 2 between 512 and 64K. +-or- + + not power of 2. + +-or- + + is less than . + + + Creates an executable header. + A instance representing the executable header. + + + Creates a library header. + A instance representing the library header. + + + Returns the dynamic linker library characteristics. + An object that describes the dynamic linker library characteristics. + + + The alignment factor (in bytes) that is used to align the raw data of sections in the image file. The value should be a power of 2 between 512 and 64K, inclusive. The default is 512. If the section alignment is less than the architecture's page size, then file alignment must match the section alignment. + + + The preferred address of the first byte of image when loaded into memory; must be a multiple of 64K. + A number representing the preferred address of the first byte of image when loaded into memory. + + + Returns the image characteristics. + An object representing the image characteristics. + + + The target machine's CPU architecture. + One of the enumeration values representing the different CPU architectures. + + + The major version number of the image. + A number the size of a representing the the major version number of the image. + + + The linker major version number. + A number the size of a representing the linker major version number. + + + The major version number of the required operating system. + A number the size of a representing the major version number of the required operating system. + + + The major version number of the subsystem. + A number the size of a representing the major version number of the subsystem. + + + The minor version number of the image. + A number the size of a representing the minor version number of the image. + + + The linker minor version number. + A number the size of a representing the linker minor version number. + + + The minor version number of the required operating system. + A number the size of a representing the minor version number of the required operating system. + + + The minor version number of the subsystem. + A number the size of a representing the minor version number of the subsystem. + + + The alignment (in bytes) of sections when they are loaded into memory. + A number representing the alignment (in bytes) of sections when they are loaded into memory. It must be greater than or equal to the file alignment. The default is the page size for the architecture. + + + The size of the local heap space to commit. + A number representing the size of the local heap space to commit. + + + The size of the local heap space to reserve. Only is committed; the rest is made available one page at a time until the reserve size is reached. + A number representing the size of the local heap space to reserve. + + + The size of the stack to commit. + A number representing the size of the stack to commit. + + + The size of the stack to reserve. Only is committed; the rest is made available one page at a time until the reserve size is reached. + A number representing the size of the stack to reserve. + + + The subsystem that is required to run this image. + A instance. + + + Defines a type that reads PE (Portable Executable) and COFF (Common Object File Format) headers from a stream. + + + Instantiates a new instance of the class that reads the PE headers from the current location in the specified stream. + A stream containing the PE image starting at the stream's current position and ending at the end of the stream. + The data read from the stream has an invalid format. + Error reading from the stream. + The stream does not support seek operations. + + is . + + + Instantiates a new instance of the class that reads the PE headers from a stream that represents a PE image of a specified size. + A stream containing PE image of the given size starting at its current position. + The size of the PE image. + The data read from the stream has an invalid format. + Error reading from the stream. + The stream does not support seek operations. + + is . + + is negative or extends past the end of the stream. + + + Instantiates a new instance of the class that reads the PE headers from a stream that represents a PE image of a specified size and indicates whether the PE image has been loaded into memory. + The stream containing PE image of the given size starting at its current position. + The size of the PE image. + + if the PE image has been loaded into memory by the OS loader; otherwise, . + The data read from the stream has invalid format. + Error reading from the stream. + The stream does not support seek operations. + + is . + + is negative or extends past the end of the stream. + + + Searches sections of the PE image for the section that contains the specified Relative Virtual Address. + The relative virtual address to search for. + The index of the section that contains , or -1 if there the search is unsuccessful. + + + Gets the offset (in bytes) from the start of the image to the given directory data. + The PE directory entry. + When the method returns, contains the offset from the start of the image to the given directory data. + + if the directory data is found; otherwise. + + + Gets the COFF header of the image. + The COFF header of the image. + + + Gets the byte offset from the start of the PE image to the start of the COFF header. + The byte offset from the start of the PE image to the start of the COFF header. + + + Gets the COR header. + The COR header, or if the image does not have one. + + + Gets the byte offset from the start of the image to the COR header. + The byte offset from the start of the image to the COR header, or -1 if the image does not have a COR header. + + + Gets a value that indicates whether the image is Coff only. + + if the image is Coff only; otherwise, . + + + Gets a value that indicates whether the image represents a Windows console application. + + if the image is a Windows console applications; otherwise, . + + + Gets a value that indicates whether the image represents a dynamic link library. + + if the image is a DLL; otherwise, . + + + Gets a value that indicates whether the image represents an executable. + + if the image is an executable; otherwise, . + + + Gets the size of the CLI metadata. + the size of the CLI metadata, or 0 if the image does not contain metadata. + + + Gets the offset (in bytes) from the start of the PE image to the start of the CLI metadata. + The offset (in bytes) from the start of the PE image to the start of the CLI metadata, or -1 if the image does not contain metadata. + + + Gets the image's PE header. + The image's PE header, or if the image is COFF only. + + + Gets the byte offset of the header from the start of the image. + The byte offset of the header from the start of the image. + + + Gets the PE section headers. + An array containing the PE section headers. + + + + + + + Reads the contents of the entire block into an array. + An immutable byte array. + + + Reads the contents of a part of the block into an array. + The starting position in the block. + The number of bytes to read. + The specified range is not contained within the block. + An immutable array of bytes. + + + Creates a for a blob spanning the entire block. + A reader for a blob spanning the entire block. + + + Creates a for a blob spanning a part of the block. + The starting position in the block. + The number of bytes in the portion of the block. + The specified range is not contained within the block. + A reader for a blob spanning a portion of the block. + + + Gets the length of the block. + The length of the block. + + + Gets a pointer to the first byte of the block. + A pointer to the first byte of the block. + + + Provides a reader for Portable Executable format (PE) files. + + + Creates a Portable Executable reader over a PE image stored in memory. + A pointer to the start of the PE image. + The size of the PE image. + + is . + + is negative. + + + Creates a Portable Executable reader over a PE image stored in memory. A flag indicates whether the image has already been loaded into memory. + A pointer to the start of the PE image. + The size of the PE image. + + if the PE image has been loaded into memory by the OS loader; otherwise, . + + is . + + is negative. + + + Creates a Portable Executable reader over a PE image stored in a byte array. + An immutable array of bytes representing the PE image. + + is . + + + Creates a Portable Executable reader over a PE image stored in a stream. + PE image stream. + + is . + + + Creates a Portable Executable reader over a PE image stored in a stream beginning at its current position and ending at the end of the stream. + A PE image stream. + Options specifying how sections of the PE image are read from the stream. + + is . + + has an invalid value. + Error reading from the stream (only when prefetching data). + + is specified, and the PE headers of the image are invalid. + + + Creates a Portable Executable reader over a PE image of the given size beginning at the stream's current position. + A PE image stream. + Options specifying how sections of the PE image are read from the stream. + The PE image size. + + is negative or extends past the end of the stream. + Error reading from the stream (only when prefetching data). + + is specified, and the PE headers of the image are invalid. + + + Disposes all memory allocated by the reader. + + + Gets a object containing the entire PE image. + The entire PE image is not available. + A memory block that contains the entire PE image. + + + Loads a PE section that contains CLI metadata. + The PE image doesn't contain metadata ( returns ). + The PE headers contain invalid data. + IO error while reading from the underlying stream. + A memory block that contains the CLI metadata. + + + Loads the PE section that contains the specified relative virtual address into memory and returns a memory block that starts at that address and ends at the end of the containing section. + The Relative Virtual Address of the data to read. + The PE headers contain invalid data. + An IO error occurred while reading from the underlying stream. + The PE image is not available. + + is negative. + A memory block that starats at and ends at the end of the containing section, or an empty block if doesn't represent a location in any of the PE sections of this PE image. + + + Loads the PE section with the specified name into memory and returns a memory block that spans the section. + The name of the section. + + is . + The PE image is not available. + A memory block that spans the section, or an empty block if no section of the given exists in this PE image. + + + Reads the data pointed to by the specified Debug Directory entry and interprets it as CodeView. + A Debug Directory entry instance. + + is not a CodeView entry. + Bad format of the data. + IO error while reading from the underlying stream. + The PE image is not available. + A code view debug directory data instance. + + + Reads all Debug Directory table entries. + Bad format of the entry. + IO error while reading from the underlying stream. + The PE image is not available. + An array of Debug Directory table entries. + + + Reads the data pointed to by the specified Debug Directory entry and interprets it as an Embedded Portable PDB blob. + The Debug Directory entry whose data is to be read. + + is not a entry. + Bad format of the data. + PE image not available. + The provider of a metadata reader for reading a Portable PDB image. + + + Reads the data pointed to by the specified Debug Directory entry and interprets it as a PDB Checksum entry. + The Debug Directory entry whose data is to be read. + + is not a PDB Checksum entry. + Bad format of the data. + IO error while reading from the underlying stream. + The PE image is not available. + The PDB Checksum entry. + + + Opens a Portable PDB associated with this PE image. + The path to the PE image. The path is used to locate the PDB file located in the directory containing the PE file. + If specified, called to open a for a given file path. The provider is expected to either return a readable and seekable , or if the target file doesn't exist or should be ignored for some reason. The provider should throw if it fails to open the file due to an unexpected IO error. + If successful, a new instance of to be used to read the Portable PDB,. + If successful and the PDB is found in a file, the path to the file, or if the PDB is embedded in the PE image itself. + + or is . + The stream returned from doesn't support read and seek operations. + No matching PDB file was found due to an error: The PE image or the PDB is invalid. + No matching PDB file was found due to an error: An IO error occurred while reading the PE image or the PDB. + + if the PE image has a PDB associated with it and the PDB has been successfully opened; otherwise, . + + + Gets a value that indicates if the PE image contains CLI metadata. + The PE headers contain invalid data. + Error reading from the underlying stream. + + if the PE image contains CLI metadata; otherwise, . + + + Gets a value that indicates if the reader can access the entire PE image. + + if the reader can access the entire PE image; otherwise, . + + + Gets a value that indicates if the PE image has been loaded into memory by the OS loader. + + if the PE image has been loaded into memory by the OS loader; otherwise, . + + + Gets the PE headers. + The headers contain invalid data. + Error reading from the stream. + The PE headers for this PE image. + + + Provides options that specify how sections of a PE image are read from a stream. + + + By default, the stream is disposed when the is disposed, and sections of the PE image are read lazily. + + + Indicates that the underlying PE image has been loaded into memory by the OS loader. + + + Keeps the stream open when the is disposed. + + + Reads the entire image into memory right away. closes the stream automatically by the time the constructor returns unless is specified. + + + + Reads the metadata section into memory right away. + Reading from other sections of the file is not allowed ( is thrown by the ). + + closes the stream automatically by the time the constructor returns unless is specified. The underlying file may be closed and even deleted after is constructed. + + + + Defines the base class for a PE resource section builder. Derive from to provide serialization logic for native resources. + + + Initializes a new instance of the class. + + + Serializes the specified resource. + A blob that contains the data to serialize. + The location to which to serialize . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Provides information about the section header of a PE/COFF file. + + + Gets the name of the section. + The name of the section. + + + Gets the number of line-number entries for the section. + The number of line-number entries for the section. + + + Gets the number of relocation entries for the section. + The number of relocation entries for the section. Its value is zero for PE images. + + + Gets the file pointer to the beginning of line-number entries for the section. + The file pointer to the beginning of line-number entries for the section, or zero if there are no COFF line numbers. + + + Gets the file pointer to the first page of the section within the COFF file. + The file pointer to the first page of the section within the COFF file. + + + Gets the file pointer to the beginning of relocation entries for the section. + The file pointer to the beginning of relocation entries for the section. It is set to zero for PE images or if there are no relocations. + + + Gets the flags that describe the characteristics of the section. + The flags that describe the characteristics of the section. + + + Gets the size of the section (for object files) or the size of the initialized data on disk (for image files). + The size of the section (for object files) or the size of the initialized data on disk (for image files). + + + Gets the virtual addess of the section. + The virtual address of the section. + + + Gets the total size of the section when loaded into memory. + The total size of the section when loaded into memory. + + + + + + + + + + Describes the subsystem requirement for the image. + + + Extensible Firmware Interface (EFI) application. + + + EFI driver with boot services. + + + EFI ROM image. + + + EFI driver with run-time services. + + + The image doesn't require a subsystem. + + + The image is a native Win9x driver. + + + The image runs in the OS/2 character subsystem. + + + The image runs in the Posix character subsystem. + + + Unknown subsystem. + + + Boot application. + + + The image runs in the Windows CE subsystem. + + + The image runs in the Windows character subsystem. + + + The image runs in the Windows GUI subsystem. + + + Xbox system. + + + \ No newline at end of file diff --git a/Denombrements/bin/Debug/System.Runtime.CompilerServices.Unsafe.dll b/Denombrements/bin/Debug/System.Runtime.CompilerServices.Unsafe.dll new file mode 100755 index 0000000000000000000000000000000000000000..1908d925a3162b60ec13b3f4d54f605dc8d1dc87 GIT binary patch literal 16768 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�YGrOyR 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 NXP8vX4Zi>8{{feYTRs2) literal 0 HcmV?d00001 diff --git a/Denombrements/bin/Debug/System.Runtime.CompilerServices.Unsafe.xml b/Denombrements/bin/Debug/System.Runtime.CompilerServices.Unsafe.xml new file mode 100755 index 0000000..1fddcce --- /dev/null +++ b/Denombrements/bin/Debug/System.Runtime.CompilerServices.Unsafe.xml @@ -0,0 +1,258 @@ + + + + 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 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. + + + 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, . + + + + + + + + + + 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 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. + + + 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/Denombrements/bin/Debug/System.Runtime.InteropServices.RuntimeInformation.dll b/Denombrements/bin/Debug/System.Runtime.InteropServices.RuntimeInformation.dll new file mode 100755 index 0000000000000000000000000000000000000000..360e92aa6970382a8c4ad85fe37887c08dcaec2f GIT binary patch literal 33256 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 K@c-Ds&;J4QsUjW# literal 0 HcmV?d00001 diff --git a/Denombrements/bin/Debug/System.Text.Encodings.Web.dll b/Denombrements/bin/Debug/System.Text.Encodings.Web.dll new file mode 100755 index 0000000000000000000000000000000000000000..8599b3949ae2f5cf8148f88616d89df35ebad22b GIT binary patch literal 68472 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 fQ=ztv-^ + + + 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). + + + 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/Denombrements/bin/Debug/System.Text.Json.dll b/Denombrements/bin/Debug/System.Text.Json.dll new file mode 100755 index 0000000000000000000000000000000000000000..8c53363a81844f7177e1b591aa0e89af40901f89 GIT binary patch literal 355720 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�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 + + + 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 byte 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 byte 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 character 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 . + + + 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 the method returns, contains the byte equivalent of the current JSON number if the conversion succeeded. + 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. + 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 equivalent to the current JSON string. + 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. + 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. + 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. + 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 the method returns, contains the 16-bit integer equivalent of the current JSON number if the conversion succeeded. + 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-biut integer value equivalent to the current JSON number. + 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. + 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 the method returns, contains the signed byte equivalent of the current JSON number if the conversion succeeded. + 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. + 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 the method returns, contains the unsigned 16-bit integer equivalent of the current JSON number if the conversion succeeded. + 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. + 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. + This value's is not . + The parent has been disposed. + + if the number can be represented as a ; otherwise, . + + + 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. + + 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. + + + 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. + + 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. + + + 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. + + + Defines a custom exception object that is thrown when invalid JSON text is encountered, when 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. + + + 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. + + + 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 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. + + + 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. + + + 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 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. + + + 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. + + + 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. + + + 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. + + + 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. + + + 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. + + + 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. + + + 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. + + + 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. + + + 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 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 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. + + + Specifies what default options are used by . + + + Specifies that general-purpose values should be used. These are the same settings applied if a isn't specified. + + + Specifies that values should be used more appropriate to web-based scenarios. + + + 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 . + + + 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, or if there is no converter. + + + 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 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. + + + Specifies a condition to determine 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 determines 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. + + to ignore null values during serialization and deserialization; otherwise, see langword="false" />. + + + Determines whether read-only fields are ignored during serialization. A property is read-only if it isn't marked with the keyword. The default value is . + This property is set after serialization or deserialization has occurred. + + if read-only fields should be ignored during serialization; otherwise. + + + Gets a value that determines whether read-only properties are ignored during serialization. The default value is . + This property was set after serialization or deserialization has occurred. + + to ignore read-only properties during serialization; otherwise, . + + + Determines whether fields are handled serialization and deserialization. + The default value is . + This property is set after serialization or deserialization has occurred. + + + 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. + + + Specifies how number types should be handled when serializing or deserializing. + This property is set after serialization or deserialization has occurred. + + + Gets or sets a value that determines whether a property's name uses a case-insensitive comparison during deserialization. The default value is . + + to compare property names using case-insensitive comparison; 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. + + + Configures how object references are handled when reading and writing JSON. + + + Gets or sets a value that defines 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 should pretty print 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 ). + + + 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. + + to format the JSON output; to write without any extra white space. The default is . + + + Gets or sets a value that indicates whether the should skip structural validation and allow the user to write invalid JSON. + + to skip structural validation and allow invalid JSON; to throw an on any attempt to write invalid JSON. + + + 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, . + + + 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. + + + 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. + + + Indicates whether should be passed to the converter on serialization, and whether should be passed on deserialization. + + + 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 overidden 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 . + + + 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. + + + Instantiates a new instance of the class. + + + Prevents a property from being serialized or deserialized. + + + Initializes a new instance of . + + + Specifies the condition that must be met before a property will be ignored. + + + Controls how the ignores properties on serialization and deserialization. + + + Property will always be ignored. + + + Property will always be serialized and deserialized, regardless of configuration. + + + Property will only be ignored if it is . + + + If the value is , the property is ignored during serialization. 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 . + + + 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. + + + 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. + + + 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. + + if the type can be converted; otherwise, . + + + Creates a converter for the specified type. + The type handled by the converter. + The serialization options to use. + A converter for which is compatible with . + + + This class 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. + + + Metadata properties will be honored when deserializing JSON objects and arrays into reference types and written when serializing reference types. This is necessary to create round-trippable JSON from objects that contain cycles or duplicate references. + + + This class 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 . + + + Creates a new of type used for each serialization call. + The new resolver to use for serialization and deserialization. + + + This class 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. + An object that contains 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. + Defines 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. + An object that contains 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. + Defines 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. + + + 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 or greater than . + 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, transcoded 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 or greater than . + 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 or greater than . + 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 or greater than . + 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 or greater than . + 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 or greater than . + 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 or greater than . + 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 or greater than . + The UTF-8 encoded token value parsed to a . + + + Reads the next JSON token value from the source, unescaped, and transcoded 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 or greater than . + 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 or greater than . + 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 or greater than . + 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 parsed value. + 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 parsed value. + 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 parsed value. + 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 parsed value. + 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 parsed value. + 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 parsed value. + 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 parsed value. + 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 parsed value. + 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 parsed value. + 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 parsed value. + 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 parsed value. + 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 parsed value. + 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 parsed value. + 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 parsed value. + 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 the mode of this instance of the which 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 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 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 specififed 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/Denombrements/bin/Debug/System.Threading.Tasks.Extensions.dll b/Denombrements/bin/Debug/System.Threading.Tasks.Extensions.dll new file mode 100755 index 0000000000000000000000000000000000000000..eeec92852705946904d0e2fa0443d454075781f5 GIT binary patch literal 25984 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 X8xk??{<$qV(@xwRy_&qqMCktjQv_f` literal 0 HcmV?d00001 diff --git a/Denombrements/bin/Debug/System.Threading.Tasks.Extensions.xml b/Denombrements/bin/Debug/System.Threading.Tasks.Extensions.xml new file mode 100755 index 0000000..1ee5def --- /dev/null +++ b/Denombrements/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/Denombrements/bin/Debug/System.ValueTuple.dll b/Denombrements/bin/Debug/System.ValueTuple.dll new file mode 100755 index 0000000000000000000000000000000000000000..4ce28fdeac6da139573ed0ff356c2df510692cee GIT binary patch literal 25232 zcmeHv2Urx#(&%g;XAwl=0um%Fvr9%na*!w>K~P-SB?#=|?jk`&f}kjh3P>`5ihzoU z7*IsTh+@Q?P%xpOBIbmzW{HM#?s@n9=R5a)?;n_&uAc7d>h9|5>gt|#pRo!dAP7Q) z`}=nUX@DnoS@YnZgH(7eu5wTu*&}pbwE^dLUez};ibINHvm)5ESW*~`$z*X!p$rl` zo=J*glI%TwNUEs}!jlBI zHQWdy$qVBL_{JhI{&`m_K!`u;jDvbvXJSdQ|B>e)ibcUC4s<=SfHi_F6~+RC7cjWW z3c|AyL=+y06a-NmeD#+eBm@y0l~53H=TSJB%Shw`9yta8yyMjs_#SqO+>_ai7#1YNUSm9CZGfo3J?gSX5Zh5GFKCOkD_j_Fc!UqhS49wC zF$59f#Ue--8QKeIeT42v9gO?4$D9-#bcTk$l%_URpPvI+g*8&KI2~bG9RyK82?*Br z5F<5KSQ{SvcoqQ?3AYn8+Yy4ED4t)Q1-&V(hbQRp>)?2OheyOE5dsjzl@Rn)wSg$V z-WWU^a>o(0`602k001340V@=qI-3U4jOQhhTLB4i8nXCJ8si9?c(#{IE)*s4OQg_ zBxnS&y#xvH+R$;rsl23!tVgAQA3J37Q=_c05pOoQcppUGI(Ca z!aiJf6f=T@rQkx%&cRcCx({Lvd}B?h?lj%S9-dx+6M+eJ+Za|T;MfJF;{0Vc31wqN ze#RMM@`VM*!wpG!q6Bq8Kr9e>xTWF7-eWfu&AW$i?1`nto(K{|7kCOlxjKg9Q2^jR{!3G{I7@x6Y`}dbm?F_oEI+aqhfzC+ z%Y-zVcnsR{;Ab9O$Af!$@F6b^!V6#GQKmr*#vvO6z%33*1yP%ioPqWo!R8VMFe&67 zfrz6ZOAtYv7YWO;TJQ`(6o*5i0TV=4BWsCLfW`6N-Vax~-MrZ?=pc+mFCyqo8Vum<*z~Tq7rwE3n^RU%&?+D6(Vf8o( zErUngp>8;&mKRP2I20a8GZ2r335YT;*UvFTgbcm^3VKfpARj0dz)^0D2&4JebXct9h`P2g`Y| zng{E6@Bj}s1N4FZc|`~S?xGQM92wytwgBfNG=Le%9DvJ_cz}64SjvN&ksOHGj#L7y zM@|E5M7{z%j)>#QNGq}v;1y&K4_@NICwLo>;jj3`h%P_`hlOWBTj8Ls&J)z&p^4K1 zXo}MV*p2AnAQ8OBgCy_)6oMYbLq7^Z>k?B3#s?;BSpHDt8bIih;S0sVFy>t(9;AV^ zgM1(ZSQd<%5o{ccnGp;Jqhkb<`Ty{(uGifH4NK0p6{L*!H8v#4~*3 z<6;=IDM%az8HH1kIO=HJ5Q#G!jT?oW+i%Va-B|`NLH93{Dt3ir09*lCWol)8b>eHZf5&&d6JyXgS0%u$K3r z#WF^{8fXAsncj>TS|Tqr>irOJUTlzS;=D%Ohz zMyw5+O-uS6k=QsIbJUALX~W0>N1;(MQQT2)LGp&WWnh}dWN|P=A83I=>=!8{(_>i;C85nTnfgWP8eHiR{ zQDKac_k(0P$e#{7vX3{|vI7H~gA9l)Rx4OHa1a_BEF6cq@w6BYG9V<0Tm}=9P7X31 ztNc)HTp39m7%a>%8W$O&=ExIP#4~gbG}v$~q~xhxK0Qq1`q+R)5P`%au?PcUB3#4) zNkqaR90%bjgavUSh#$;mF_4CV_yUZBFau^qCZuCQZZ=?HklGjKxi|aDHO#t4Cg;P^;5+!!e$2`4VjPr~EHrIh#) zytufMB3?-mCM|JsaUN9UM+oBLii!dV5qkg%xuhmSKAa#%LdqNqiemuJN5TU&f&flD zwG1=riKz&Z59RZNL5bnsJ~k9=s>AFl*Q^t*iN2*q2lvTOl0!Nt_3y3kF-N#W8I#I~ zt+y715HCt(&YfPhX63et-QT1xHr7n46z{KW+N>5cXN9S-+ZDoxvCh%VLu!GUTg{x5 zneXPFTeF2W8EN>;xUP8NLF?l;Vd$AM6`PFd8x>wnI5%>O*xiUM*iOHUX0V@eh>Uww7@Ngmg>y-EEOs0V z^f)$r5fvOFKm6+0P7>L}!I$I+N{ErbVn>6?k3$TORg;F3jLuCak!)gONIb>HA%Voh z;A7Cqu*kw8qDEvBGS$SGVoXL&5F~X2*t$id<4D%F@li2c+awDTJ%$#lZ*TAC zVdLb08k@sgHjNn;X#r$G{csotR5FER?ZXbUgE47AisW+RI2Hy55mDU8_)u~fE7pL{ z;xZXr1DMhn;fV%ZHiKbch|)rVh48RYBST{&V`FM4-N?+GVnQ*ep`moT8HIr|Lg}I5 zu)e|C8c~3D!Wv+>{zLj3T3H5%hzx2MY%(MIvg2WxVXPKI^GN#ox#>44cQrbq`|4p5?hABpB~8$rmT22!;(2L z69 z2=V!m8{21Rh-#f~ zZfPZ&6<%)6K3?#$p-?tD#pIOBlZnd`w>cdxcqAr1O>}O96EwlF&kO7JWVrJwaKqx- z+sEFgdR78gl0e{@%6_Ol}=4f^C9BFl7*IXdcW79vEN2p;1f&R_Gi98)lNH z4;i4H*L0BPfwB6F3NnC^X=EDwOFTJ_9*UR@dV`=a#0v|Pu+XoU?WlAJ5&~+>J|@PU z24)Fw)G!!4vt=OPcMYJz^WywU=YM1VvswVh>nJ&xB!1+Jr;?FhU4R1$%WE*PFDyo9 zTO-I@m|KUgw?rcd`XN3%yU79ZhL8(*Ts;7H0q8j3eMOpxulg}dfgcP8ek3nqDF2kf z07i01Jr2FIhX9Ue1+jrn)UX{E4)zgtO~8x~u*2A3M=`;Yih<{l6~{|}>>~O?5*+XZ z1|d)YllV83P+l4o>Ob&j1gm&x3-E1>fxLE5TI{gBh&kYV!1BZFHU`9!|G-Lf11H;1 z-Z&nANzfWJ9vzG~ci<)rcwzx177`BBNW7BRU{hjN=IENZ@%R{O0edKy!^;~r%4)@E z{uRC~z{`glZUaA{1xtcK%NL_z1T`{&n+nhv{5-}GMj?z{19ieIVXW?Kcw%<)NUi>L z`DBC+IWYfbI${8PxB;CA9u=&Wp#%h}hBo=@?L>yuB(Rz>`lL~GI6Mq% zGmPhX0O?RC?DFOHk>_AqOggao47D?cVXK6{(yk-*@&ykn4)Fq-EGQ?Qw^A5sq2KlU zPT-FWt>^&!kf3y|@3C?dcya)CA>xNC{)OhxJ@-fbMnbG%Qy?B%H3r($7FyT>O2K-8 z22!q%*ux(-dOg7c!N#i%;sl(a(C_Au4$C_*y27AOu$3>XoKfMKJS z!7IlQc)~aykjijK7Yed!2z(mBZ47*b0wp8F4EUx%DhfPlkOzyULo5ZTpm1Y&C{V{P zGqC<~P-70SF0l|F1MNeC_V{sBU~P-SZOD5f2;BieNT3UcE)w6ruLHls^>^#Q)W4tu zga1F$fs_A3bl_r;@PAqd>H!C%c^H^Yu@M{#~uRw?{KI$6$HAH;A1__A~>7DPqk zaX5+yD#XvHD^9@6^C74kzpySpj)+S)#p8%&R_J7O+^84{REU6sGYOmUsR*h%Dj#ud zV*QC(L7U%GnWgqthMwZ)If_$}vUHhrG@W=1O($$CBj9m(ytE;-!qIj;OM(1HE(4DF zqo~+0V>muwA%VvcVLFjt8b95KB8^J%10pCb>`&uF!X5yZ#iU50;#j1Bw178*9?N3V zDaxoK79%YEd-p3v6;;9B6Qt!v9IU>ufvE4prNzdPyzFdH<#A#Z6Vx0vrI;F<8KW}* zH5-MZX}kXx&O}jRj585wf{mvgMGMs!z?7MGQE`#rIX`rm!upC8)PqsUpB~%eh@wDns4SL$3kmI>ai>- z{Cd&L*%Hi!YC9)Y_4VGJSds7keRi<1+#I2|`rWOalQ!IS&RL7ok2Ag#-TQ&FQsV1% zStW13n$%>&*KBHy;==NkOY(Gu_!5uDsy@@5rrW`Mkadz7{WN{;<>fm%b4@=)E%cwF z;q3B0_w55qi;ONu#)YYIPcyxnpU&$4x-D&uuEV~X%ez!rrz68!kK;k0ahua|LeL_7 zs1h`(k~mS8I98^A>TSd9E8{b-(F0H1^|6uk+;7YiAtiO994ebSR^901EpNv-;TP6l z=6$Kx-F4i!UIO*S@~aTtQCHNZ%&E*F%MNp&gZDg)9Yc;C+85wC(c_|{uvi0dd}2G9 z9E0I*#Ke*(l^~R4NP-6N3&Nn};}gK)h;Haq)OiR;@mZ4x3rI*v_+0@E_McGZqS6?@ z8bnM42a6yGjusafk035MWPGP}Bh}66nf9TUL-w_;dq1CzHm-15^ZH7p+gn;V)twVC zVO_<$fNuGX=V^?5RVV%{B^o8mvqR>ucwQ*9b^Hg08%_1!%ErBU%iXw1DjI;oWieI@r$$F6pOMLzDg% zU7?Pu4h;H{og~;MqBBT7Q4vhgjl+7(6g8tzs3?U(F&@xkBPg1d@wf0MhKgXkiAWRO zJ-xh#6f)rt6!O1ROjQ&6uS&LjpDw(i7$JD)-raTN)Ao9kd`d$^hGtgNbpu7K(*fIZSp{Eae62jC(0shhZJdXi<^CYQ;6*oPywg9}xK-!~ z|ALoA{nnq*hUk847Pr3Px|z$FOG^X{DEIdr^4NT7!~W3uesS@h5l8sWZQgkpS#wOm ztDH7T62aAFU7GmD`klnB%@Y3G!-T5tR?m6rWLJ4u=7gozmM%Z%aO$7AMq!@>Bm9p;WB9_@s5IRC6=bP?tgr4L4^PhwFzi=%~ICm0_Y!Gcl&? z)6ETyQFCMSaM;58K?Al*b)9Y7BO8D_V@fuZl|A5ABCLY?VTGy?JyFnsWuODI9R9B~ zAP6&vGAO0m+zvEtNxagl#_#VaZ?he%;ISIf38HIUS-!Vzdu*) z+p-6rAL!o?>1$7*-@mMQy)yZ!isoLM&o7T_7rZu~ZTq?7qZ&Tls?1xlJ>oSBXsfd}II9+}-tt+8jdgqRo!!>uUCyB+Ofa zrt=*Fg|}ru;R(|WHL;VS2txU(vCt5nfhH`pMl(CFPmhipFH3+eV#;{TZX6XUG(7oH z^if?*@CecqhG#sIHw#XZ+reZN6&?j=Iv6CIcy1&M+X&=YWhiQ9NTE_;zm*Ewj5>%? zG4!8QwExPs+RY9O9*@$GD3#16k!*|S`NUW$TxXqYef>PTzfe~4!F>yEhWvhmGHTEF z_G7jl>etxF9bOIl&<#(@gdfCy4K0g!hVy-BAX& z$BXo@;ZE$FXW)BpEE@Q+ZAIv})-xfF6t4qX(vPgsi|mP#+G?jwJuJ(pmaEQ}oAGA` zd-$bm>+n(cyWa2&d)lTS`r5(r=?+2Uy<_=?%RxDsK3&P%ruI2rG@Wd=VNXJE#kdVC zTBUORCO7X83L#t>Qem?|h0Q=EFwG#1!+j_6p#*r0QeVH-B-m`CBtay?!XXPC!!IQhM z*!-Z&#CN36w)WF1e5@h;Ri{JPry%gr7SwA%m${&zKFjRNY_g{ObzL?r?`#n5FpzAX z7V{m_TA;<8QAgB%2nQ`@_Sdx7z|j(Hz+mGAsQ#+I@HiyU+-i}gV{JFfx{kVcPPe!L zv&!W|cS!sTw@Lap>}o{%Tc7DuHmjdo;8m2WI&+7mf!o1NRetLp#x*wV`IxlVh5f@8 z8~jRoebh5`wxlcOb><5w^>uoD%qc(HC0()FqeY=DmtCMUH?~y%qhhbm^@ww7--DIT zZ^~)X+MN{UXTNFM`A^R_2l(A9#XHy=guK1I^J+Sk`E^Ty^rP;mr`4PE4!7t^iZfOg z-+8y`^B7GbhFSjWWRi= zPuQko-m>Z@N2Gu9-o3(5mZ2=Z?4D#h{VnT)_4AT$3L6QmkOJud(9*h#X6Ui95dmb~By zpK5YvfsIzw@x0uEGb?VEs_qmEUe~*6XI5l}=p6mVdC`c{+L}Ju`R`>jCLCCLaZZ&J z#h~Qw!?~6>kd#oT%NLfOX^{IY&R)^H*|HXIJ?DE=>Do@oD#<;jUV_(;TcYXw0-(QN z4e4*$NNkS+zH#{{^fzjX8o}ocRAWQb9Mj(v9tvMP0Q%1@_y3jl-dG+}cmIy_8l45v z>-cUGdrBqR^#TwU>6;5;uL? z8j}}sL;J3y&#tUXkF_1iT062lr+bS&BItdYvuYK}T=FImUH>`ddSQK+YGKO9Ht9El z`+Z`)_c*ND=!{Ht3YXHF7+zKQ=n8+@)J>ljS4ugJ6-wW@_{H?Zeq4!?mtZC$i8{X6 z->&Z1ctYQIW36(c4JF}R>HSF=dF3?xUL~=*uOCWx<1VPV`hNe!cl;PhWJr5&2kl+? zXWIL>E8!osx8$%A2JH>{96{5HFx{$7Ok0Jftw zSI2D1i4AS=$G3Wrq`ivoC0lp;H`WG}D0V2}vUW5k_AS5EGYR*y^Kh;(U&{*T&R!px zd!F0ZJbJof&b8F$C;5H+2APCst92%*#eI4I^-*FmS?q&AXWStu=m z^iNI`e;yhuSBSKlWc*(R49I`P$}(uqd=3G$(5ER|zb(tAZt>os1qtAG5dXW`z5TdKIm4IU@w zs*ll}Covy?Fv~0Bfo|>eZxZYmVJRxMpbH7(x+l$wqwO}=+X>s|bUd~fJQkveZ<-4zLj%9ZFJlY;+x%Ac} z+njpGu)Zy$#_aCDKdmK4{Y-e%dZi^}=y*&0+Q8g~N2-ta?m8Q`C()Phstws|NB*vg z#O?KEYvbi_tyv-+uVz545@ePIh*4A&od=2T^@YEF<99m3tOUEo-m(R z7G9uC{4RbnDEOwkLix?l1{31`lCGVBrfV+(UoQ&7?Voc@@Vvjj_)SKf z&t++wFmr9tNi9U6h>mhS6T!bb;+htrh@+$5%3#LeP(~sJj6t0=<;>b68xC{fEP3jf zDU-&{ecy-Ljv^sSffaDs*withvIu0qRPjg+)M>NZAhP{t`i&BL=F`QUS@nBYp1sxPjO@NPr$=>K-Wx-IFeY z)zccv;?L=oZa*JTaLlyRcir<+^k$Vw?d1TEll#S==lXgcy56dt8q%@#)RFbg^HVQJ z1k_~5FPJA3v_o-2e$)rS_9n7GPEZkbV}_gC^Sh~`3hVMeD^Jb{?PWf*yervvJfQ`- z{?SM!TBl@<*m>H0Ax4$`#5nOsWPC@rCNnX!BI)Y4u&dE%UY=`D@7VZVqIH`$IWnsE zRHuB5SBT5*%b%O@aMuoF`g!lg)kSyKgpKumCu*H|QLf_(detd~9oJEwuBnEm<0p*t z06!%iF9T6hJegbhkInJF-)|TtaWhf55v~aokzqst2l6&7QG65$-ev%tu?B~PIn`vw zFY?y6Z<+6t4Nr)Z)Jap@UB6{4GPgf9T2{c5ipfe*i^s$MuwAE0FL}4EtUAEZdVH(* zY;e>9UB?`^U8RzFVaHaV8(Wp~Vdm*hhjrB{)6;tGnV-Ij-##*X{+rvU?>+mr!*a~i zb;ey%@w!(|cE`8v4xaWvlhCE7<>-~&*%=tKTg)NE!{v(6&S{Tz>$Tt4WsTh+STFIO zwR4*LQO&|FZQIHZD1R*UQ$1$iYH(*gC5al5ulk~7;u3}Zk(@5YH1`Wda|*v~m}#`) z$*o5PEd>w0iRIC>quMeiBz_8Xe%_m$dE+tr^1URE+sck7t@qfyC$3+&GN80J$C}BJ zOxtZs^*!%X^4?^RGo>E;`tafB%jH_!)N{9THhNo)*}kD-pF5ha{(fW-!Z(-c>Q5l9 zbGWUsy(#r85Oon`ha!PB;p{AD9D_i_!*D}`M>50y6y^x}!~H3qt724MBI&AW6ngQ* zk#Ttf9`cg!s*<{LLjo3PRF=;u@VYU9z_Be$7XwYnj|0Q`*@&kXIq@v}V{)3;Gx&TS zt`nnsRRmZ{`CGiH+NdU2NZ=(=8S#?*?CB+84ql#vWYFD9MX5%k+`T*$<^C=F4eq!7 z+wR?^%Niye7sxG1O_KSlIr}Snsov+en+un&b=<$XH6+`>!jP=II`Q*@YL#@{-sD#K zLxi)A-6xAbd?70JWeR^+W0vig}rv)=fFO;i{U(Y@EfQz^;YrDI;`+8#kiqAE(ms&O* zP}vz;c;w{bx>Y-`*XmyJ{bGFk{Mqi*GP-A+hzgd$AMzs z7OZP|GUH+9yXz$qDl4}>T0E}#`q_<2xYOU9E2Y;M7OFZ^KOUQ~3E6$v=WGUZVo=&E zGiK_W#vW;r?jh?s6|Cz81Fi@SY-4FyzTE_IL(T!hXjgCR_0Yu^XPZC&9&s$Vt)+4M z{^Qa`f8EtKIpU|99$$rzT`hHU}(SVPm17zr4mJZw7Np}^g*Yfce+N)H|7SI9`{hJRXZzr{${#l zwQ=uGwU*ooTho@`*HU~Gu9R&>{_an3Z)RqcQM>ol8+iH6&k=oiJy}yi zXRSjeHN$GHmA^}ZdUk)EIGM}@yYRl5-wc4!LCw4w>au|0m)FW-L zue{UBqKep~Os!KNwNzSOkg7%MUSAL?$?u%AJ}RT!)WEE8FNI3?iy>4+t?I~$5l zwB)q1oH~w@^Iz1x--X8Z%yFrDwsu}ili-Q|N$+-YO!;^FT^xV4@m>DeC5nBib8w#f z6w)~LSAx{0SOm!3U-~lQgiEEtU5(|Ivo7@**{@bQv|4mty49-_H}%Vj_?6C|UfsiA zBy2*{1(Lx79y;Vb5nt8D)BS{>gau7o`nM=o@Nf?(|A`~Y|BqedBhvr{JS}Ea_^4~Z z&tk$uDR71X{4D?UG?kA3^&kQsJBWaXg9tF@w)cK!ODd9UZZfx}OS&5!?AsThy3tla zC;Hh8uWb$dX7WUrgNu%fD&I4WJ~ig1NUzzkV*Xt%=GSmzDYjR##ggbtQu1d{h^gJ+ zvhG>rthW25KD&kWj@RC**4>#bRC{A>;Mv*oe9yw?by2-F#~3`_F6ec!-hThgn1eeRcbv*dMjJ|_OH%{DI7AB#8#X9ff!*&6&Yr#nsE)$=M9WIkjIGk_! z>dQmj8ImgQe%hOo*$>88?01=U^Ti9h)fuVo->RQ_rJi6}x4U+YSxVdbRK0f|eydfDHIADz>5F_0u9K)4ufDkT?Lk7;iVq>Z zm%NYU} zEAJC~{ijSI^j=O5GPtJxFm9&AG{=Pck4VR%9r*N+J4a>en-s22cYSJJF7Zs=<&a#1 z{Q`$a&Bxiv57X}I|IuBGGJH+Z~VyX%l+SxiyegX>FkhTToD&yIVB{^~Ir zIhyg?$>>k~{6Dy&e%Xb!>0s+y;3=!@4vgjV=y+avnsQk^+X$V3B~T&4OoV!t zxtF}c`8$Jb<%(oYJN zH~U8PWmObC@J*5@U%APRP%9N#E7cLUrr37v!nP#QRn3eLvYyq)jo-%Pe$?tN+3x9Epf0_2IMPb?KG zuI^Pz$T#nNMn7Y3nV78pMtb4aRosjfZ(B9-jylJdNj7e&<`XS_5&1ciTu`PnMJGDI zB}_#qiaDcb?W2shM|0me>b8HKbg9Ys6;os9<65m3m+rk0uPxRtEOHmO6zLPpzOHhd zD%aV2QvX8GhCMFk!l#6fovPXSc=xS4GE1j91ej6hYRNCEd#m-aUC)9PRkS-WJCez& z+|NC3&BwnLr=x9^K1JF+T;yoI`@4?ZMT#t$g$|YT9$V`$HXonq9h!AqDa@oW>;COG zANyp>OSC%9R}@})IWx@WVUWPOC06_i{FnLb;#I~TrqTBH-aVy2Jbd5gw7B-mc7{Pu z;rsI7wKtLL<&I5(Zwf1fT%9G0Q&lb@6HnHaR!nh7P&Pi*wrSJGq zH^s)zIpfWd7EAUzPf3?)L(^q0@SFz)|MbK);6wP$8gSIovMj9`PALixIiSW9Dd6PB z{rk==gW=_{5RsxrB<=5;vmtoDyZffznX}8z+!uY=B_nsYu}(CknkAcNv8M8Ga%?Tw zS0fi=vuxkd9o)Qe;*?ueUAeIv%?jUbS~C67m3tq|M5Y#Xn4J!klXP^djWj-_;4E@e zvFhcNT&07xt=r=pMefdO?K%@HC+*t2%%7aF%YOP5uQ_(gq>g1i+nkmpH5NQ0I=vzZ z;rNqJ-F#R(F8xH|jLYvEyH;=Q+hN0f9NZ`0Ki_c!Xa1?k50d=Foa-4*YM&{I&E1N6 za+6=wf7pAC$@RW@aK>`&UYBAvv+s+AP?KI$7g=!OS;p(M0|H5guUa!5G@XxH2}m@* z`L-{@^{$1E0y@p3)xL9;&&iDyt)J+-k`Kh{yfZv0M;7b0b)ld8uy9&Ebw}m6Z7ViP zonJV$JYCuaO_z2UUXu|B;INQ3hB(S_4`B`qY4CqZE8}s5UmX_dxXJt?LxLd*K8tjm zE;xd;V3tz{85tzKI8c~?gQG4#dOL`uaaZ47d_i=+H=S>NSM}8H2NL(Gs}^<7tCpr# zzNc%rAH?&|Xt%n${J5Mn%r0i=pnuBHlx%8bI0F@c0#fmWr)6mkThjLa)8|*sj12Ad z4NV7>X|VTh6|2qWp4UtTPTbkz$vdHgZ$*u4E#;krS+GCo>Fii(Ybe1XyhA?cM1 zXlP&^YA^A6_R__^cA_`j8_WdjZSUpnxXwZSHPbgch+TUA&MEEukqNV@0ka+Z0-Um_ zi^dBur<(haa|T?KxXwSd zMX!Zf1TUkkdSf?#fuq7n!^jz#vD5$T%*kK3MX$a0Yt8N26dW3P*)o4s(2WZvawq;@ zPuC6GikQ;{)kjVAsfIi|^nc)V-5<~f8?=mPgJK7N(hAVDHE3Gy4`yf@YB_90;$$g* zXoh;Zx(wK$c3wUPgFmbE7mQG^AB<4!OYpyBgbF-aI!&ze)PtfaX>$pd>o=FHvg*6H zo_j|*e37rSy8p9(?0B^P*varSbMC);+MC#Px@v>Q!%v4^MEm*+>P}0yAM@paPtLiw zv&Sr(ch1_{ru1&`xbMNAW{op0n&9WkePt`zQhQ|4sYQLJ3ujDG>?=;1y4oA5HIo?k z&LAm`ajSZ7^rO=k-k(iISgxr31hvT*Ul1zR<_1nYwC@|SBW@#gs@AvZwFdqB94@l)r9t)H(NdwkvIO_M(_TDW%3s>H3a zZ5``ADSb7&ng8}wh49*}ElnHbcM@$g8uq4^s+p1YYCNX*e0X~#B`i=wBAIONKX23A zZT!n5vSkm_Dy3RWZi+jVq@KKVzVgzmg&DmaljaKDpUEv!6QteV<)zGOdfkECe@YS9 zl4tRO;gs0*vC4V-hjw-fEt-{3oz_|@w8Oly=Tz&>^gZnJN^cu7amuM*6tZ=E&36ag zZV{VaoVO+|D$Sp`T=SvOPVQ5;uNyP=JBruIK_5_!1pQxt(DzlBp^L*B+MKRayNlISnX0}*nd`w9B&^)C8 zEj4b`c}j_EHeVXwtbcph#rt-Sss9DK#G8db`15}|ZT&wU-3CJgzFNVKZVyZ@;L)f2 zPfad=K>KG`{=YgB!}IUM=PZK7auov04cHUn^;VJ=mRi>J#SE2OXFkQAyc{1s(BaAH@8>=tlfW;x88;CPVh_S%Hyy?)=LNBKEtCT`E( zc9@-h&vcoxrv0N^HjI^* zZ4buk}&p*OJ}k>4XGuyoT^r*q!D7y~~458p5#79@)?*$RIN< zj`%foNK8D-7N>uRpOh%C*8LV+pQjz(lGcc(HT*4x_rLmv&%@V;_YEJ_#Kc(N$j;DF z-_F?Hfuf5}9I)5bezey~KD-}3CAq^-kir*$cJR~R(W9puI81=&L)t5JSg4wu#L&_Y zH8(PX&wYj?;9Evs1eyRA*1*{rSZBhXy8)Pf!h;0B^A2J7fjc}^0S||=Va*6(d7ps< zTj#&R5}1t2j;FxZ^zh*u-omv^7!|~_5tLJl%7?>?Q-5Na_hALU$AvVtNo~#gJr}+9ehd&y&P%wrpY~z%5>IJ9ed&*n zEOyx2Z(HhFrZVYZ<)Yf4%^LTF>f0-f-1X{nIv&=S#FidO$G74>@sBa+^Um41<>R@g z+fg6(zj8lX+HcgtkVi=pMb0y;UMW6PDsFDsw!PF(AV?lD%#7Ua_Vkrto{z%$Ezj;< z=$<%v!o?|Xly*|SOfTnGA|IX8e^Oyr(XQJfceWp2vA%J_?D#Q3H{#SKr?IqVPl+$G z^D66St!qn(QZW%fuv7G8_~i9MhUZTaa_l^=_h{G5buXJ+FDGqJ*c)K$4<}>Z!O(ln z8+v*F>^gA3we=gbX0&T79Y;mwhrJzeDogAKe+K%quS!R_EoHZ<)bnsyFNt0Rv6-ROnGqG(#`mX!a*#)6Y( z^+!8}PF`G{zs}YiRnYo4wf*&ZtI?7VlMZ(Bhw8T{6c+|t>`Ak?-u(2C(7E;WsY6A_ z{mp!{6%VEEjy>ho-S+U_9cSwR<|0?u3-jqKE=*0 + + + System.ValueTuple + + + + diff --git a/Denombrements/obj/Debug/.NETFramework,Version=v4.7.2.AssemblyAttributes.cs b/Denombrements/obj/Debug/.NETFramework,Version=v4.7.2.AssemblyAttributes.cs new file mode 100644 index 0000000..3871b18 --- /dev/null +++ b/Denombrements/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/Denombrements/obj/Debug/Denombrements.csproj.AssemblyReference.cache b/Denombrements/obj/Debug/Denombrements.csproj.AssemblyReference.cache new file mode 100644 index 0000000000000000000000000000000000000000..067cd6dad14049784c7fd55e885ccc312777455b GIT binary patch literal 16625 zcmeHO4{#LK8Q+ylWS}8X(g77P#0-U+?B#NoFosqEL$#asY+J(OlMj|u~gi@QH{pYvW z4o{_NIzMpMO&@t-;W^k1IiU)$?g+jVF6fw^}%o-X^< zp=Yjt=fIH{BQ^VqiUvI|PU)C8Xa7SFl#^{E` z0LzLuaAGVh@O20rrlPF4J|2+(nsq!Emqa#FR=h6mkAwqjxSm#_gX8N$ezuYec&gl9 zFIUNiDu7gqE`TSRo*In>1Q8%igFzDy1e~K!2983V`sMB|8*cNwvkzW?00xo@eLXRW zi!#le#M~!Iof!%I#h2T9XI-3jk5*uQLSRO6NFBRf?pO;Kif{o5K*uz35*uVCmd=AW zBpjqcllnMMmR&DIWZ5yMAsUTKtUtm{So%y^dMmd}VphilK1m{EEIvs6J^#?`PySH; z_WiI8o+RAgmN+kkqa5So#4ymt-7JJF7&h7^(9MF&x{0=?I4TcBYk$b;OvJyCjZ>DiK2?z_?(|2f`EDZ{Zfx zmH8C83B%!%g<-G}6hbG!yekawVC3%`_>dq*lV?ENcccE3_*fv{vWbfdVvjNcC{8QV zDqUvC;+DrlAz*bBdDytZuEE2SJkX3TV47F9t`gZO*DZ)0NM1g?9{hg-4q$cHI^!`B znf$203(j^n;FLRo4U5ymRKUNsHh+aXR28ZTxm>}j3f9f)TQYc^=({-Hd(t&Ll|suy zTC;~?A`OXTU5u<$rgG9UFC$?TJ*^8uA45){xVJgen&M*cGvopyQq#y?{ z%glBpbs2F4oo2$beBc!)Wl2H5)0IXYU&RL4AaoKE3l1KDezHNAF@NPIh;OiCdJ};r z8{QT5njU~}OVc|Cw_doh@$B*8vBS*XV}-|W7Q8=lbI0gokA5_zE3&8YiT(x8Fa7(I z!x#Vh%G*y4RnJ~{%j46JbmQDk@4V` z#?Kvm<=H0|Z}pcQ>I$nDC|t~4 zC0=e7P}x1!du#+^F2KYjU-B7XsmCAYK^*Uox9eBrdLh~wj&P#l@vi4%Y=~2sNj-Xb zb({2O7``vk!Dw)4N(`ZJHD~N)sS!tUq^`h+y;|%3EL>a?E{>@mMz6v5Q!@^-<87XC z@YmF^Re`E%SFPK_Rd{RVMUA4rmPryQZ8XVL!5BcB8%p0Ct1h+Ua`(0b=Q0deCqT6| zkDMLc)%uj@rIWWWol9L_`tgYuMr$d_@rCN6R|bcB+Z=BcKD=}NPx}uXTXOa0tT%rB z+|r{nK0f-J!zGa&`)j5(zB%RJMfY{^FPCh3_$S`4F5s{4Jm3EedoOkB2KUyy*WVd@ z?^>YZwShaA?OFfBJ3cHuzhusGw5TdWu`(3LikULv_9?dA9mL~J}og)PuYNBo@tcRQizB! zLnm|9Y)IToovDc{=C(`}Qy!|E6<|C-7hPIS)cuYjp?){!z3arEpt;9^nNeaPXLRlU zWGs@W%$>DzL452}E+}kw76c$>JyQ*{3<0^dLXO6*vt+xBy;R}_IqLz?ZRv1QiDTI+ z>$79XxWJr?eZ&EhjEoz+8$7J$(bDF>5~8dNvoj3}@iJc)wq&6`i6kvDpB{qwlz&zf zM75qK!^;`txlY!I1QMzWz~#=xxXk@fqGJMUK9f=f=E%csjz>XRCJd;iu8%i(aH@Y09x%<_klblRU5S5q{(=b31vallx3Nl}iMbU&tI4n~WJNB`r2H@#Umn^^0#v+4qnTA5W{JqmHz_BhCt*b2c3YMT;RfyQ)K7Npap zYjHK*(DNg;Rk+8mTP){*GAY#O4E?ss^dn%TGH{ale3?1u>F7vWMJAs|3H=3g7jQqF zjT*^mV}pFBPNk}_DaSQWqstWS`hSKMQ;ZH{O-m2CU0Me%lzna{6n1zb1k;x?WCm$A zpMW(EBqWqTB!z1hBq+42UR>_Y`y+HHY}f>oGqzsRG0+@Qm5hm)CtD{3ZL(3*Zrc42 z*gR`rNe(*JBiIhj2$)>!8w0e`kpzNoLb`)-#XMVy29;#JxJ){U*F()3PAIGD?_d>V zD-}k)Y|Fg|4QVNhbqj4tT*(InxDPMJY~=iCsUoF;2~8C{ajs<5?}tzU@HSaDQd=iw z{E$_ZN2?3m2H@AF>38i+u0qTf!!fIRpK$%M&2^wi-p*aVCaEWRW{4Ssln5Uf5W9Rm zn==nq+&zD`S_3!oB4w#m)>^o;J+YZh+3KrQd8r>=Ix#qcbVMv{O34 zB>&;lE*b+^GTcUxZUiI~X{%`i-L;wwp6H_y_7!xX!kUNQd$Wm-)ZLo;M+pqeGHEVR z+#0o1lLh~B#)b#64ad7(Q=ZpQjk<@aghib!jk@hQR;x;aO)B!Uux5i-OTIm97s$ek zP))in(_e$V2u%xxljqvTS+(nd zXoP7D^E(ySkWlTyZIs0xlhR;DtyjCSX3br*8Ku##Trt=OxSBEW&1y3D2PMCD3e|ObGC^eJpEIg=&Wg254!BMkF&+rFubB Vp9~z^V^=YTJWukvw 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 YIir*ZRW_3ZBTdXm|h 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 + + + + + + + + + + + + + \ No newline at end of file diff --git a/Denombrements/obj/Debug/Denombrements.pdb b/Denombrements/obj/Debug/Denombrements.pdb new file mode 100644 index 0000000000000000000000000000000000000000..51b4eb0482e9396f619ce5ca6d5ceaff77526cfb GIT binary patch literal 1264 zcmZuxU1%It6h8Ov?Ck7s5|Xr1tKB9b5#wrNq@sfwrRKRix0Y!PGW3k$IQ%b zjf!D6O|n@j8ng)Z$+Sox4ABxLik47p3yL(hPr;Wer1ghVA45g)yLTsc1uvX)&-a~s zzkBYS%Oo?qlZ+UN5rOrmlJP=E;!#PEN^c-|4%XU#L>JsQur4fbeUoS%bCbwrTzfb- ze@&$^R|)AM^i@5GIiT9jhyR*`fY2- z&YFn6|57j6uoQWS^&`)`!C%k6dv$aD-`4*JP=L+ zKCY2(yiLXH9}S5fv?$s8#eTJVa+qtXXp+?45Q)%Ep#-^zI7OjG9>N>`S8k`2Lr)cY zOx@F0Blmv_ky-_C%gn@*FI-hkhA#vd$5;xus_ptdu@nB{K4jd!Bm(M;T(MTln4?OsZ&;1b));n%Wp+rp^ zhg^BoE^5!>!pI885$;}YH;5gjUT+ zR_98~W_Lgw4ATrT1G=W6b-_KK z_Uo-OQaWGs^6{l~X0x1Qu5hZ7In33n@0+N8fSRgT2dRK~mVg`;m=g9`z=XR@$S|pS z!s1_`0n;EJe>}$y;cv~AB%sGE_DBY1Bz-H$3@T{%`Vz`9M{%3XLTLhO)5daoIkOr6 z3cg1s66j!jlQ|T|Id>h4JcM%0uxy*m`z3b461WEFXM)5(``I4ZX*3MezZj4OP{gxa zWnh1GxCA8qJ3;cr#m3spa^RI@drg2h_pDxE^2h5~Zdu*!Xk?2gR5pB576Fci0@opo zKFni)u|k0f7_DSJ(i1>B3lk|vH8oHaneJZgeC(%TTj^tC1bz)j$6;EDAV~l@2@_!zY1!8RtvB2Qhz{y)i|5MP5Mb z%;g*IYD~&uwr&qL&lPzI^$VA!oAZy&EAk532SdSs08LYu1$vGI5i^umBn4HU&q1r) zZL{(Ol5M + + + + + + + + + + + + + + \ No newline at end of file diff --git a/packages/Microsoft.Bcl.AsyncInterfaces.5.0.0/.signature.p7s b/packages/Microsoft.Bcl.AsyncInterfaces.5.0.0/.signature.p7s new file mode 100755 index 0000000000000000000000000000000000000000..211981ef18bfcda152a543e2cd0f1f77116cf3bf GIT binary patch literal 18703 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 literal 0 HcmV?d00001 diff --git a/packages/Microsoft.Bcl.AsyncInterfaces.5.0.0/Icon.png b/packages/Microsoft.Bcl.AsyncInterfaces.5.0.0/Icon.png new file mode 100755 index 0000000000000000000000000000000000000000..a0f1fdbf4d5eae0e561018cccee74f6a454cdb9c GIT binary patch literal 7006 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 literal 0 HcmV?d00001 diff --git a/packages/Microsoft.Bcl.AsyncInterfaces.5.0.0/LICENSE.TXT b/packages/Microsoft.Bcl.AsyncInterfaces.5.0.0/LICENSE.TXT new file mode 100755 index 0000000..fa3121d --- /dev/null +++ b/packages/Microsoft.Bcl.AsyncInterfaces.5.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.5.0.0/Microsoft.Bcl.AsyncInterfaces.5.0.0.nupkg b/packages/Microsoft.Bcl.AsyncInterfaces.5.0.0/Microsoft.Bcl.AsyncInterfaces.5.0.0.nupkg new file mode 100755 index 0000000000000000000000000000000000000000..bd94486f1cfa443c1c310ab3125cbed2234e3965 GIT binary patch literal 74074 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 z�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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. + + + 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. + + + 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. + + + + 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. + + + + diff --git a/packages/Microsoft.Bcl.AsyncInterfaces.5.0.0/lib/netstandard2.0/Microsoft.Bcl.AsyncInterfaces.dll b/packages/Microsoft.Bcl.AsyncInterfaces.5.0.0/lib/netstandard2.0/Microsoft.Bcl.AsyncInterfaces.dll new file mode 100755 index 0000000000000000000000000000000000000000..79fbfcc7ebf3596ada62661815ad34d52a230240 GIT binary patch literal 20872 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 literal 0 HcmV?d00001 diff --git a/packages/Microsoft.Bcl.AsyncInterfaces.5.0.0/lib/netstandard2.0/Microsoft.Bcl.AsyncInterfaces.xml b/packages/Microsoft.Bcl.AsyncInterfaces.5.0.0/lib/netstandard2.0/Microsoft.Bcl.AsyncInterfaces.xml new file mode 100755 index 0000000..81f3430 --- /dev/null +++ b/packages/Microsoft.Bcl.AsyncInterfaces.5.0.0/lib/netstandard2.0/Microsoft.Bcl.AsyncInterfaces.xml @@ -0,0 +1,223 @@ + + + + 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. + + + 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. + + + 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. + + + + 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. + + + + diff --git a/packages/Microsoft.Bcl.AsyncInterfaces.5.0.0/lib/netstandard2.1/Microsoft.Bcl.AsyncInterfaces.dll b/packages/Microsoft.Bcl.AsyncInterfaces.5.0.0/lib/netstandard2.1/Microsoft.Bcl.AsyncInterfaces.dll new file mode 100755 index 0000000000000000000000000000000000000000..be25bdb6cb438bd50bbbb0e80492f195484ff0dc GIT binary patch literal 14720 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 literal 0 HcmV?d00001 diff --git a/packages/Microsoft.Bcl.AsyncInterfaces.5.0.0/lib/netstandard2.1/Microsoft.Bcl.AsyncInterfaces.xml b/packages/Microsoft.Bcl.AsyncInterfaces.5.0.0/lib/netstandard2.1/Microsoft.Bcl.AsyncInterfaces.xml new file mode 100755 index 0000000..5ea2153 --- /dev/null +++ b/packages/Microsoft.Bcl.AsyncInterfaces.5.0.0/lib/netstandard2.1/Microsoft.Bcl.AsyncInterfaces.xml @@ -0,0 +1,8 @@ + + + + Microsoft.Bcl.AsyncInterfaces + + + + diff --git a/packages/Microsoft.Bcl.AsyncInterfaces.5.0.0/useSharedDesignerContext.txt b/packages/Microsoft.Bcl.AsyncInterfaces.5.0.0/useSharedDesignerContext.txt new file mode 100755 index 0000000..e69de29 diff --git a/packages/Microsoft.Bcl.AsyncInterfaces.5.0.0/version.txt b/packages/Microsoft.Bcl.AsyncInterfaces.5.0.0/version.txt new file mode 100755 index 0000000..357d548 --- /dev/null +++ b/packages/Microsoft.Bcl.AsyncInterfaces.5.0.0/version.txt @@ -0,0 +1 @@ +cf258a14b70ad9069470a108f13765e0e5988f51 diff --git a/packages/System.Buffers.4.5.1/.signature.p7s b/packages/System.Buffers.4.5.1/.signature.p7s new file mode 100755 index 0000000000000000000000000000000000000000..1bf2285c394915a0f2b99f2fee704f64f0d62b92 GIT binary patch literal 18702 zcmeHPc|25Y`!{16`z~Z1`_7pe*%Aq52_cabW2{+*G4_fXTS-L`i7cf>O130PvPa35 zrKBtg$(p6Y?~L%Ir}tTY%lrJ^&xe1w&%K=c+~>Z(*Z2Bf*8!09XyG(c5xNnx3=k@4 z8cFvnK+>IsLMV|;00W%HHbNKTKna6FHc z0gyw=ApxWuT24U@yd*nTo6h^HuS0XGb>UAnDeJE$(*_iC8!2mOBWSGee3dj{KfB_i6m&(Tkfh@sb;6{o7n8;-| za(NR#3H}23$QKx4958mBk&K+_bM+*otjVeC*9B9i+-sQt0dlo4j0@lh`E`T!`w)B$ z5Q+@OhdsTc<9&GVK>N6|S-fKhs(+`C-JQsh$+pfn`}0#9p0i67GbGqrv+l9%Z`mHI zr(>D0)rI@U?&1B_0k>E?oQPpP!8B@d@9&GrAWFCAOPrjwSrY0^2oo4`7>j({Q|_df ze`q9+MruTC)c?^j4e6;Ov90blCn5Lr4yHmjUAnbhw7lV7@RJE#MD-VY=Mkc8+{n(N zFVXznb`y{GIu*H$W?Zf7%#Fp%8lD`M%)UMaVGE9NUMniNS>Q9qY^zc=st7g`

E`Bfdk4A^?-)eP{ zXe59_AyH(z3tC;2@()D-|35YUNI)LMdC>SvtQmhZT}>3?hx4n2vv)w4xj1>acsP-n zz@MGtxt4t1U`Cc4CqJqdI;7r~#us08F6OGf(*7Jga3kdvs@-eYH)WGt(b+HOv>s>9 zpKMjy(ta;%JUJq>Lo}N)KtlESP?J+j^;b#pnwB8pxc*q-3o(AA`SdVhN7jAly@Xr| zu@VuNCr?Z#*`1a@zHUl}?fgNVPws~<_-L;tzg(3a~_R%PBDPoyK-OFi2&W>pt6d7X1`U{P&-W)zcdn;@z+sUY~ayGgN zAu2pVZLe;6p?s2wb-L;dQ+dV*8IxJ>ho#}UcA?&yB&vSpQ%AfJFPQAT)h?%AL*HE3 z(j$7l>AMLgL7sstRR^$=&FHe(r3T=j*@Z$VerKA=jEzqeMi0=!siol{tD~Z%1Oit7 zhCpEMfGZ%fS_U8yT+Rf7r>eX>4(si?j?4jCYptLWN-M3f7&6!MUe{25^>wejXgzH* z(bLkD!{P}5kw~7904xyj2UOFP(-b2VR)@m7Dg4!O+od|WjHOF zh(|2AQ9xmU6dIUgpI0*}lyR=tNsh(^p;KWTWK!7{QL+-|qg4wzD8heypO?=rGp zipk}nVvODV^+8Ud$&=F}cSNdd#HG?DCAd|+B%o??u~#08vh*gi?@kYNcFwtU-5O!t z>6J@=w&ccK6{~Y<(Q@9pVDsdu9C6r)6-i}Lv6yzP2A7d{-|8~Q@9cg-7d z)auH=8{Ia<&^-e|JimydHI6G>?p*A! zvzs<5&oOuQp{$rwP|z|8M1)&^#7VCDv9{?3Q|!A0D_%r(qZ0(qvu3eVhh^;^K+ z%dhJ1P_#YkjfzER9usKP@t@ZQd;4l0AW4pWCK{htq-GSqqP79 zFOVb>a2`nJWs(D-uHxN{@4)3*t|<(X(~P%GZ=JSIQyBV)wmpq{kC~lF1h2 zB1f85`g8HcnF!PLl4HfHwf6jZDcPqvXHVl#m1$nek9=7md>bVcQvy9&5FD*?Vm9ea z@Yk!pzKPWWnxnV95FLfJl8bml=akqJZaI)rmI7X(VTMoJAC%YmWryE#gwvgea}~TY zmhMYDTC_?#tH6~iUq@$t$#;HJevCDtaZ4ddz2$&9_ z1t@)2X+d&G3He*xkQxqmBGN-(5P%rAN+?09?GO0=MXGJI+6#b2>|A~DKcd=XlCVa% z$zIipQ?B$eZ>?uG2il1;`nQr>oVFmm!j(Pg}v~^aY@9L7L@>0#!)X$iD4_=K$ z?=69rcTV_xc9uidWIp23>>+x|6;>R%2PFhe2Yj`?DQ%}dtQ_(h?oK%D**-b0Uc75u zhp$YhY`7%}GjeQRfj;5XOhFrWcf(|wCM>;#I&1C|t1U!CJ=wlLmCo&TE!`$A^Y^&i zWFG9xG9%w@D%U%=(c9aYXny)^sgtPQZ_U7a`CT}=bKFFx%~54kJwvklX;&AaHqBDN zVnpy%n$U>Yap5g&n&%q`s)SF_H_z0Xn)&7*yqq3)zNO@xkZH+P&6c@`5KZZ0a9-BZ zdEgKYFj==b=FK^Gq4Q5~Po8`>D-P1ly&!ZduRtdiOTME;ucwdK-ls}-P1{(1TC#t{ zH~tQt3Tv`B=&vII1*F0%bP}WgTi8kVd6uzL(8y=E13?alcS4vtc;dWW2snHI!Y%-@ zhN;Mvwv=pt-u6#1^@hKD`Af&j#WKw{?)|Mv_w2haGO%ZAmN-fHOo`pL3e9W836u%(ullWOr5B6)wcTQNk_)sT>wC)|gy3Dr& z%^Qr837b@&gx7w|y_kAKp_v>1KK&{+BTKZCwQZnp=-fiJTeCfXzQvAxWBgnr)r4Z; zTJP2byJ`wvZxY^N`g{T1CeeGALH$CvISR(k8Z&%~d>yah*qDcNKHfD|kXrl%+2!aV z@)&j|7*nF`#N6Rj*g0N@czAeQIh(rcg|ntt__YI57T?WU6_r?Kas`SWg?E%5XA*6; zovI8`cvbP7Ws?o($bTDCyEF6(rChCTKXj{gT&e%aM0(TpYy(r5rHwz7FaGVAI$2)f z4Be{dAB5&E=ZV;@+BbA3_M+Av!A*599QHBbD8jC>Ugs%s>NC6_d?6d1s}B!JmN38Y z(!J`Ap~XSL(8jK%#16^BpKd>mFpNDg<7PU%mpQ23U+bJnn}kfMgiaI#(WuABt7pmc zRX>}plxrVqZugjxrT9(N6y+y-1d50|$D4CJ4|^&-)73efNRuW4_|W@Q&+J6aE%$T|lc{!wa2EmAlkc?5r&+~MF&(~GV5YpNo6uRGuoNI<7(1+_wwdT# zsNU|~RJA4TdQozl_3hlF>494!7dLY#J??qq-oY(96KEUAs=twEAx zr~#4;7~-T1VgDr)SRV#WBSA0#*IERUh7w7)R-l4_6mK;)NwW#b1fm}RppYs^vSz7d z1@Ob^Rw9=)%uwd#5bJLj;1E!XTfU3=0AkyZBg!L*RRHk`Kr91@4*_sqYvEfMLL&w;99m`D&iZ7}BwIxbYyGw* zlTRnL4k-Yo@WL0Lo&&@v!1pTQpD-Fw=09=*zz8Rd1fd8C87)t-o_E)zX~!K;$P+xM zL8}S~PqH3LXnOj#WpVG+!i?c;Lq_^TkrxlH*$+`HNwpk$$(Z8X*pX3iN&UVhBIj~a z1kIi;vRt2wFIGl=6|)R;nqE?wPk^w>mRr5Lc}rc6w-AN5i*NI>PP)L1Z+^}dHF#@| zsy|jNdnP{4F^3^FseW*&AL$~=uR!g!z=&f?nrzRAlIgm^Wo>$C!Y4>ya1{4c&qURT z|Msr>Yb5(nG~2Q62Nwd4SGwpqO!?<1&YOBRV)yzB@X6?&bI(!_{e-Q{am_2P(^qHt z($;GtRkXXHALijf*wTh?sVsQ=0UF^ZrYc3Z^9aV1#U`C3X$z3pcz%4}j7Sn2EqD>W zwr$8EeAZcj#5zR|;WMn;1E8@(|Iix(1GlmexU~FW1veA|fzvHZg>yO(Do#oONoEsk z`v-gnh+sWV-UiPwL*oO+Xkq5d3g> zS1?|`D)+B7AhXh~iimwK?ha-IjJqdU|a0>uESVeMQN;dh`E(miE z7hf=I1LL-m)c~sEE{-nPW&abQ`F#vRz;ddCGN3?yZ{#0xssq{gMWWDKRko^F0sraG z_h$i|8jRB6T!_LeyY|hOmMpEJg@s?*o{4RbNem5qZ@EP|x@u;?KD;2q>+5J~ao00L zih^2M@5~w(uXq6!wLERA9}RiuDN^idlQgo$>Or?JIwA8%hn zz$eQN#wYnY=O4=qCUHs!Q78p!qW#~Yd#9MWgCk`g&3vBS**j1cX?N0w!l0+ByWd9} zrK!sA<>69K=d+8t>1nfc{ENn~#XDT>qb&@-v9Sb%jUL`NqmW7snPL`&bLw|Z@C7=$ zCfYh)?Hp^CBTbBt(F|+XZ9dXV>49#^PBo{fnV~)sS8Vh8EqWr%cK)C^OTjme$&&p? zLPSr0XMMyxfSB|9tcmq$6>z|P)eD5s!!UqN`k}OgzyZJlFz29gamP40$UC_>0)l`5 zKn33<%}5F5hOwU=XyJ~?K7GcuqA}!1t1g#J&=xsBltXyMhjha^;pD)5>f#Na6mo`+ zys!82HS$Qmx$XD-zPRY_PBmj~dooOg@}+7@pxW}&NnG|C_2=g9QofgQ3hIyZ!!~&A znLozJ@Vd5mYq6&>_KV0Dx6tU_Dci79N%Ov__}E;(huKMwa{G~j)x`MyR*bn%T63=* z$ezH~-`~S`AVz;IhC@QY>JIZ);$CHXw}y%B6`!$v`F(W6B=`G2^P{^Da3+GiLSVWOwW;QzDHCn<880H2cpN@P3nH&54Do0{ki|71K#Kro-M<&*zmM#h*A*^?Ewjp!N9& znpm5{uz;;m{@GhlXNAjAnmh*>Z>r}u%)gW#E9&TP<8x@)7U#z9Izv%P_JdxbmP1W&<1o4z6b}djR28SOR0DoU1WXdpYj_cdXqq zreHn20nxQaP+$x9FPq^#F@W4^Gf*BA0<}T@)iUVHv95rY_wvy81 zG|4pa2+?(ozTe+x)fUU*!NBvf82F1YIQ6pd!N&pv5%em!S6A~GDcP9U2#YKVP*9dd z{{W3S*q2YQ7=`2CUVo@LC7Gcd9O7fQP7(d9*y%HTSGG-Ii#1ATk?~!t@iqT)T>EhM zYvZZ(TH=Y>>t{E=-ywPX{h{fM&i(dbUVv0LKZes0u^*ne<@6!1$+?7wGz+}3yX$&C zoTmKR5F`JR*3Ah0@nymJ+C4E?U6mbzmEA8rP9~}qCMJBi2`{3lJ8Nd486*FW-_Ypw zQ)Yj+ogU-&s^&1(rk{;wTu;yH2R@p5wm{k5IYW7asn2Yd*5_ljk6e~xIP7B49Ngkv zHRH^OoUV_TxCF9_`&22)o=3&iLtb63Q7&OJz17qgM`=rIn6@bH&W`$~k+9=k*~OEu z`c>FVyZT!yhNZ3Y<1Ni$$7+&33R9jAmug~uFu`Mkz}%(bZl z!u26<*bL{H>#}IM+{`f+O%qU=%EDWdZoP?DGhQEtf*-EoP=Y+TYJ-16{nxUQyPQsAaGJ>m zxtSW?z~jNeZ?g@V6`)8F#J3Jke~Guhi2d%moHKqu!zSaRZsQGc1Hor`#n z9AKX2*I#sKc+=|IXDaDKp)Z};P=D#eO~cs&&I9K(D~dEC-p@P^)>hkP&1uzlbz7T@ zSexLncOg#4?XruEMnL+5iww0sjWiENT3HZ zM;3Qhzk`5~B{J?^d`^)!PxorU!#^nTWJ>K4dDwLCUR;O$zz5FO&}K1wn=?WCa~F1! z={ns7eAaZRa#H%2AsL1SwV5PrtouCg3m-(`?EroT`*$Pn^PWjege1sL@nCLsLC@c8 zY_(8`ReYRzqIgnv_*>8D$j}A+U4r|<3(Y6FCJDKp?vM2k%P75w;xoBARXAUBDt*sr zU1wdb!9(OAZMEx@9oWOocOx$tEx?Cvu!&m_aOpwyatxIh-d?Wg9<&e6W=)Xw73v9k z^#o$sn_F0Xh(qGyQO)s};{9d{?dlCVCI!};(7eN#&?&v++dG}FB;wq%4}ZR$rgEWE z#Aa!*j9&LxUCnEN#Ib#CNoe3m5{DdkNorZy{bf92y}|{`VYPox*+ruiK&uNN(SN4w zLO}{i4<op@@O zFBMJwr|N0Jq-&c&E&3l6kpCzYx*{NR1$*Si>hP-2&L6xT>G;L&ZsnBBla!Z=W>0xt zQjZ{{%_ty-m*OhIVBF^-jkRSp`iaLi?p6=WRm7^%S1N2j?!-KiN%FqJ&T={MF#Py+ zHM7jUZ{uHPi^-WaJdP9cR=2Ln6qH3Z$W`WPI=Y>Def0Fcb2h?2tAdZAhGszdmy8tg z0~ZV0j&y%h_{1Jk-JFk8h3{t*vOPR*hPaS>A(KwHmZxufWGG?h2_~zi$)0himSd+{ zj_!TC04+_sW2Z4CMWA)o!8*G2rqF#-OSKw(#Wg&Zc3*Ntux~I0rhIVXhH*KVsoRjy zgt&AE*gARXkf4gKut<`=p@D&4S)+z=I*Co-pB0c(&$Jj`>g!ot8W9evkoC+G)^w4N z_w7H{TxxQxWxHzyl-;4oPG6$%>boOOPS;Ad^4B+Ypd91Z41o z-2cGn*M@++As}xE$QuIkhJd^wAa4lBeTY~Zmy%Oi3gZAf4~KJ20hDYgIK6Od!RDH^cQIH)s}zfnO- zgvVTu7<2YHDNgGd;AbQasl4Gk!70_xoG9{JXkSDXIn7$eY)v zCXADe%Lni6bz(~ue`b?7phDF?j=*9UGMMGE2a%&v{@7On r-VqGAQ6(U=OYix&dZVtLAy8WloXf~Ki$ literal 0 HcmV?d00001 diff --git a/packages/System.Buffers.4.5.1/LICENSE.TXT b/packages/System.Buffers.4.5.1/LICENSE.TXT new file mode 100755 index 0000000..fa3121d --- /dev/null +++ b/packages/System.Buffers.4.5.1/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/System.Buffers.4.5.1/System.Buffers.4.5.1.nupkg b/packages/System.Buffers.4.5.1/System.Buffers.4.5.1.nupkg new file mode 100755 index 0000000000000000000000000000000000000000..f7ee6b2d7a8c43944a5a401755506b9a794449d2 GIT binary patch literal 93737 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%0A~OZ-b@7O90DXT0c@hh2k-(gC!6RZNDgte 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 VSA1A~Xq)uh0^wu(F;p2s{|B2kf;9jD literal 0 HcmV?d00001 diff --git a/packages/System.Buffers.4.5.1/lib/net461/System.Buffers.xml b/packages/System.Buffers.4.5.1/lib/net461/System.Buffers.xml new file mode 100755 index 0000000..8a52c11 --- /dev/null +++ b/packages/System.Buffers.4.5.1/lib/net461/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/packages/System.Buffers.4.5.1/lib/netcoreapp2.0/_._ b/packages/System.Buffers.4.5.1/lib/netcoreapp2.0/_._ new file mode 100755 index 0000000..e69de29 diff --git a/packages/System.Buffers.4.5.1/lib/netstandard1.1/System.Buffers.dll b/packages/System.Buffers.4.5.1/lib/netstandard1.1/System.Buffers.dll new file mode 100755 index 0000000000000000000000000000000000000000..14e5c532c72f0d9d82a5dfbe0cd6239d2a3d54f1 GIT binary patch literal 20864 zcmeIa2V7Ih_BcNGrV^xAsR0BdLb#!0r6W>AKtTmDBmp9jU=jp$RY1kIc16SnHe~JH zb*<})eb=`3UQkzEU3>R;<|aX0-F@%-|9{`-z2E!%E}OY?&YU@O=FFKhXHMcK^q+

5mFHX{C*OKP56%`Z|Zb5-I(zC^50C^h_S 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 Wka#V4bE$fwsq#wND*6(E(EkB{hg8A< literal 0 HcmV?d00001 diff --git a/packages/System.Buffers.4.5.1/lib/netstandard1.1/System.Buffers.xml b/packages/System.Buffers.4.5.1/lib/netstandard1.1/System.Buffers.xml new file mode 100755 index 0000000..8a52c11 --- /dev/null +++ b/packages/System.Buffers.4.5.1/lib/netstandard1.1/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/packages/System.Buffers.4.5.1/lib/netstandard2.0/System.Buffers.dll b/packages/System.Buffers.4.5.1/lib/netstandard2.0/System.Buffers.dll new file mode 100755 index 0000000000000000000000000000000000000000..c0970c078522845d0ac9420f390fed5c29344d8c GIT binary patch literal 21376 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 + + 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/packages/System.Buffers.4.5.1/lib/uap10.0.16299/_._ b/packages/System.Buffers.4.5.1/lib/uap10.0.16299/_._ new file mode 100755 index 0000000..e69de29 diff --git a/packages/System.Buffers.4.5.1/ref/net45/System.Buffers.dll b/packages/System.Buffers.4.5.1/ref/net45/System.Buffers.dll new file mode 100755 index 0000000000000000000000000000000000000000..022667e83258c69abfbb2fbe8070ad347a4222d1 GIT binary patch literal 14720 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 + + 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/packages/System.Buffers.4.5.1/ref/netcoreapp2.0/_._ b/packages/System.Buffers.4.5.1/ref/netcoreapp2.0/_._ new file mode 100755 index 0000000..e69de29 diff --git a/packages/System.Buffers.4.5.1/ref/netstandard1.1/System.Buffers.dll b/packages/System.Buffers.4.5.1/ref/netstandard1.1/System.Buffers.dll new file mode 100755 index 0000000000000000000000000000000000000000..9daa0566f265380cf3dd4532a442b0da6266688f GIT binary patch literal 14712 zcmeHt2Ut@})9{`ogeFK4L23XCf`pUMQIU=a2vS8s3?V>-B$xy#79c8OZ-`(86tN>> zyB4rlRP2fs6>Okf5qtUO9Ex1^-uM2`|Gv-t{`dJ0oXO7Y?(FRB?C#7Y{$my)Dnf_` z@3(IV?SoI^aUtPfgDj|4HQKL=b}61W-iP^}Hx5bQOBl&wQM{NVU~oA?p-9Sz;W5N1 zLIz*R@CXQI2t=_wrizME-wxJ+o(TD2RCFc5e_ZEi50D8%8N(6k0ThLHYKaAWGT?QA z7a=vWOlg;!AQ1ACPZmI+`}Vv(@?(Po*MrVp8VlEI#*<7GN zhgTKeZjTF8GsV0l5i}%JM#zi^UcKP$_P8MA)(s_#(+R!8L&!!!awwL8Pz&f>ksx+^ zLSX(`-S9sv8dA*E5mGW&>XiXS4WfwLf=9Sv2qU`?@=dZ~;!JDYn&n84V!kk5LbT920> z03aJ7i5j|vGARBemJJw&Hc>_aq@X|s(JDuW1N|{Hn#A%IbkLRW7-Ii`-GRFH=cL>t z$`evQ1b$L(4CN(geJq2(W{^Ay)5DMvNJK%kgp!du30o;@Y83R8qKG)4D|LW$)CZsv z8c3E|ByrsVRN*7G_TYJ<+n-t&&)viSSy%I&?dSfYKji>3ryf5fYE9Sj*A`*n!-{AYNP&k4v=qnSlpS!WHwA|Ew~OlaeHLP2zJT z-@Cet1j+m)a?BuJ5+{u;b*pzxN)n|8a>PXv0SP#1q=9sx9j4%x5(mRdn6XJo9oErhBwgx8K|E=SScsThsYu*e z?ZM~73q=wspDXDkbx6Z(*DOyQ%o9)Ib9s^ubAdA#j1tg44*lK8LO5cuRS61+nE>nD zC9ourCw5EWCi0{ph){~SNj#32oC@L)7T?J)n8!^Kg96$&145x`yX94O7P{`VF=!MF zY%)YN28Jn683>bug1S0^suF-A$Dm-UswCA@VaKrOO!aF@PFY2$FKoIjgz|tRo!EK6}e8(gOPwd~M3lcWjr?UnqlP~Y_$o+vzM5;1dwgSVluZDP%m^_(GS-$&kc z{R4@OI)2d0UX5T(7K zpg?C}25@M}!<^ugqM*>xM1gD$voIuN525r97ju$FiiDnNTpqb`LK4KHR0#&{h`GYl ziQ`)nL#jWl7t+O$mOq~>7D+^LQii)ooGcQPy9Xg74C!`N9o^1gj`R#+c!A5tOBIO| z5wgY*^XMi zG=_^?3O`BemhQxeP2$9`Y%D!I!h!?BeMY)^d*XJEP%q{Pxd~3d7|ch)vtlz@43}Ur z*BwmKiIE_cCQF>Gtm667gp?R2S0u2C6-k9WsTEfw=EbF1NyR*#mAxI#inEEcW3z2> z2gkU$7`7uTmTMnt>%exj=Gw=^#MyFfV{PKV2Ouw0Jx~;(fi4AfZf#Jk7KW5NHVAQ! z(%^vMwNnFOK%Uq~7$ZvSpu&=T%OsWrrB8UtA^~XufEu4=@%!d)uU|Veo2nA{gvk^$2>e18mV0! zkwwU0JX3f9Vg7-HmFRd$HoBr|0kZ{;jV03JJg|`x1H)C)I4qQC<~J?H1gZixhS>6ohIhA zm?$%d($7z)+udFh4cpTrDaoJ17b1a#&@PWW>&e=0{eTG>!TikT-%Y{DfplQ={*iOL z=ZXJw| zL@+`Mtc$dpR(`e4+d(oWwDAP1Wx&XU@~})&LYv?oU_b4btGS=8n*o=-Kyf31C+67Z2+y1!@Y6PQ+itKC%LNL_ifnA1Po2 zl^7!qr2$6lQXc$SA$yRBu)jEvIu6Qg__GCy1IS72wiv)2p*|Kk*aNhM8iHa?;xSMk z2Q)6cu_OmjEwoSo-MWH Rc>CJA)J0DZLY-Ok-W=og2Vm@9D({8u~-@C#rf>j(c= z%;x`3;{Q+sWR88>bPJE{!p32TihQDhi~D#~VGd0Y1KO|vw2)tVzS zPvzau*D(BIH^<^_n%}c$S8aE!oS7-|eWm{`H8*tY<(L%LktMBT4~E%?9ZjC=E<9pw z=4wZ;(bzxj%saIeR`PWH;>3@odCQ&aXI+h4VW+XEe*T%twc8cm?G#W))G56l-J;n~ zD_y(B$jIZ{juoHl&2ODJ5+HsvHKIYoyKebZsaoJ%)%n?5{Xf{ma`j$4SzWN%yx6!g zbpFz*XTmR@zVuo@aPv709)0^4N*1%_*6GG19aqNMT^2TFJ_%*n8U4Pc~f7jkFbK-65ds+7>V5rzS872db zOv8;}tquCobnxC?*6gQ%(G|ef<>ch4RNR1Qpi1ja>vi`VIyScVE8eOBaZkU{3iNCf zJ!jz|M7282ANO7FgL|_qaSOtDlr{T)Hy$4dY#|zA1SIp?gK-JNk1yau&WhC=??p71 z(^O$w<2Z|LVPk8j71?HOdwY}Jf{kZWD9hT1H6n(^eTuw` zJagQMI2pp^)YMd_pfdwNM$5^Gd{MH*iYrdC0+}GF20I25CM-Cb0G7DDCGNn4dYsca zZw#Y_;=%Z+P8_G?c>c=)cw(vKUko9|dl354#ISEP3V7Im+|X1RWRmk*JQ`tz@51J)txYBBNe-*uH+0~QOUBNG-w(Tw$(Kj z$Ly!=TqJvD5%6krx<`nC5_VPV{7hx{HixuPrfV$h`(F&%s@!a%G3fSohX$Q@fnW0; zB&aT+nXL(N`8d8|r{U+rAvsC3+=Jz77d;BedH-4dq_^EPO|1`i_BQT{ds0yUb%n?0 z#NYSM_i-z0maEoMEPEtaskw9Qn$j}ykxz#zIeK>wZP@MYd~!w8>OFJsunnCXFK1~+ zt}U4Vd83+g)RR`Ran6i--(3qw8UHrZtRZZ6e~GT2hjde>^Ou}aV=DZ=YHzBXA8tGP zA+~j35`EWHuf5(^{pr>Z=@J`RYd}e*!=w|FLe|prAF4U+c zJr|l}Zv1KfcJ;G1))M6~=rtUE$uM#v0+CtB2LL_@rAsTe8Gi zWltt9lh43qaxv}KfD%V_(Pi>>qyAtlcy{i8xerN7l9p#vTy?Z$1f@w<>xB_zR1F56u1&#&uwY> zC|1*FZo4VmEK~Eh+5dXaXydhRdgh7G#sqHOM|aSr`Rva;*2D0wed0-to60Q?M+@mY zPCH)1da>ND%vMQ{oi#0QeBY$Olr!Ogw}I{R;S3~-fz72KX8cMDvY&F+fc;qX?ewE z>HA0bbb3t>5Ox4_EU4_zl(0E4XU1(H|yYGV`;x=9kV?(1I!%y6*!KtyEvs{ z$##9yvQ2SK9HR;KW9CUnl_^`gzmP;99t*)6qN{;F|$}6?6y)`4> zRg_e4`N8$vdCHwvVl!Nc&u}%mVuz=vh0(wnL*4GcUtUIix;pft(0UjuK~98- z^4yUtu1p;FJ!u4+9K2`O*)NAv;R^V}H7B-oqOcaZ|JF-xWc~B9Q>;s-vu*G(L=Phx z+(dXlk$;hIj!(xe1h>`C*Bp7r!4DCLuY1Uw2=*=PTG*^zmt8b&9nEHwm)*F|%MC8O zAUqHs*@?qt=k`~ZofWt9ruz&2QapPtAv}YYy&TWZ!?PE6DTztNv!~<3I)|fRy{-Rh zIO6h-6>%k2$zr~MBTnZgOPC2#0q)YpfP&i?vKa>5k}1&;c#9yQB~nZ2kbEN&R74_) z2z1+1S4@V%4+koF`^LY{DJ^&qlCI0Va#I>_vQjx;y`H-y@q4sn|sRJ-F# z;v;8y=D?MWL-k6p?lwrxbA0$L_Ke5Sv<%Z$&8Zs}NvF?$bFM$d%lzmZwFB!n$@N&- zobWM$xva>1n0ex8AFh!iUpS^9|MB!UhZnYbS={?Pxb~3kD`CIw4dnxxYwxzImKT~W zFYs3#s{C4E_I0CUY@LTKCoC_FU9-!_QR$@8(UaS@H|)H1TPt^z=V%A^!~wdQ6>kQ- zzc)%Z6$C$0;AK^lz(Qn5i$)n(A3LslmmZx9(U} zP)yD-1FqfjocndH?_c*WUNNBleChJqmr-2TM`Ptz&2pxv(l5~~QjB_4aX7nM?wr)4 zRo!d_Trp`9bc;%{8G3?XEn)OjfigQq51q^f97AL;J_#Zr!@~VA$}No71ci?#N61vrTqA2hvtM=>s`wIGFC*) z-EaCfR$+_wz42ye#|PVKMttp8!xb#ZU$Wn4;PR;(=G_ogeO}amdSv98O`7_8wRh{I zZilZED%M0PWa^ac8&Xw!F6{h%P20V#GjkWOcfKLcS?a23G&5sGz={W!o5hiP(q}S8 zUsUapz2-yC`Nh`z_=&SyL?}_QUnD4O!bi$`UQ#(zQ=DdSki8;peVwN5*7b)zGB_uvj)^`DKS3Ec zBIosGLmdq^4jv+#<;b#U*;zX>9UaEtv@8ntrYO61efD`g`|N+jEA5Ay!fgU^rT%xX z)K$O}gFD(Su4MJc`?fbT2ua{1@g$6p;9!Pl@JJ_DPqw?Ir#0KnlI7~<&gx)C?anR) zes^LSEaeE286Dq#7RgkH;4<3pkd?XBEi2P|smb%|1D5`cWLBnkcY7wXGE@E|3h0;_ zRny?R0=h}uk(0sOb22Oz%bE?l)7pk`#aXaitPb?QYJI@8fA;IUr+RAN>$QG4^n5@y zbLf^aLa&>U3TfPeVA3GWXU7d-b1e*n&MS|I@|xbL8o7< z2b$9E=EXKtkF(gP{Z#wBcY{&7&DZeL#-Yl8a7M3jog(M37PY!hp5mo z_rBQnn;Ue@yQtQ)%)CvDwW?bF&F~VV$$mw9&kflSfw-Ezrd{jrB&l+mxIBn>XkQdXBy6k1ug3N@;0S7mfo-2+1Jvbxt`nxx(lw0g2c6CW8dvCSoR>o^{-DEk$bFt5=GCu5wsRM9jAs1xQ6tgo7`lGY6rV4L_uS zhw_86{`ce{+7CV)k`8dvS=-s#5(l4cJ8DCq|M0Q=uTH8>1}XKi}Xzv{M3_~d= zesOemNX5maeoKxV-w<_)qbW2ysrw-(>%e`^XRjjz4En}vh;@zUl>5fc4veXY`jToi zv?V-c>!CSr{w|{~^;|`Fj?Zk1J50^@nD(mH_lvM$#o3CDuQSY*SS@uU>5KQ|D%d_v z)8Fx|@cfV`Rv!Dy-rR{jv>rRcP+XdJ{`0}ZXFQ_D^Yx+Qa$|32>h2v z)4wGGzxFol+`^|NkueFEhUP6Ad*i|io#X$vhhA5N+;QmHS+cGFU5DPE@P^2{h&boq z=Y!v95W{3I!Lt|sA^6V5hjyNS5PY-#^oR}g^=Xg1-2;QIVtM3GRsTll9r%aPoA|ZK z-wM6u8*@jgJUscJU|9A<>d@8eij75;FE-S)v8pc0J>2y5W4NFXUU~FH+?fgY+n%(f z9XhpfO}|GU4mKx-gezE#l6h!+`Ym`~&71KWb0*cexVWyo6RG_z^20c7+k(DfzS382 zYNyMqGf!r|wx2p?nEva+^bw1LP`N`-?KZ3QY~HO+yAvOuy72aF1`_$=9(_%QTx_P6 z<}ZvGcyP}bT7B|b_J{#rLd&hb?rB(HeIO=!#qDsHXTM)4j9WDC+k}|RyC+5{FYf=) zv8m69iQLtbjRnV6tt%PwF>`AEghgo^1efbqeK7d!a5L}C$x@~Kob`v+=x(REP2aaW zYo&<;V|TxX*rs=Hs;6-y`t{6UI)+awnYfugr|0b6`#ELm=T_WQ^nzbKCb=`az2=^Sf?I`UpXLU``+hHZY!K)rFY7>JYx6u zJ03%p2Tr_EeECG^BmTYcBbV;shriS``hQZXjtY3T+OUs<)xnFS<(RKjiUMuxUMUXH zzg9WT)=*)8o!#v#(F^ZMbA2?5Wt0n$ktKo^Jo|m|e_uFJVyXmFlc&pBs8T7qR4p{i zf9##t0Y!85#>jfyaQ;}+bT{9<2vTF&S?j0$!}nFUFQ(+=5Je8vzuOp(o9OiH4FBNM zfo(melR%J30-g$oOM8j|Voe&xvI196se=KLOH~3uq3GPFK>kynENghRH+cWy3DLl= zTXzcaZFE=8f(TwIMM}5=(Tyr!%qZ?GV>w0LT@w(Qnw^ajkLued^&hi^TlMn(G+UK# zbkU^Xl9?Ja9u3~P;Zs`p-eYG~W}S8~u`Ij9aj|w3RlV4SSENpjt-8FyNu{!EbmYfH zDih2LE^PR!=ph^DXFlMicp05fk*>M&G-UR~9X0uSAE(zUoC~|Va8m z8L&W|^W4k7t@8EL=`0yl1!6}<(xR9Cvn$%3O8Q0U+C7yd!$#n`T?q%sC8_)&rSMa_ zC^7a@mjCYajKT*OsS^yYu1d9=_;Fl~`SB(BA%2T{et~Sj$8HQLR;=vjc=i)K`!Sw< zh{l+1lJ|D~_<;(`BL}WDw!6ElLS^Q>35?UO2^UMoT|TntES_EPzhEo;T5*soGmUPH zf0&y4WqsS*tp(VgOA-0~$Hq{{8TT@}D0v^99@pI+-UFK%PIBD^4()wr%k-k`=ZhF)nh9?rAG?) z?wCvleZX_nTEa0{JkLKK3(hKiz^x${$&ySrU}#Z>L$7@zA$@P z?NFtC>sw|@iwEtybGWy2%TduK|0YgWdI67F@ANS5ftBr`16Ma|&EBcF-s#$&tNQ14 z2cEa97`elC*9lW4N>yup1^TvQX#5bN_Qw4OhYmTlB*`zZQR3_`-ZEb~wsz(J0N9LZ Ak^lez literal 0 HcmV?d00001 diff --git a/packages/System.Buffers.4.5.1/ref/netstandard1.1/System.Buffers.xml b/packages/System.Buffers.4.5.1/ref/netstandard1.1/System.Buffers.xml new file mode 100755 index 0000000..8a52c11 --- /dev/null +++ b/packages/System.Buffers.4.5.1/ref/netstandard1.1/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/packages/System.Buffers.4.5.1/ref/netstandard2.0/System.Buffers.dll b/packages/System.Buffers.4.5.1/ref/netstandard2.0/System.Buffers.dll new file mode 100755 index 0000000000000000000000000000000000000000..a294e52ddf10eae77e2aeb0d52cfcfdfd917d355 GIT binary patch literal 14720 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
+ + 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/packages/System.Buffers.4.5.1/ref/uap10.0.16299/_._ b/packages/System.Buffers.4.5.1/ref/uap10.0.16299/_._ new file mode 100755 index 0000000..e69de29 diff --git a/packages/System.Buffers.4.5.1/useSharedDesignerContext.txt b/packages/System.Buffers.4.5.1/useSharedDesignerContext.txt new file mode 100755 index 0000000..e69de29 diff --git a/packages/System.Buffers.4.5.1/version.txt b/packages/System.Buffers.4.5.1/version.txt new file mode 100755 index 0000000..5626c87 --- /dev/null +++ b/packages/System.Buffers.4.5.1/version.txt @@ -0,0 +1 @@ +7601f4f6225089ffb291dc7d58293c7bbf5c5d4f diff --git a/packages/System.Collections.Immutable.5.0.0/.signature.p7s b/packages/System.Collections.Immutable.5.0.0/.signature.p7s new file mode 100755 index 0000000000000000000000000000000000000000..d58ca5807f1603151b10ef49e40900cb948e3c4d GIT binary patch literal 18702 zcmeHPc|4R||2AWcec$)7Wgqtp*|KI=2#KT^yDY;Pd&P{9EhJGB zzW_wTIVgl2#R$;DsU4yXAui-FD1?FxaQ>|!B->5{MKCtK}IIHgWe&w+szK{^1-<2DWaVnL#_1WvHAgk zfs(V;4p(J$8k%e(pEp1xF9V3s^V#H32o%ah_x{ZwXQ%#B(xAgv-U&d3G_TbeLny#` zxu9qPYB;$S49*I*vP7{1tfT@BE1j-~n}?1I4v#SMaYAteoTSUNtV}^cK}ct?$_cDO zI$^z0qJS`|iky{qy@$5He*n(K8DXT0u)t#R2pw%efRi3jM4?c?_a9qMdU>$4Ui^1W zg9s7+@d1D@hMWjtBm;;L8YmG0A-loA-ZG#QVOJP4UFNXh$C7vR^_G*zuFkZ4MyN>G zIMB^UbYEdlLu1rR3nh-m#l1dHLl?;znv{G!?tO@*9qOpmEMo>*F|fI}M=d{h{NNX% zDGN;Bc|?ccyTYy|F6UO3efA4BTw5y*p5!Plc!sy#Qr4*Etx1sY>XhSJl3*;p9Qm@w zNB03{>nV<r}>9G)Fd-dZ1Q6@$omI_OQ)XmkjbA@3zT9Pu}^u<%Vyh<@~}L`Y*{_kcBL?GZkPTO}th?J2%j zlsL1s{L2pQyp6Mz92z?aI;2!SlaVBkWE1{g_YR#KS) zAP0W|{G zp|bDY*hD|hKh*hT)f~>X6Fsm!!0~3x=u~@G@1ElG%`I#a<@D(eb}Tz>241K~8tK`j zZ}s5GHyGJdA99VQ(~WSnFPvKK8o}#D&9X@ zL@hPCWi0sqVNL1jvMpP^?PDRgjrN^~P@KJ{E>_)qJN)4!HoAV%*?p8CdvbJp*TfVFY3QYiZ{Fn6FE7MB62D@h`5k*RK%5KxBM=Ap~RL7 zQICfYEvDGq;$rpMWOFVIACp0(-Q+Wlq3Wai{LaLI>;Bc+qMN=bS9w2;>%O_yTEd49 zHJ!*A+=k+NIxf>%+bPaYpAHNALc!)P(b-?^-1$rLSH5xg ziKRaOegqRCPrxVj2w)){qbtWQ6#xg1T_}X?cSkdcvGI$+=l~ixl{6e=b(G}fK*-wP z5D3g0@B~EH$^ayq%N>vRRh5&&I{Eu}} z=;>%9op5-7Kp;&>5Ecpq1FG4|*^1E$YeV6@6#nWsUcc`v|JVDPk*0uv83Ou%GMt7) z#G}7?kwIaA6d)~x_PV`KJ&Q(N zb-IghCA1II_sl{NEvHdV>Qp>j#e}nF^{Gtouatzv`0fRw(VU}Cj^!fDNvt-xu4ASW$TJ03c_zihuOYk6 z%^fs6e6P^ADv{}Dp7~D@JW%REDTAC-ab4;`gR&M{X_bQl_>H8K6<`LJK8%W$#u^m7 zK$3{Z`kSsJE$Rx97*J}$T5=3XQH%;0tu%I9G)(VQE# z#F4F&(;~h!8*PzOakyNy(OIA<>v|&RTp}*MO8aba%*zsy8))I=3h1Gd@C21(b7zi+ zf4LYKm{BjNJ$Azn(OKFkxr8%u&q_JwRRFoiT*4rvNS;k2o6u98<~ z()}5S%GPLS9r&cGH_(}1@}1w*pUGywqoduHep=Oecn(M~Qy(jU*ho<+BUVJk-%-?{ z?~vyU_yAk8<+D-Ia=+2UpQxU{I|eO_`7SHUI{C}Gp+KhT_4{r=vCDtaZ71o*2$&wA z11No0X+d&G4*6T$kO~fWBhW!$5P)!WjZlJAI~WN3i&Wcmtrq}|-oEz1|A=anNWwbZ zCPh`NLDeejrXzi*l}G^!ko|-MD|9o+(Md1}<62~FO!LS#^6jI{>7w&iY8uBa{NG

6DTt?rr(`0S2EHRRpr((WVpAxmox-iG4CWqI&?wiR z(BrSts~UN61~YniL4htkezv5Yr>A);TN{>BL3MTh6N>{xR3p=Q;5@C@>qc4%E~_DI zVJ5HB%PP~rZ7P?$w$VA;n`?jiY@?TS<=h@SC=C*V9X-3v*gOKDX6Xp_Q8;H!_1WvOo zn z>D|_J$9gh8eUQ-J zeE>Tij;T;~W9oD(?V5Oms64Q(npMN|RFcI70o~B7rMGjoWfeAgT%lrz;GOr5Fp9N0 zOxH#zysBworm*K6{cmGxPp(m^l&77;haR=g3r!yxiM`!VHZgTY+W15H;@^&`Q`I%@ z(5*(nVe&lHywL`#{lhm?PV4LxqImSoWj8&R?C2$y%e)nC{U&$9PhFQUG=@iHN?4tG z>0Niz#Co4lt!*riz%!rSm%U!yM)X=3B5Raf@zep zJm-mfzvZ!pYu-5==F=VYQ67RUv2S&(W?01I84sK;u~c3%Oz&z+Uk(vANf}X6V|gT7wxP9E9I$~lg4GP+dAB1OQYqA`K50Y#Ld z0*Er8#YrB)_Dd$P(FV;XLNEZ=x&ui~j-p*JP(nb8x8_Y!Q=k|@^aDV(54j-J^i#Oug&SHG%_6L{dG$^U1N-~>aA;K z+neqqYSe`QLi>*+%Ap8#0O27(r~(L;064F8`xb`KOoog^);V;rJlr|OTJwUXY1^{- zr&yi+3cx*h>9bEQ03i+tyomoN4h<;N9|ZxR!wDlo$Yj{PJ#u&|x2E^L4!?Ay>~1xK z5vb|Zw3|=s zp9*TPd1LwwsV0_s*t}%yiyZ}3VkI$DJvMncE)!pL$m5=X6?QB;+IzcHSYbnHetBs1b=nzeJ?9+QWZ5aV- zxN8$pGIByNCxm5Rbz$xSvxj#J+AyzKS@&Chg9PAA%l7SJ?I5daKTuuZcf^$Vdib2o z@qs;wizexPCliJXyF&!tGoHJO9KLX*$k*G;+btQ_tC2&LbO4B~yg$Bg1{9H%2D}Jg zUp6EQpJfgpvP_dKeEJP*06gsEf9MT?flFB!e6#{!1rHPgfzz%?h4Xq4N=|Zc*=}6- zFvRlL=7&6&RBRGCGV?>ZFipnP`t(7xktfck%<}D}d|(J=6CaD47r3oBA{ncut5ud} zjS59S;bKISHo)2@K-&VK87lxqh-+G_SwnU8-|c==e#obYG5q78Vb;yOvlplJI$R&m zxn&cgFA^dFLc~VCzz^_#CjxAiA>J4tyo=L@7)o$Oz9f~OL`+?92w8-Id^VBM5F}mYptYH^O1!jqYMq6O zS%t_MDh611>iB;qUW9uaC(Q}4f1fl1m^0x)8e4{xlYm71Hr=%f#K!5Wg4!?0duUlv z5>Ao`&;n6LthM|;1UN-~EDnJQz`J8{9-&~$LV&*u0_)=y0!FZkq`u^=a%)`>Rz4nq zVAcl4Yc;C@RK-19J)BnJPlWdOG4LTPsSe730{G5Wen_bfq}UgQmfxzfRmB$gPyc*> zX5chnlnxX^6ka)Yu%BJFu}u&WdFgOGr6V~bGIYp>TREX_cF;MhB-iiD*uC=ZCnjVi zjk5lE4IX}Jf+}i7x|Eq87#2;8YlZqGF-d4)46!ao&?n)LJqN;E_qnf`^+-Qoe{;wu zn@)y@#d@g^WZs|Qlnx_P3e}bmek=cOnu#YoM&|zP=eh0g2CHHmW9`Xy^wsqY1n8o* zRR#QfJep_&^r@adZk0}Z_Vi1+mZx)qwaHgj=8&Uf2X@aYoTq|JGl{`Djk_oLLtQ;H z99%DUjkh9+lN00ABf5{+556P!k$-XhycJo)EY-o2<@T@N$WI=1SlB1dT=JD;s$$Q< z2(iTPtdCFx5DI>uHL)?R0uFeuMS&1H7zVJ<*`K`+*b7(#RvgqG-WWF*IX4eiKnM^7 zDB%>+4CGKA7+ccd3!dofiN`%_o<&Eh}<-TT4i=vBOkqHJ_+nlD)ECiy{QVN4Aub;VJIDitWC#3DMWhi{uR(NUe z^+~6uJ3IOJCL50@b4Uo<-emeh*riP8)jX+Q^VzAtxL@dzsLJp+c31rwUgl>e{ud7G zFQ|{@+dH;RYRinf`$|D`O>{QJTY9>8!^>Vs8+;x#-hVVR%jp6W&`ujZO!D)`d!rcpT4~y%SyoQ=ON^dT20@A+)(qoj!vTRj6NeyhE6|d^2nKOhh)XWF3ED_N2lVq zPc>=xB+onY9vQtv`K~wofVY-%TMGQW_Ms5IrluRbRh?-m(-WV(=5L%*L55e0-w9T! zJDN8(RuFT%C9%PKq&1^dRZu`Bt7hg*{>;(0wa*Xv)x#xAGzTK-x737DX_zd~l*t<{ zKi<~%x#;YUx5rNNe10%2&-SvfA>viar=`jh*0`XVC;81w)Spw8?x!6)SoeCSa7SCq z2kI32(xV|;@?RO+nKbmuxeL0-a)2x# zoh_Ly9xb+^(f9iYtewTOIM8@r5d(i=gHx>tANPow(m`YCgS^`Ws)0!J~H{ z63M?bC(FI0@iLYF__8Fmac8oVp^BDJZO==e*bKGOjPwsz;APa0k}R#YljYtDn3%qP z%oOak-Dl!<-8{z5;6#@-^e?!-e zGt7P{=>B+?OYmxWzbaW(OWesO$g6V=$`y<$fLmvtBma*r_tc1{^P{e0*1J&^RKHs!gh1|8BpI# zR3pse*@N7YGr#qkLeK38oE=ouaA_AscmoSP{E@?&;>Pl(-W+iQiCT%mSMOh@oZRxcsFOk;s^o-nIH=-OpzL`c<$627R?dyDmx9GR_ z60Wie$3BK%(=;v<4s`kWQE}>28exmfw~CCb5akyIVp?aZEhi+cqihb0L>X!e#SHeA zyx39{re$dpa@+z1H#teJSKFdS{;`Z~N>#Y71Uoo>EAH$X{5612ss`Aoh5x&NPKyMn zf-n_8=_g|X?=K6w7093!lv@eARxp(0PHa__#ruQRm=y@)AdMhKO0xYinTKj4oP%~s z&>Dn-km?C|08(pZ5K;wJ(GtArN`B8zcLlbsw}q}7E?`@X2jNEYRorgxWr-!Xr+%74^3+|q zdzoegjF()Rd)qwwEhGcTjHUCMo6df?Vlr34x%Y&2O_^r&(CmY7T{V3>PTT&A+uA+0 zvXU1IEv~+&j{YZ$02V|D1D=@&Fi5BL$-5+RlQ{Qf(kR(aBQM|4a_ovWSTWQ*y`Q* zng!q&lI`tw$7}SS+d|h)`QFvwsh$HUNZp;Gcp^C{x(aK>njx zmQA<_@T^NJpu$JLK{oj#jSrMJe%A2b=kKLgmtXJ>&wlw;{QULG)SIz&nMqe}&=!v2 z#261Ug9hGj8X!~-1rkaC{6+!{QHyU0Bs&aMF{RHN=sm<%AF=R`2vJ*_wH)7HCfJ9W zCy6_2--CdVB(j5iS49m?WDPLSg%YUA^Ba%1VX2SneY4Rky;G)R+`ul))kR~zzmBhB zw&U~*<5veX^Y>9~x1ozMi@%-GUl!qc0x73=jeju7=#5k9jnY$=&qZB1-W*`NdY0^4 zBEzeBXZ{0vv66;`J9VU-yDu2l2of^Gg|_Wu3o$>VFRob6yU?6+js-nlIgS@)^F{E; znL83O3o<924(x_|$ezkz;VcRoi8mB*X*X<8dwkZ|7|SKN_h=@)U!)Nb&!?4{k~?2{ z`%--Hx3H*0%d2A%K}XI~TbOM>{Gf1vb7ru3pVC4sp7ES<)5G=)hB7!!w?R|>0I3q~ z_7}|tuw1qZmc1VUB8U3=BcX<)h#W}plGKW_`%6D!qrwHsVU2%J*+l^=Xn6%R3Y0|t zSlNYw6p{{1Y=l9GO1r_u4<(uXbd1heypIds6^HS5A&FCT)axeJ?^e;DiEqHx4L5+G zR>NshW+2Ab1L+gs_T4s<3zV1h@NsqtMjrIX`uq(6nZaK9^Wo~sMtG-@nOX9emY$4w z{Xk0Urcd=VLT4_qAO1%Lg>5NI zKccs(xsLC#Htl#vw3_Aa1=yV8^@57HlTM0fawa{`B{6-aKQ}2!nUx|C5Dpp4aHZ^R zj^D;%YAB5I@A?$zddRuLReE+Icy0{4m_uY0{AUH^qQZs4p^r{1Rl;IDlND#QTz7js zefwqS<1iK2mYSD6iBL9C`c`!;J}c;ieq*fI13>?U%5Ifa0r`i$_FX^@%krxoqShHUR8PZF}t0 zC0#Cg+*Mc0V!fQ)K@>7hu<215JeK)Dhl-_F)~q$&b^i_Kn|m28X(t+`wKBgJ#uXk& z>gYS%mOeDfHWMvB=I3)V24$6YeF)N@ADoh}NMRYSo$I36A*pX%c_RZg#?bP==tF9bh5QUCw| literal 0 HcmV?d00001 diff --git a/packages/System.Collections.Immutable.5.0.0/Icon.png b/packages/System.Collections.Immutable.5.0.0/Icon.png new file mode 100755 index 0000000000000000000000000000000000000000..a0f1fdbf4d5eae0e561018cccee74f6a454cdb9c GIT binary patch literal 7006 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 literal 0 HcmV?d00001 diff --git a/packages/System.Collections.Immutable.5.0.0/LICENSE.TXT b/packages/System.Collections.Immutable.5.0.0/LICENSE.TXT new file mode 100755 index 0000000..fa3121d --- /dev/null +++ b/packages/System.Collections.Immutable.5.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/System.Collections.Immutable.5.0.0/System.Collections.Immutable.5.0.0.nupkg b/packages/System.Collections.Immutable.5.0.0/System.Collections.Immutable.5.0.0.nupkg new file mode 100755 index 0000000000000000000000000000000000000000..f6be64e8fbf3162712109dd9d6fa829267df7077 GIT binary patch literal 623075 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%0A( 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%0Dxm&mzr-;X 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

p>uQ3K9-yn1$)izoB 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

dvEK=fotOi^BuORd(`0< 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

PXOp%Ru#F#WMG?_h3caYwA4y{O!Y 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 bWs5#_B~$?7LBO&^0!jk@6Y>Ut8}xqwZgU5j literal 0 HcmV?d00001 diff --git a/packages/System.Collections.Immutable.5.0.0/THIRD-PARTY-NOTICES.TXT b/packages/System.Collections.Immutable.5.0.0/THIRD-PARTY-NOTICES.TXT new file mode 100755 index 0000000..df6b6f1 --- /dev/null +++ b/packages/System.Collections.Immutable.5.0.0/THIRD-PARTY-NOTICES.TXT @@ -0,0 +1,884 @@ +.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/aspnet/AspNetCore/blob/master/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-2020 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 +http://zlib.net/zlib_license.html + +/* zlib.h -- interface of the 'zlib' general purpose compression library + version 1.2.11, January 15th, 2017 + + Copyright (C) 1995-2017 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 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. + +License notice for Algorithm from Internet Draft document "UUIDs and GUIDs" +--------------------------------------------------------------------------- + +Copyright (c) 1990- 1993, 1996 Open Software Foundation, Inc. +Copyright (c) 1989 by Hewlett-Packard Company, Palo Alto, Ca. & +Digital Equipment Corporation, Maynard, Mass. +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, 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. + +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 +--------------------------------------------------- + +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 Library +Copyright (c) 2012-2014, Yann Collet +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 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 Xorshift RNGs +-------------------------------- + +George Marsaglia +2003-07-04 +Journal of Statistical Software +License: http://creativecommons.org/licenses/by/3.0/ + +https://www.jstatsoft.org/article/view/v008i14 +https://www.jstatsoft.org/index.php/jss/article/view/v008i14/xorshift.pdf + +License notice for Xorshift (Wikipedia) +--------------------------------------- + +https://en.wikipedia.org/wiki/Xorshift +License: https://en.wikipedia.org/wiki/Wikipedia:Text_of_Creative_Commons_Attribution-ShareAlike_3.0_Unported_License + +License for fastmod (https://github.com/lemire/fastmod) +-------------------------------------- + + 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 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. + diff --git a/packages/System.Collections.Immutable.5.0.0/lib/net461/System.Collections.Immutable.dll b/packages/System.Collections.Immutable.5.0.0/lib/net461/System.Collections.Immutable.dll new file mode 100755 index 0000000000000000000000000000000000000000..f5513ca022b055ff18d50faf6fbd98ea552f4b67 GIT binary patch literal 189312 zcmcG137i~7^?z@7PtWYk?k0Q9QBhF2R8&+%RKyDv6)#i-RE*+%UqA0-`G3FfRdx5w&L%;B|NSIW*Q-~rUcI_r zy{bO?wAVPE<2XM4KmNGmd;~844wc^>|4bvfZ|U8A&Yj&~S^kl(XMAP(NzXsGzU-pO z=y{W8U9jvqXI*$<^nzt)pR;Uo(}l~Qu6k3DhO1<`ZQ8SU-O?`cpUcevv`qsw!y zzH-aWwzMBOE0z_yRy)pJuH)o1_L2wTUk3jV;5yEH@xx2H`4^}I7}SQK8$HzP%$E_A z{}R^(4g7N8J(hmp{j5dC@TXj7dJlR$rw6~Qzv((BF}SOL%VN?cM-JhqrSgux;G9ce zfbf<(O}$uG{7e5WbDT3rC+m~XL8Qo^zP?>dK~4c`9^@WaII$l2WuU*$OYvUShUuv@z7 zRLALBS@ho0>_V%R4>0jwdl2NLQ&AJYyl4t7ZuELc&^dMj)0h+7`Y zhy4h<(N>h5-|mfUcf4xB4Wg?MuDV`1C^MgtgTCDzZy|y=Dw2hhKzPxDt4czkd*jNI zcVoDXm2kcA)pYMtz}*CJVGH2O1%3?dhp!>@{R+KYpcl=8Ub!%nbwqQO zT*)Rso=_3K){t_IxaC_rQSE{1G$F4e?A@KnR>+kLT8MZ(!5>oa6)kip;42sQrAo;3 z`Qf$9b%$Tw%aHCRr28$T`{5f1>XoOaGHA$^wc^MFXg@c6BckhX!q3WSCX~k}5q;56 z2!RU_*e4yhI30L%I`HXqpua1H;HY%qnsng3>A<&>z#wF70b~VY*gsivor?yX@H!A! z^NN+OU|QtR%Jy7tBHI|1d~}6|xJfiBDbeC4(WtdV8&^A0l8i1X$>JvcYFxzDyRn&P zdIBy%lr8S&xVseqh2E&S{2QAXF#Pf)Qxg$JUi_(#Li>9*nqrl_Wvf-`p&v%RY z%4*+jFhg(?*tuA<1yY5rtj8^kjotwOQV^8J^MOG)c3%m6Sq$D^3Oc}resA(JG6d39 zNf%+@3tse2py{dXor~TDPj8T2n<)jvbr2~0P=pXIF|PeePj6nN2w1$eGD$} z2Lqmc#M`ybkxL16*b6GcKKzuYOi9JnJ=(Q2+Oo>fw#?9`Altyym@JJdiX2Oydoo~A z-T#EH0Z%L2UA|!!S@THkJjcYBCM@f~3(q+WWwL*!co75UE4zW6DoZ+0blV_$*+f1l zuKK<*M2a{D8Iz$egur9uV;SpF23qewE+dh{wj!{u;owRcI1^={ZPI0wVgXi8_Y`|8 zWCuKsQp%_xpwJ(s*xo4ubeVP%UT`S=LCl+(yA5DPZ|0 z{C_GxTV98i)`uYA;SkF@fL%d?!wd?4pNg^}lBoN8*<un%)U_3L-xH;>SV;T9^z zfv)f)@bv^3`acR!F1j1Pi2WFx+GBx?*{1>@TGZmhpjPoGKS$IH6!kp-&M0cP@o@y$ zotL3IAA-@MH}JZnPax9ojy?%TN|3REJ^MRB`HmJj*;XsO=u-fbxuC2q6@3~JFM!xA zE??nJ{)8o?fhume2*0(UelLVDo&*=}ph?sm3-4AE! z9;FqFB`R@mwi1uw1{#OnSl0Bn2}KQD%$EH0JZnPGa0!Y|K3OF0nf zevD#{pATw1^{)YTWqz9BVCn$`2D+lJ!>J7|-J|{ucnTVwjlPLM_60| zW}fm!H+>H~D9_+G4hv*ZdY!l;(9P7yYc?Z7?!=2tR0`@L{-HiK;FB5yl^d`1-fu z6C7O*WMPLmls|LA#W>4jZulJ*fClbDKuLnQ=i>m1%9jsD6}}6PJJfuX;S<~~49*Ob zFr-Q3b#8-hZNMZJnHZf;cui4%XD}(#fQjFLRWY>?tE?r;Ett{Exs$y387Ky$!qoQ= z_KM+lMuR_;kEg@spKTJT5-tjtph^760=e4!iu6mG45>Ss)95Fq+FQ(P{DnXO!Q!(YHHV%dWzLck4wNjLA7^CiZz7`XLc z8TZ$8m1b1S!Jyjjx#4dR8~zqQ5D+)~-P|z0p9SMPPXQhbnEjqe6?Z6LC8_bEKM-7r z2q5EsM6f!4pv%*AKm1=rlzmV7O|g7}H(4XIb{A1DhJRwJ(z@Kznm|~x|I9K{WTQQN zr`8Exh;kd`uhJC$Wp-X&;|O17m-W{c_{}Z!a&c{G`WxWNXQz^F!r$jg_{Urc|C}q~ zUvnk=n+Yp0mCabs%2^Nt*dCU7oBJ6!}9a)|kFf42Nm_L$-f{&h_rj)f`N6ZkS{7m0=8Q-S8DWe`RTWzMH+7BOD_0h^+l^dmq+<#gjQqurohu_6UbK zE6(C{?l>K(6&f?LpGncUtTT;K0VVB>%tbMoS?MfFY}A9Sme%jhLF;;FuXB~wbt=3= z^%;!n(3s)dV z0gIJB04sav!Pk@XLW)MsFZOOHd*?G?*n3LM-cq?6xOE@4$XRia(#?K(0m{Na-|xm_ zMKAWLP?qFf87vA24Iq?_2Jzc7;JPLmWep*wHz=*0XJCrOI<$oOvdsdwh;VmU!tbEp z@0Sb!%4FHoaIvcCFXeYuI%yIr23#Gpp4>vn0>Qs?O8R{vrMEk%Qf)JA$YGy42()m_ zoQo3f-bq1v)U>P!7b2ltgdWm&ZULUft!;;Ws^%@Y(u%zUp0r|5ij9;<$7NAg%q$z$1B@r z=@!{HRjw~a;pF8KxIwfVeyJ@9qTS&uV8rPPm%`W9CAz|8h?FkTHB%gK>k_6xi2Qveia3wJ4&{Scl#-L{l&TS_)5C7UiKXPdbT9mRF_b&h+vwz2D6?;Q6V+upA8M##akS-c`wv>#{P za8IzTY{#(<9c&C8tcV@1cCy~eDA>nN#u3ZNFQjg~P;pB=Sul}ZbEYfz>}sYon8AeP zY47`@aw_S4#d3ef%=sIf17DWV9D!y`j&1Fm&`f&r+N&@b$v9f5EJD}kIEu+=Jl}0* zMA1#|i4++GIg6wJCxf6NHo(plDoWE|s?J_!9N;*}xe?Ru+_Ye4X#_`ES1c%>px*;+ zQm#jK~Q)64r4{(Y`z8tT;*eav#oqxEMooS5h6;uFFo3*JaR;)VFg{ zab>s?u(cqpfCdcKTqUjz!m5PoH98xy=6?*ZvSu{Pf6XlWr^7%8`V-cHqBF+u1{DN1 zK-EQlt>kUO8f9@ITkVAmjRKwSgzRE<6=ISd!0pl@g@&S(FwGs*)M^0D1Z(hHAH&Zy z_hLBF`xG5rA7G8=KtTITSFJ{AD~s;Ubn`)dE#M6d2osnEEigE$>i|1qU>A0T#fe>q zJfkMhq8;YJ+1;$Xt}}tWXa~qotao=evCrm%>hd7MQak9$)e6)U1ogd9r_DK0{Am4L zh%P9uRD0cQh$Vl;M2BJQ2Y$OBAfMc-?{2FF%0hSBxk7T@4d4ye0lj71Am*$~kr&u4 zZBGJDsE`XDU}s#c_A6b*$>+s_>PBHq ze8looLj-BqWO$2$=ULr#=fe9@I5cN(g>1wC9SHDhJvayuFp9OINA+r6Q1runQ(PeL zGS1PU0nCM*znERDfO;4VPz<5}uwKDcm~<9X&$lp}1EEIo|2|N2GgD#(-(%VOekz*4 z9XKyBxGh4|v)jXf(}}&CDUB0EqkLg*Q&1FE3H?Bt!vnl$%rHFOqz5>Ey z>k7?JOI@)=XI&35bzPLIs~_!;dfm*VxUxUU)(_CivaT;Pxc?98O1fBAp~sKu*{!9n zeVs`9UQ81B-z9@51iN3Pll!>?NiTFS2hlyv-Lwkzsb<|<=wg&aU$2xmv?wp1Oi1kS z-h#IFLcmcAtsy_eXjFlM%mg#x8itRE!#D{aW6anBv2mEjHp>@1C-#L7I!wQN@v~7d z30se125?ey7>hGoU)__l9vlZd!G}*JIOTX(U|eS>6TSF{ZV_`UcjY$QVe<1R@5(BnIALtb>y6d#`s3Np2f zUvr1c7_)k8nKM4evuolZD^ncn_cP;$qPRyUGie`;5rPpZaK4X*lnHcRAPgcUYuT`V zp|YgU*U0Qm!)Qw{f@J|VNLf8LLlI-!htcL42eQ)258)f>M7tY0N)s*Yda z$O`&Zj}G&MCp-pq)1pvk&>lG3;9^i{YiF4?+FS5laTA-ATGkJtXQ_bA!tv7hRcxq2 z*7HRp-9z9H0W1~*tDIF0c|jo z>xOc!w?8ASKrBWGoP=%f>G!Ky1TpaBAI;h7nsw>Bojty)=45P}J3F=wYQe6!^CmhD zP*vAwwbdI}8Zne|(_C@Yvu#yh8aI>8(8d7ivc;@tlG80{*G?V!7K$-aW6_1jgBm?^ zoHdTdFemH+%!x4!*M}YDy2rMxj$5;YT1D8%ttnh2!b-IfQ8_T>&=sD^rBOUf(NpK@KlC?i#RbYw&Ik=$G~K#2VVw! zpdRZ6s&JfngYt;$mBNV_PvBfV7eD63{IF}Mge4f}xjHmlh==lI1%=5V7Ak+Dg>@=R zMuPnDtS!cy@LRfiTTIzhZf>x{-+WURdvFoP;7B)2yBiPg&nUfyZJK%J;G6mgn z9wMO|9rwd$A`5rc#jz5*-?I>`^)kuSZtPpe%;p1WGaIt>3=*dM#u4Yl%hb*$Ci~e; zWm|d9iJ&_r@1ArIr5aOl1>0HahiE5hL>Q2C>A1PJf54g7Rg@))A4>D1g(bTmDqo2I zeBg&X%;L-Exw_sTB>=JQ=|fynhh|>L$pjjm2~w-`vpDEJ3%)`&7o81P7M-R_Uj+`m@Eaa9k`}>BEL;SNBYSYbD8q z*#0}>6ZdDL{I=NvpP~M#0}r%+6g|5Kk(CGPB5RH^h7(<+g;tg zTeL$3#Zk*(z$=*!Czgyd?Dpicel(8hh5eOubDw}6r^Tz8fmhC2*|nmJ$gZpxVdY`g zGTgUgGh_3_v>dFo^yI2A2c@PeO$!cPgo2@&t}OnaRh=K=d_IulN?kEzt9vL&Z+C50 zVmIhMjTF$VE1e6pEMA>;J_Z*X2TK!VN*0rozu-vyWQ;dnbTKNDn%6bLOzuS(yA8w0 zEt&+-V5V{a6#aF2aVjx9+T9OlqBK!)`-8!(5}E5B&*GRuT8QRv@Q?Q(*+))U5`P>^ z;tZC=8C?>ma+v`Y7+O{gX03dLbL3UJR>tvv^Kf!s3^-pv-xzH(>7%^}+t02mp+nh( zXlMj5`O+s)Ixgb8RAj9)3^74l!Gb)Q9H^d<(9G_yX2&XzYIqwVM~wg6a#?+7ODjul z{Z4CKH9{b{#hOK`M45)%we^8ZKtydx_(C|7-7qXLoZ5O8ggty6n}2c-M593Fhn~GH zKigc3waYS@wFJIXpG)9p_qh&w23_7Lb9~-f*cas~kFh4Fy?RRiIA>x>aw$PfJ?fVs z0JHIEGu$lNuZw5dbJn5WU|!a>t9^VoyzNm}`zTG-q)&6c#Ky2+yCW3G^R%f{eT?=h z#!W1BVGFX1KIFq%AGT(10jr_6*A zapJhqGz052;6*P^Ctc3Kh7_C^Nz^fEXkX(-!$VMD^b*PMhKI%huBM+7hp2ygE_jU1 zb$|V(0L}+q^JQ=Yzj*~5ck&Pjx7gYT4aTc|D)q}jg8*t&3bt3KUXCCnFnR^^1v9}b z;nuIjPl!{PO7trDVzuN`5rgYYj2fj*Y$!Y&G38rbZwgxB{K{HsWNI5cGr_CzTYnAX zrkOG{6dqwAuVySEUklGna1DM9BvX6?N&Ltq_@$3x&T_DX$C-iD?MRZcDT3fYEV~2G zSEdV3O~6&2Vy8D0K8>Z1xWFjB*SeEOlS5BOv^RM&y&H%SM_8`|5z*`MBmKprt)_DT z%f&!2Gu(v&gYYO~Lp;Zhl{S6ySsgLrxc*vTt70GMm%roslXZeU0~o?LARgC~II$c} zLZ;rxvfqRsh}?B_GR-%`Dc_-ngf1?Y%~!o(_!h*6*W;&o0|BSrN-y(3wH&?;ZVhI4 zObXx5NHG%>Tu?RNh!_sRP_q&ux`_}ra5Do^H&^O@AnFd|*;^0|yRPP~aLrm>)3F3+ z`a4YeJ0%^4hwp-i>h9Z&`)=dDhpyor#yJO5D$WF?367B_z!3Ldz>r}y42OBbOp&uk zbUR{sPa>$l55CQ`X?s7BndK9fRVeNQjA8%4`Jsc}o5t<=3*7JyV)-C`FvGdwodk!a z;mg@5$4dFd@IyPqQS69AWP$UDmMLd$#D`N!mRJn$YAI63*X1#MTz>-}ez*-BYZKqO z7VsD#P^W81FP6W!T*Ov|1tZ%&-tnJmcKmMm5kz;Zm4uIN{Xi!AC}OJX1~T2I_3uU) z)&(DfGnfTPf7T@2gP8E+_$lN9iN@47KXM-Pyk{_`xBCi&)Ys`1G>fTzM z9DfE8KF{Q|Vt({lL>QI@%E0>Ph!ht7>{5knon5mh2Qx;>LQk%IjEfU%=`8FY;eGf) zeR;nL1CfJ~8MbzxM`XUT9P;}G_+Z1ray=ZRK7vUw`XT}_OzIIsx%&~QJp`)&*dbm) z*%oDIv7EEE09j{rA3cA^ii%A;RR0owskZXNFUP*G(8rGORqOeh^*mrbU#F+zhNCqS z^{_UWm>3{qVuN`cIB(DT+ifs8j&!iWR6fuKQ}__uU~WJGh?Ke;Bf+HZvurSRLp6H< z5pLM}U|Q6z*f&_oBeV^+5^MdNscLVqU>q;Rs@)=pw_d1w#=*jncV=wemvyeYwe8$t z_1DGKhX6bb0g#=W5r)LDUM%2S?LLJ+pKg~8!=LreVa8rXZMt<$$8iL+HDpjme%O1m z4TKN0_dFi;h%V!zcPy1szSh;b=maEBJ%|h<;O=PF74a`ioa_y_$Hd$Z+we`B!Q11# z<9Kt?-Gnn{PQQ6Ch`xpV$Ct1mbu6y9r*{b?|cDVj3rp##6u=b02B5V5F-1s(WCgK zEv$!_@4*j;_2gE6JKWx2!P;!5{(X4MHcvM^KR|>G=T!0rrBNE8mgpdZV*owVmZD9s2VWsg)r_Bi*Y$-osf z<;KW4}pPRY_P>1lQ_O_Z)&b;|T}KjtyB zaMD5F8{N%|egb5*J~RCoNDGBIi1Q#uR{qDhm8@fAD5x&;YrAm@`YA~r1a__mbY_ZV z5;L>vg0}U^6+$ksj6(s7H99)4xkoD(aye!_05!SZnt~DU?~$XrFo^yD_W?9hmt3a`|Hx>- z>V520z=hR1`o-r+S(X*ugaa53d|0Boo34T%#%S4W{eO|M?AHH8XT2N!8E$b6-hcQD zBS=>bxKIvoNi7xE)rt#Nj(-JQ{ci+zqTf1Cq(3Ym(-2`rQnb8;Q z&!5B*`5GlA?`5NZAhX0_R$B~JS{^qK|EY0a@uYZ0dMha8MCF4)*~}q{?Y!=&&mr|K4sW zNV;JYwy(mf8O-i#2Gf%hg#lG4t{74oC=$!H$>k^?lUcegJafpAbSJOnUZZF2(2C(W zEB92GMVqVUOUzaCtT*F_Z^zA&Ad3U(LbuqAnU(INE#r?j)1`o*N7uTCJK+U71}&O` zIV@&aaongY9dH@gkV^3)iL$`n>~x9RS^8)=fjULLl;wt}#R2e%^2T`^vpd=gI|sH` zF7T8xp+)^}q{SQ4BaEZi<7bF+g*y~J6G6zX>Wv|07-Jr0KX?|w!ZYw&fUIQ!-jkJH zmXqJLG}F&z!)F7aR}=L9{!CZCyAV{rWbVQ1*pK4jX?u2N8(Qr0ATgdND6HVOcFKOJ*>5SWt@=pLc2tPv!)MpmL z=K`xL#V$$5`_e^(GOIF^`Yr@bv^P^d1x79CDb4{3Y;(gNwkFa^JND}iMohd7@H@8S zM$#TWkAT5scLp)fhd;oa5%nS$t%-au6ZOGgfK_F9E>cAvpchEvp>AoXc%t`#{|OqQ z=TP9m@P@T(2O?ZUM6OH?&pZ&(>vjj>c_?hqhbn!htI+S~v(+!sw#{=u9M_Jh+hW#) zG-W0ar1$)oyh1jqCeGYFEuoOX-Rb$jpReSgyeFOcES9zXh#K_Wem|>)@;=N=7xeLk zT=g!a2k{(?EK=?hFU$q?J1OQK-VOI0@*CxJNGI=w`a;eA7DVKT!2ydYqEcz-s z2Jv7#plxu!Jo1610J+|oC;6ZocYlCco)-cCcf^d3+kUqrI(=cb93pwq5HRn6&O<>b z1~k<7e?XxX&I{lVqG49I+q}HMT1Q2T>_Pw}mHr~%Lhj67b6KX3mrFFk`C-PD=->jmaas* zGl6r!0?>~^9CN@8ItO6UVlYW&YjRpgE;m}rY#ZIlv)E~{C80_*{1AFWw2Ucdx1?yo z^0^XLFkz}CN70ofh-Tb_=@)iN_ajNe69j2GG%t)}gdTx7uN5MbO1d|lB&E{U5NaIp zmnPDb>`6-Q*rg19B*3@M23EsQ@QVhKLZU!+CQ*_$7`5)yN|fImQFfVI{Gt`!ga+`U zy^w&lwWKea!gEEU1{w;VMBjQB`p7bTXr~GzaHc{?Y(=2duQCRjUB*N;2B4W8O-HU` zKy?WlOwI^WlfQTv(!%3BK_*eM5?!N6>SJ^%Ux0J47{Iz*A=e@S2MOWc1V9>LFdGR> z%YBZ00D!mB!gU0+x%W-yz8@xh*!W2GV%w_3ng#2Bt!cC$a@hje-=QPb@^+X%We6E# z+CN=>Y{GN^NtC*Ha!#6IeZlZc&^~yKWh{sK9!MBG2F3ER!r(ndzKgR1`eA7`ALcS` z^-C7AN>m<(zFf8)M9Q#0ohTGn|K9R9rtrx^A@z|M#T=}*-(|GCB&|WD^6`( z^_JuVHe0qGaJfUWJ7aoP^p z&d3`(xHxIsYPNl$8~EYj%(B6tjgE+srb;?8j*Q`+7Ds{L#FER(^3&twV=TeZhB%J4 z8=Q;zXE!kkTV`tsS|ufA1#NNrndqn(I~oZ64reRQnIa44b3DJ4<9YZD0Oe`-7ak2C zSMSHbMetZSwV$iv@s_xSDfhb98E}@2#yV;3?8hMs?T?={Fk;Z^Wuntt zfS=hCdRA-JGupB~o8cDLoH;AzEXKrCpUsdRlf~{edX54ZD_D*`GA2Kl(Nq(hLysI0 zY>a)+i+wVR5$ySKlnfh^;atWsQN}Tel1?E?tx&rZ+A;mM00$L3qbCBjl>$RuGgQ&Z z+X56dNoiBJvmBX7T2CNM2r2~QOIqSQlGhRX3@ zK_N*w97ah`i*?m{ZTF#J+|<92Iq`l91p)68%2WznT|Hu0r)0a|#@J6i`HkR5tS5(V zmAh~1$uB|o4Qc*x8^AhggXrdTeOuYmfGWsep;Q?{pNo7vpV zJL}NHuo>-l(VH&@xG1Q?2ATxAoJmCBex9r!vPBI`U+T#zuF-lOAkzZSY6YjK5-&^VJ)<{{(_nI8P%5~Q<17a%Mj@?g? z)%l9IZS8orhjaMzt^U~Kd4+RMLKC*q72apm8c0ET+(5+iTNwykea2DB%V!Y>yY*iN z0wiUYH@lNpabTJT7OXfogN_$d^XNtmG6XMMK8RX@rCSihgFj8iE()jUV7bQF=tUAY zHBASrwinaA+-+PAx7H8lGf(sq{4^P*30Q82FGUDOE{kF#7lZF*h~H8A6->X+nci}j*c#_{aSR}ujHV;|sN7)k}~m*yhmRe*-}mG!Ij;{25rv1Lf5 zm{Nrpz$v@oRyZj-j=@6WDn!ZYi5qSs5ZGhf`l}h{IJE?HKy(ZpwQjfm8YHz2Q8-;> zWcd`qpA<4JOkXs0H513gaiiBVuucPBbWJ+xbqs7s!FiEH9g~LkHEuM#9E^=#FZtc@ zC2@d*&`aZx%$evT4)*8$^=ko58=p78g^kY};k4NJFg|VLLx7Zx&zlhBcHlbZgN@Id z;ihbS-hyCkTURKz8ycZug4l&{xr8S zrFjKV&t5)dCf~#k`AQ`A`I8@@|4R71=tko81SdM;O$=qU@IGG(Ennw0SYmWDerlzu zTL{t+@){&6x)ncaV8bB$Zw$^kgDB(3cccUFWB{`JE_GW?WiUG-GmD`sRTjSQgBoL9 zhxL7YPDqtscpD&hYBPg%YLZKk@>~fyqj$3)_T~4`V`f_PkM}ajbFY0-F7#_HJ`heg{Gc;S*X8&mAyF^KJ?1p0c}P zUPD`Kce97Fy9sDqgY*GkkPc?#PFqIi3UjjXt@O!)8)OZeVjG%O$J)8cm$OZ1!Nksm zonwAiV&`JWU%Mxof%2zzE+kI5rG)tP44{RhV@5`sBbu@sSQ7!|R7()^)_^D!}R zM8xl8W?2+|DE8e&A0_6)*7FhT`Ka~WP0!py_c11KjEhR7D7uF!Q*%kHAAQ`U$JRkD zNc`v%Oz*f}Y>mWth4zIukMC`ueRpc}@<|}>VDs`RMC-#?pN21acWeU+KGlj-trJ>?FB~}mO=X8L8FXt7PqgW;!ek-epQ*_cE2e9|c8;!X`u5(=0>_ zx`(G68}eEPQ{|nRAh5=#td_d)uzV{YIQ)MR^i&4}H@qJnH~bQQmD%1Vtb%y{JCM`F z`j?Sb*zaB7r-}FqBRnzjz>UDmp!9hNTm!4BMLzuWFamHMffIcdpp{eO*dY2EBC443 zI85{h7L3Mjwbgt(mQh3?+Znaqd;p-EV-yDQ*O_1M03XnJ{PD+IuK{PHZy>z}4OTY% zCVX7+GbUYKWtQRbxbw=#^zOsDp`rSN0G*};CT0d=weTvLJDT5O3idS*!IgatBk(9G zexrx+qgD${RTyaGA3*>sLppBs?R4Nf3~WfHc#%X|;P1{(m#CekkA_=8ZS<&=g(Ywt zKs(z0ghL1HB|oe^h)P4DOlVQR8%bF_*xd#M@uKh5WJL5m;=a-MdT=SxRPQ$c!d{2OSG(hP|&F;tU4k zTk74#-!Z$#&vA&h_V)-DDhr{F{R4bB3Jw1V7pMB&(f<+>34elH+pcQbdw^MI8k|(B z4sW?La-{0;IF{gCh<0Z!WeWMT%3NT}Zbg>G2(yO!%>~Gk& zIMBeQ>%ejNZ@^pKFNppQ*A4l*7LNq}gR#`Vhw2Lu_fLV~@0uKpg#HDONw2M-$<{UC zM0J@P5+XZ({)+3~wD4fq_A_|?x*XPB|CSth*p;q~0Ts~nLegZf@bYa|@|BCiDRyYD z{y2WI@{{r~p^NNclH{9A>AJX{dBK)dsN?GySnEpJL4>2JJl{U#gJUlIJ$M4m4L$g* zMAqc_v%So#V?I)9d;$$E^vSq|V2j48K*5#P$?WUwbw(m57?vE+) zw=;ps+i@hZ7gkN4kSK@w+HI1z<18uZr{jd``$07x*-NOFr{hdtTJIdNC7~62VSaO? z1FiCETzeW8 ztV-IBkHw|iE`BUd7(hGiIhqY+DGe28MT!P&teh>aG-%!VUMB}IT_&^c*xqT6wC~5t z;AKq1lWKQ?~`F$7Hk6y-AO_)!mYcLZZ;y>q4l z3IEAM;jP)@eFukL98Z{CNZ*{OsK{bLE!y;i!gc6aX0eDdx?(;BGJ3|16cMFldi5pFoMchSeDg@rwb9tQ|r8V8TT4; zhPvzXA{P)(d|tc(Lp9rQbcv?~_L{L@z`5eYuHf0a3{DLs8?xg^1xKAuEHiq52|(r@0zT z7Uoz1Uc?)^JaAZyWLU*D=<08@1YS93fV%urW*ig86)zMdgQ^Wz;39DIThHQ6~#coWp(OwU@7bEH;W~R7ga%Dh+Pb4i*OXK7p-DQ5^;2p57#iL`_{d|XB>i{?Z*%)x*%hyyp}*F z8kz(e+2`4>to`FFKT871{@Y`CxeT4*{7bU27XJlO6?J z(Iv3=_M>$GS=;LmNBhF#hx-xrS6g6)M|bx_NIjxk+zKfPFSh6NmZL|^`=R&;>BrTB7gXprN;<*sL^i4opD|i=koZ)8x zp~n{B%S~Ff4@xA)nEfSgEDZy+2<7-pk(s3OiW%buKF&wpxTWU7EQ-4FGf)ryX-Z~t zf7S+@HXfZEX8j=P5M)5tI+RYP`4l=hG+8fhM$oyXOye+w`+RZ2r^5fxolQn@>|z#< zU8tu-!DSS~#6q_vY&ryX`cia*CD+j%&Hjh&kMk?uM?M0P*yc2kgiB7>pGGKr+f0sr zb|crIoGkVEeVOp-OcL$(2KrQ%IEUc0s~_*>Mn@sKiYZ+gnJwehD3*_jQYf(DHF%|n zWalei4utM}Tm^L%f3C8;@Ml6niQ@`y6uj4k@Y%jV;kLkfuEJqNBx60*&9aIPv*>=Rs+lJT`7&sg2g2n^&z|;0`G*(J??ZB)`J5 zOlKTyz!VM!^TCj-tkUcW4v%lI?2L{fr6fF-m`May8OOna?9P$Dl?G*qWYO}GpSa4~ z-1f?gSSq}DCujnjFep48*%ruWNN6?Nmaue2tQK`|eli;ie=SfaAbWL*sSa@!$FMJ! zy13zqB*_g=GBB)zlvi907@^knk4{=Q7{1UD3^o!1wXPJmX~E!IyF zSe|!LO4fv0tQd;+W%`1M-JsAH9JxP4)p3Wip|G~H#bj8u(g+eQOXCbZ$WWbdb3+FD zn2alO?CT?&L0eUnz>R*xL&8nXZ(Y7})vJP7t0-;@Q3< z(0{*@eM#$=@rmEHwL0`epxrN>pvYD17AV~sC`^q5Q+~g1u#PGDUYG*n(+MJ``@N?X zs+NZ0C!(ac?}uT+;3`zIS;<;ZN6Y-R0%nEp_=v~^D8Sq00@$qrTshowd8x+Z%$#6@ zzJFx(Nw|Mt`MaCqvdI}FC51L!gHhs5kL@m2Xs01zn#_g;o!kkk1zvbPrdUUV{Q#sHT1SdbaHMHnVMApw@3RkLJESTvQ6+0WzZulJhHlK?hu}#7vOKnCQOw9*N|2>M^ zvTO6scJ#V)5cR0lrS?1SAU`9D85QGa0djdI#C^>S`h442cMwA4&l;3`q&1kZfkgax)))1dt6VzK+p3ZqdNSaFH zLaYXq*lp(?ayZUwkcXrf^JLRS@I4CQd&&}YM%0UcF8IU$!Z3s{v!mYm(Z$(-(v)ipV5zihzLG80FGf5T0*y(yO|l;T zI{joR{4b!N%#!ukCU~&b!s;-V6ED4FXugms2hZ!m5{usOQpupp(e+}bDPK6477UA~ zE@QG?eU2boxH*+!wBA5yT7bBIJ&BCMpMF%Xxdn-KX*j`2`FdHlG#+E)OQP5KA^lAP zdW|2^Kc)Vk(ElRwH>cr{rvxkKi}VtT^HPR)uk^cblVTUal@W#_rjI^F=|GT(iuz%g zRp?awARm#U3rTU%d#^-v_+rK(fH7K$Vo{eP5?kN!B}^2=icjegqy%GqU}~fAkTYh} zSZ}ls1xbCiSlY-+P``O~hua`AwcU_eqD>*JZunCCD6Im-I?wTqI@ZL~HwF|>`fE#u zC4SpC>c~5^+fvIzY>!#!Z^3-tfw%$z!;a#Nr|W=r*xz@C(?yE zXPxtXXL($93vbDY@GmLc3a|Gy2GMsc{y(Q-;!^*PSb3#IX!u7<=$|d2f3<}E%@7_- zF^30|`)`aBK4BYTzcDB&e?^Mr(_HkayeThb=6E@3HlkPtEaZpbZk$y(4CGb@hVpJbXd8LjX zr^#4DU6X*m4qkcILy^3m!Ln;mUW*V#`3-REZ^TcNl$b)86K2XYs1+$DT^P>kO^7pi z-jw9JF7|4LV)EY{CxnD4-=Mgv7$jnxZi6)*E%3v*_AR%wF-p9JdBti_FI8Pn1ZB5D zmmAG7_u>=5JgI`6Ud*QQR=idRDB%*W;9Bomym`mmp8Ntuv3xBCf2J#xE_7!@QP#0u zJryqhT>YF^AyYib8>-)c?6_E~cmxAIdxRG(K6)E|G-FO~ zDJetR$z7EywT+KKDjRkTM9OuDAm0mRmH+5X&YE}M&Qi@>d!zbg4!%kKGVk6Dzm8{m z-xh3ejI{(-MCq@<_F0`Gmc2%&n3+6_bNvl6*Egj&zbPd_w<4uvnojAaf+)0KF(-5StL8Sy6H5HCGsw8D}^1~C}<%Iaer zdoLN{g6N$@a!hNn?_wM#Y`W$nl^Bmgjz`!MFXrHs1V-z(0c;vaLnKCZcA$eg<@s>8 zfgX&R9E3O+y_=}-Fe@bc*foe%-K^_fh52T2^F4sV^!Z)_uW)w{FC+31x54;r=gOY) zIl#Ry>*_WLhC5=IRRUQM>HY!<3O;(US6ow8%n&|87uO7EDi)Ir%R`}VAmx_b7d;2X z>1v-C$YP-cb@H7i%EcKs?g{FbOt}Ixie*E|26erOrH8I5YB7dLd}HBuAgt`?@iO(lOCK`HJNxT6hXfs2@wlquwsx$kVr6!Vj`2DHmfo_8?{~*V6Ot+%wH+ z-VSSWlYgd_@#wjdWIkhoX^o7+ znv{+KHI>(Kj(uImQv=8~jj&kInkJMsfm~?wW6$Wxdn&JyJ{F%d(uU+3bp7fYykN&l z1eVkkF8Qhk9%EI^ff82M=l%n>!G$DC zn%_p4c~kdbJd@R>&(7ZkW|VKV18#yxzazj4WYSOl@WTW=MW5k-mdCuu@mAD^w#>pB zNH7%0Dm4+CNi*4G99J;;qe$@N8}#AZn47W>Ay--P!jB=D6KXfaK?JJ++lblbTLPV>T#lXvbG8TP`rles6j6iW6k{Yc0s;lpF77B}7v$Y1~pB^pv; zzvv`k(9Q7}eNp(H`ifJ*kk;WNPV@1FC8awS&SVzv{0%2Nc-U_^<@pUKjSNKJW53}9 zl_y7U^9`qKwHWh&fiM&g7>KKt`V{N>Qv(%$fod+=QTh0zO_DRk4hfSNw7nw#ca0ZM z^dn6PBQWORV^+clGyWWmstqG@8tfmlUKc)6!MGO;NrpeXm>jz6QD` z1(u@C=Q<8#EiSS62HQX+)yUZ4aQSEF{G>C)?*WjA4kCq*bMz@<3a{WipjiJjfLFTB zd*N`&^qI8Fc03+s!Ke~;u0lVCNtu}>&^C4|a+)#ho(*#2o|-a^8mxC@=ale%;1b#Q#i@)E{YFR`rWL*i+mu94UjJ== zi-4Xy-`RXf{LP1nehl{NaP@&_;AMN92^R|ttm{+yzVH!%jUI(b<=gPcBe*#36e@!7 zJBV_#`a)n2G=D@59!fz2ZungUl>!7FW%lpkCocPDuKMmarCo^%m_kMuV);TGm>^jn zL8r*MNM@C&tCYE*A2h!XG~--%JL0jbZGIna0GSJa0FN8Wl{n?*DL&E2L6W@ z{znNswx<=AfqxwkA*vnr3b*lNWXB76TjYZ9l$$Gcv=ZGHxH758Af)PzS)?X42){sy1&06xQgBpzFgNu{)&WywZDd|?O&&SvB@dXq5&ohR@-zmRyDvP@kT*x zfh@vtoiLO(HC8mRFiTnd=o)+gSO3+92HRw*q`vj6b)+oYI_lH2LHK(RWY=wrOnUmR zT$&v|cE}BOS<#ORdg*rB#lk-zMSHXW>HM1TXF*5)P)#gs`y@Lz#1rGnk)Y!#YzvX? zmUpl@rqH7O5pn|;@Svtn@S*ZwauK`-i~EF%zp+5zGz5i?a6L<6ZnhRzaU7hj4&A&Hc~-d%az@b zlR*lU4FNhtMRpMQ#Zg*nibpxa;u%B}!H z+y62!Nh-)5)QiNel>7-z&K92=uu!?1g z(H2PE{*WZ6FLO9gyj^0!|K0KbRQ#`;4?~!f08P3yZ(pzg`hC&|^B6_L7rEF8d>JKc z)+UB(%odxNIHNI|X#=plU|B&Xnh%FBlq@0TT9DF#=PeUzly2s$pAglvXYw|EE;YYo=qPhS9 zZ9$E~5uD|4iV(>x(km#kscc#YtWO;nZ`wL^XY9N3z6?W&KyW}aYJnn7UWn83^u?@a zsmw~F9t?D=s7je2>~63prY(nauKv|Y?FW>?)VNu=2#NeadY#&N8WF!oAxv zv4MM-qKgXnnoC$_vAG*Do@Wj~j^@PTX_Bu=D2$LSR6wuwCO^j06>jXXeBqR?TRPoV zjYpqgF&lLg2wc0f7&Ta0N<3&Mu0vPDMbE{4mjJL?`qxBh9j%sjbKoBh@Y=t-z2Di6 z3pUFD@F>px=#=%2<5I_6u4Xwd#;oDc+BCV&Pk{H$FshJtx4%Vr)(g*-( zt)x0}j^2+xsyx_eD<_y{ip(R%`dD_r?n>${1kV&Xt7sD1mh{@wWe5y|s+<6Bu4DIw z3;m60FSTD{dnWcvf;wLrEZPq*3G2<*m!M48izOs-5h7^h;z>*a{#Lmlzz*f23;@VQ zh0YU@3*v=bytAWR2vuphr~;adV*=%Z;ko3ZCb0ifSjYv#DY@V@*&HQINkFVzNSO+3 z<$_hy{8lcc+>~6f)=EuUE>4dY z7^S%TICd%0WaF0A)B-h11M(i7EGVxkw62 z;Wn5ADxi?6$YXUHBcF6=62@)tSBt++1M>J8^R+`IbTL)FeNDRdMWB4ItM(xKAz)Q% z^0x4;LZUpb*OWxBxj!>twRixr(B^G2Vjyt{e{ zvWiAN{qCxLiu5V0{v|C>kt#(n#Z8_f)u>ZQ1JpbkI<+M<-V&N%D5=hA3?3X;Cw_`l z5k0dd>$6(3p3#=|*$iK3QQ@nY2%FQf=uD=aVAC?PmDR`=Rtnf{npIAvv_cxeqbcIl z%x4kfHUnzj$Tn?c51}G~X)jeGTS}Ffn0aRtu|05=k;e9ceOb8li@z9afVllCUB$`N ziA(B@WRuyC_K$OmtZ*m9{*Zo>SgOav6X~4#GBL{ww3-uWHz*c`2kR*u_8f*n_ut7} zOy!X=l^YBl(bM86a0SN;=EL%q%BRQ4$!M`5jzeAlgZGGIzNY(yrO~`cEDZsZ|Do_O z@Sa%!!_~A%UMwccy)*nHHvtEQf zlCklNu*plY9Q?||Xe`fH?fcUhfx#aCaKwB*h)jT=j(bNGS%e-TcTh&1u0GR;ZxM(I{M>NU;>KS`WYY# z+oz-H3^k9TlPRvkouV4P7=~w}h#p_C?#eWeWf~FteLg-JA}P(|80j|XG>;d6O!EY~ z)?W2QrkunW-V+F#C(}FBJcW*AE3P?Y>Qsg<#!6(dyM-yyIDTr&-BbcTB#yZHX-qvG zKZ+rICcK=bi5BmrhR=fQHdqZ_*r6Mp!KC=;@MzS>tj?)hfX>3Xo@=ln<%D5DgH%+j zuDGyqkKVy0%aS0(y^TtWDg}tn1hlCX7URT=_xqe1h*v2J&mx3kJ=S35%eECnl5NE` z`v=i;#Irhxo(oUo9Q@!sL7N2U3L6m)pNAi?n^{T|!fdN&`z~^EdXoZZK8Y9*kJUb6ydV)`M_TG z#C$Xz{Z?$W5iO~=DZNz~k4PKCm`-Fdx(%&SE2tEPU_*tPOLC8z%b1I9gRJJ&X+P)6}n-JoY%&U4e;6;}ZRXS~p$4 z!7ap!T{b)~o)2alviW%4dnKv#OA`xD&*L|MVGKUnbRr^Q$Ce#0jRz8dty^|Hnu09l zx=Zy-$xX`aJ}4KqR2ZY!+4yme%a~+XD^}+;ZQP7VbjSvrS~eSPAq-y3((&RAaG}n! z-@ZsqM(LH8Ey33k(#^JdFVo7teAj~oHd_mv(gHiSxMrg5BdP4|HdJ;imEC$?!hI;~ znL4+%1bN|$h}~A1OUYD~r&p{2^ODWa6)Rwq}VJTzvN z@eJi0btIInBkb@ESt8#DVJ!iR1kyEEpOV|Maj!a*BfOTQ2Ka^;4HQJ8^7}o|282

gQ4TvW)U=rD8~fax^#yY|{t8C>&s%&MAQrk|4Sq(J%yB4140UKqS^5 zE$e>R#02cm;e|j1GpSWP)#mykIup7UtOoQV0w4c*2`~jiIrHs+LdEApFo-`E(6ujY z&l!+JzvMa#or6zxawt~X@x^eBeC=90uEqEszLfQ9<5419hoSJD3m2gh;nKYfyK%@p zhuB8E1hheM65Fk(c2vfaJz1m5{y826QkySGAs$5;=h|Rzyg$TIQyy*X1sCH0zVepq zman|<>$0Q_Zzzu!a>$j2!BAt3g)l5zjoA6^Si*o#)}XYA)mrK%Pv6R? z?ZJF}3YzqmWSp9l-ickLcf#3g+S2Rudrl7aDd=DOQ^l~9Ym;r~8ZyxkT@tUiSYV$k zOCG%EWCqF}FTe|8`J9-N+Trj=cw`XI<0RZ-`zo($&hlfDvM)mXnXP5prawGh7l9h| z0XAs|LpQFu^u8yXFL{({7%gQR&pbewB1dUC#948cr6q9Q2U;-Q;jN#953`1c4%fRp z?9o$=ni54Tvq@E;wH)`&-G|8}nym{oMjUZa4VKQgBB`7;a`s+OY`(j{>DmnC;pMsdzEXvc$TX;# zXG#@Jy|U5s!qY)W`Iml@WE8paNKHj&MZLJ_)FGMCDGx?U*9 z1jC}ch9!giwX{b&AH8aNomxt_juwF(D6ZD|7BMh#{@Vt3=WWz^#PkvcW~w-CC1u^5 ztu#@veWzn9Svft$88L7C;`EU^5m?dcPK6hQb)};p=rlT+OEeBDIWB?(RCb~fHzv3t zA~8ti5==m3#}aWrqPk$7H*jyN2=akI7P78xkOWtdm7Ic7c14^osW(XS5WaJ1RVAB{2FcF8(|a^W_Zh&k?F zXvj8eNWWJG9R`!+ZBlHlm^n_603R(iXA7*i%lFvi&*0n>eV+u#H{O&6jfl1)XOlQ8 z2d7IML@}|iEM>JT{x+u@zCrT8 z5x+_88Hy_@0jZ?hcvCt-0;$?#V}2ddTkM`V*7L8W9CC!DC`X9jL?}mymmEo`AV(x5 zHKvaoNr)jwBqZtdrE-%aF{pCn6hqEXQ(%XhLcL$?Y$;{drnl+~;~58}9~ysJf#0R`JqCy!kfqQm^k#;#A?H5WNH%d-*n% zX7Qr?nO*XD(U<6#OkVU!`rl3jUh_scu(=Lzf*ZX932yi>e)X|rv_>2s1M&M~2IwZ% z%mOiY+o1w+ZQ?-tF|vv#UZ6d`#t*>Y(Mml&Mg4nr8_z~xm&Xv z^BMFo?MQftYeyUq zw55vLQX5-{)kf0KptbYn{bU#no5K&lle#uUhGV+JvW;EcjqYF=eL8NS)&Q=@u(ujH zi|!Qea80iEsUH;iz07`VOFs{lui%}~hcHx8i~K?4HrLwlxJ2q&TfBc>RMmTJ#7VvE zwSp7VpPB}CxGN_@vrBj7s3YifH||c>8f7tkuDfw|81iu~r$I@t?Sbu&a7_k1Z9;8> z@Iy$K?x3KG+vj~7`7_4enC5xRdKZAPLi{kDq2@;4j02>AGQr`;+$K`KZ9vUXK5ZbRLZ&7SmO>i{DUIC)m8J~@WTld#P649(01XTT z2Gckno&>xfB3`8}{5&BP>%InSgmNnot1lv{xMq0}-49RWOZcJbgD^B3eHlTirr0_# zvMBq7<1O8a-)*oRjM)RdQPKu2Rl*Y*QYBNk)CXe;>#p3qO#`$M5FX%MOEaK0Vk5xT z3hzRIHUcb)HUe>xZiDSU+eQHA6vAg?BOo%ArUZ}2d-bo9@UP*=iypu)O#}EP(&~?~ zu>CqBrYRQjvaZzp27~0c&+lEzpRQO^6QX(2n+4h@y^R2W6S*P457NmrzeNYu01wf{ zQ{E55#Z%sN>~pX5yL}lgwv4NY2pfX|dbwy|Zn^}eYvZkJ)5YE3HiU)-NvQWRi@Be5 zojdgif-7sKk*ROPGZTD=Am3%&G*iM4vjG71D5Dav?-6XffH5Wf2*L0TwEFiEVh7+? z3uOvx4ZtW@L3juBd~ost8NWo|dmM0B%~7J6rS3U1u9}e~Rtr#FB>P&Tc1B0r!RH~( zIC_Ay;+a-gl#zEiQgkfqOo!@f=O%?$y_FQG?jFW~F6(soAEBSqbp6}(Rk46*RpH9& z>Os!3ON3PINsHQ9mBIY=6@8ly5ZgUg;jA7{eW%p7@J^lbuOOg zTcot(H+!-5hGM)pfV+0#51IX|yPBuOXR9^O<*7V=@@-(^4u7OHc@FsCK&G&cJJ~KJ zTVcZ=0~Di`bjaO8+>e!q{)fqz+p)OUTYK+=Z*#DP0?qY@=N$Zm@TTr<1=1_xOIoeC zuHOY3yW=PNGJ*6nb3N;Z9am8*$lVeu2KtW%{pdtE`-nfJY-N0j6)c>Qb-M8_;=}K) zL0g%KkE+Dub;FYmRC#CpPBOeQH+(05LyZj=^{JLHulip}`7&^ROVhxD9ra}cAekaA z7c4PUG&ovPhrqEYx)GgIhb#5k!IWd^Izxwfzg@>_j#%3G@;*L;FapN=_=4^y2o6R3 zmGM~L$EQ5C;1Ey|Ai=?)zK>6Anmxgx@7vG9(MkstK#T}~iXX{}_w9cMKl<4m`CDmF zZb%j_ANh$Zejh)nyo~7zFW%&Re1Qpnj%*8LJj9As-^Wi9tS(X31}B5R{A+>w1+w#f ze5np`$@}njNg&9c2ysPyzHu771!&t z?5a3;#dcK;s9n`>;FAk(99VJBjRHqItKX6sj&+ZL4h)0+@;H7dZ9fmsg`0Q!143R}Li8Ml35MMaLZL-zu@dYaok zWI&JQ-D7qPy>nazR(Y^Lg9rOTk@=uIPeop;h6i9saqxivEl0Z*Y*!N5Ea=|ZyxpJ3JXT{d5Z~@+AaCC8 zkD+Lb6hm=A%#^%&yPy7^N;W4DJ?ba{zgEDU5b6(j`aN$S#;!yLn-t~vdT@N1#)0GJ zqu-e$apAr{V_9uhLUDS4bS#kj18oYOMfi5VuugT=>9_kiRPpWpWO-!X?k6SY?S587 zTd1sW_e+|*-OnVx-Om`)Z5burmc^XTQPA1wJs@o}j7=@gl@IuJv7pE&sfY%qYn%(s z0?>v=>%T|jv~(We;~wBhxcqbFdz8&TAl>N1{wUrD(OJy1tM_m`_vEW+3g^jZHJbv6 zhbvefR&RfT8~u#^6WahRABnQT<@I&8bLst4u=4v z#|h~m`_Bj!DubBl{sL_Hni%e3N56!Z2cmz4TjK#dOdCGV1wj!tdlVZY(v7X6)FKG~ zqD7jyZ@IJVDLVIon!hp$E~yu#8zZ3KqGPHlDjVUU;#K{|67rY*O__sk#=`8kZCN61 z+%j^$0@6^&8joOcjjb3_}g`^n7!HQ+=v^Mb)kpuu91z?sjELsphuWPa!Hec2 zuHMho0sKft=p$HgIEWt(3dBh*&k$UlvO1ZHtue@W3hY65hbxs89S?z2$MbZQBlK%IZiDS$bUgG%3G>rc za}5zvpB7%;ri`U-M|gmB0$n#kZA7=jwhBLu0ChVog1Vi!D7V3eo~_&AJV!c>ZbxJ% z&5p{R(CsWE!OK~islO-n=4C4Kfx4a_qWP*1Lf5kb5z`csl&)tF231yDbv@=D2uscA zJrE%j0>87S(Y2qR`y zgmG9(6k*&&Kyx5#CS%OTZfBHBI=`pwFV$u-MawcsdIwsp&EgKpq0OR_)5&I0Xfig7 zvuH}&Ec*Ojpz|5<$DjN*zsvhd&}76HZw;N`@gr;%@>{n)Y=n4oXSxVC2V52OU~e$S z4P6yL`O03{UI0P_%s})4Vm|kA3ZZ+djM;qESc;Ad`(y9**^V@&w_zz-l5JShx3CRM zI!Zy;Ze|;n0Ab*afw&E0z;450C~m`ID9%_+vD+~EWgA8aY{L>jY{QtClP=C}7*{NV z+=dYb+c4#V*@iKWoD`r;ybV*B6sILU*@j8FS$tp{CQJ;n6SZ_@q2PrFS`+!I;B4BH>L3`Zd^z#zsI4>l?<4PhDtJo z=yK5N$tFRM(c|d6$13P3D>^O)RZk{`kncm%f+Dl3C!2*sKxHlv91NB$so4YE^DCe(UVDC@Bv+tEe~LI_T*17o1|ZlR2K#K}uv{L>Co-9slnqro6eMuWjBm|;>i7?LI$ z3?@;7!5G6(Ms--X7#LZ+C|A-e7%ZmtLB46J4`1t|N*Qwr4{+D9jG^YfaJbx~i#Gto z)vr&-Mqx}+J23Ffl{Z4QeoPQ^6yg$0v`-Rne!p7YuaS`0C()Nm<)8vn0M&w|3EK~F z<-6Q)e}O*$zod(98(k75hFF-^4@9~y{z)U(&O&1fi%?4BO=cveF;1aWLP9BhsZ>&m zt(ed=B$>r#>L5VTW{NItrZ6AU>|5k&N{j!0)SU-(6;=1>&(wQwNTq}jLOLM{A%u_w z5<(hDNT^aoIw%MV3B4&GiC{piNKph7MHFnHf`THVB7#OmKsrc1BSk?`P(cyj-uvvC zJAi)Q_kZiXx7N#Ab8>!X@6*eiGIz#WPc4&0-X6oPKQjma$@NmMbjibi(@`uxYgu$p zKDvzmj22HQ9a{hfE}pysZEOc{n^=g_A~0rBC^DG%VsOAkQ%Cp@AHxI_Z$bEfYzd0& zqj5|DPK!$6|AU`Gd^9F>g7klk{i6O%XQHQL6nHL9QNh{??zeO<4&!ojN7AIi*v_C0 zA)qpick+8&J26~N7=;HX;uPLk=!v*`>I(XFBHj%w)4PL#t0yWo*Vvl?DR;D5LPz{4 zHP$(7=g2h6u(_ONlHuIj8AUv%7uH6YH(69KO2D-dr3r4{(gTzNt&OlM;vwnsz1wX# zE?)Cc{W@cy^X#4w`q*AzXk&YWiEEtBFl^9y_RZi>fpuy10qBu^0Quc!x1a>#z~@OC z!+*S&!mstg^}6qL_64WE{Z6M!&ztYE{lR^%BMxBrY4L{1MestniSW)hiqak54?>yQ z9}IkF8M-x3QfDAjv!Hj`4M3HFsM3%$;5B5amNx4S0%?nn)p$&kbh_FAi%q_KZZNpg zk3eybt3#gdyU+XXIZ6k`cr_Tk&~zAANf@JbEDjqOh}MIaSm#&|_t|-r?-9eY^S(!n zLZNz_^JpBi+;=ii+!8};NU@a4f%Jj2eE+=@-t)VPF>1#IZjp3`6uteddmE-q9 z`Ncy^Y;LdTwVAhr41Rx%^SV1B3)NJI=m-UgUwEj4PgylgZUI?uK*|u;2oN_P>HS}Th2YnIW>VI8dqzK*g^6QyppoP5)-LNkr$K$(@sW0Mb z+stxQX-FDYU!)ME?kAv&eG$_nyi~~BXHG(uhNNND0fiuStvbLoN$<`&m<+D}SO?xv zuB!u#(NPD8){7Ob@o+KK0fr#!0L#u>2NW{Z0e>)pieV;}1-(~s3Pvyn+W%CrK&P9A z|7P3;=G6x9OKlnmVfg09=&bwh=M*REUNZt>81x=r8UZno_`AVyj(~XYHu3$y;tLF8 z26~Y%JI0|4L&VV!|Npzu59K)eQG~vbys`DcNOA-bB6H$Uq0w(Tc$|p|lX;Av0agfy zl1g@K^y|isGf`I-3)~Z=BD%p;`yTjLfzNBfjY~c`AI;BbB%%dd47TBdUY!aQ0h<-@ z=L^@AwB(fJ)+w!9!4CuRPG1J**#Jevz$CJ7pdt{3{jB#&ywbnU3b@1Pt>`ESgVKTrCnvs(fRb zB2`Cw6BErrD!Pm(Gv7e_TY>0)ye@`6HvsLPq_R{~bPGW9c)jh(KH@0~=dB==)=5V9 z6*~I;p$P5sDTFx%C~Zq&)}io2G}IZOp!-HLdysoogYC(t2n|LvE4D1vM{Fbatq_a9 z_yz3Wi}++L!&A{GqJ6~gL9?J24GBX1g;2t#_?*h;FY>i257Y1xrS^?Pw6`VufdsU- zhj{CX=gG{}Ftpv|D~i$#j49HoM(T%QI69R>RQ`!*e=#l~p_wTLH%0fYv1m>s`v{8tp}6m2Oc6-+vM&}( zsb%21&`uiop!q6=RzmtdWIj(J%+JDbnu80rzt^EvV_SvR2$Rmwf}T$4Vbd4T8j-Mf z1d2PMZjm&ia+0Yy>jv2yMDPMPQ33S6xh-H241g}C6VZ}Tb8Wp@5CgO$^0$R4oTxJs zbVAU4f+>>dSEeYUdi60Bmxv*nMl!c(O01=%17^GymRlVWHDqZy`i7Wr!=E)!LgzeeH@Dv9U< z^w&uIDLfELJfvkKJWF2>noOX08)y)G)$1Mw%WPZ`QWGd6j4v8;gtQo%Rv?U+NYUa1 z(Hfw8M67@}_Jgbwg%T^iQLuD#Q&BTcd`n@jO_%fok*|-WKZst>ljN^rd~OOQPDDa; z4HQd=;zgy3Da#5*%|tPqH1B}?AEZ{{ z{Fur!UHn0s^RIXuL>ID8a0*!?(7br$VpuapZj;IVY2Z;hPLBsl6&>Y)DftW(FmndZgVk(8H zQ0#?briP_k*%JMA7Vt4`puzR319||hqEKpJ95&g=vTGK!icAwzax1GiFng(e( z3>|2Y=quI{T_Nf(HfSnn_DMk50I^x~0m4ykBfLN9pk_c_XJ-lVlek@ct@(lML)ebk z2z}#gtq#!TJfu5rY!v0_ zX{HB>R*M%YWiq!fi4ByaWN3SX;B6Og5# z@b?qUt-WcvBwE86gjHj|iwuYCPto4Ql-*6`qADFtEP2_^T*^%(g93*5>L|AmJw=)U z${-^6whYMXDgT(ZN!mKDUwa$)s%j{dH1Y8!8%Z56gZ7JG&RQxNnyStUxZVqzQ6US4! zgLGrUeXb}Go4&)Ph{@?6xH816#nVB@H#W>2B_=oT3Ffak-N9U(n-6Bc=40Hg#khjJ zEY$oEO6`Gyd3ux>oRA-cF8zbZZ#{=Eu)mu+9n7!eu7)V0sI{k2l$ajSq>&=hThG(c zSI;mE|2;4d=AD3-48|ejJPX=}n`=+~%lxB7H$K3?D;2;wpd=crzUB3yR|7qeSnN z)ObzQ4=Hd3iM7qUyL(l%c3}yGf{P+{Cv=Ar$n`r4zC0bg?iZqWz_fjH=3X%Ov^ffz z?`NX#JAc!T@haz zsNc=Rc!!u;VkO@tb$UOtC!qAhsp5 zU)^As4|T7L_PJoc3+$9%m<(Wx^5(REkj$wfhUJb(YAuqou)W<2rDU~=!3o&*+9Z9G zge7nROe_J+Z<`jF-yUE>e(km@?Js6|OKDHT5l~8J;?Vp$3(Y>QM`T&0@siOt=MsF`R5Wt&G$1==Tj=H z=c%l`c3Dao?>lY0ImOYVW%#N#7?*P-akeOQ|5jVn7DmqW6>ViWkjL2P!5)>g4os_! z6}Yek=0gh%*0ChL?%wu^edJs1PlqpO%e15zmpc<gkbp7(s)J{7fOwhKr5m2Q!n$TNVuJfs*oPgE)~)D8X9WT zN6^Qn+4Kp}T$@m~#HI!i%4(toA~tO|$X+H|C{8!t2Xuw$a#|A1YoL$1h2rW6K#dkPj4vlZ5pOG5o08|M`5G5pH3n`BxHrPJM&WPwBr zLhelN)I3t85y^Up6xr8M;WgCd8tQFR0}&~PNpj!aFhxX((GFRZxZ5F%7WdjRSj~wA zEGr81tsf(n+A`RM6VKSx0BAjHE`bl~`}nkanr!5>r6LkalSzuPLTwiMS8fK+tcNb+gg=gO+HZna0nmxq{o5HhuiI%V~!%#fn?`BbGQ+ReC@fcHlU}|<> zvBswG?0%v?tnSd?zRc9@0V3X}@a%!2ifK+!ZuVfY$fg0=L&bA8&B`7oF52`=_6Ttc ztbQ=eqJmGeM~OL1wRwlKM~gK~4YLkqm(e;2HJ<`mxzLlOKM%;ph-{|c3r}W`6+MX- zh@9m5?Z%05EZgOII)0*9&Xf?aI)0KkC^g-0HVJo47BR5>11o6iW0OT1(QFv&ehZ!~ zZX!DAsV#cLHAO69T2hcNrid*}hl7!7n10Jf`azNske>qd2a}$m0J&jB473 z*>h~#)NodOl}(WeeU-U3RW$DF@1+?)57@G5&#lTMHXZjXQ{XWw`rBbVoHt#up8MZn z?DC(hEVN}wp^qzYj>MW5!q+H|+f?qqNqNFSpD9n;bRg}ZvfQS<(bJU`HnsEpm-4ht z?g+E}vo^(sHEO@grUm}PBc8LVDsHUb^A0+XZwscs9Y$5$JK<|>>fYKF@rq3@-?|a6 z+O#D+JYu~~x%n+4UUN`Z#On?!j@V$+lX-O`-m+-|_}lEDtcbTAR2;Fzra!}75%1Yl z92Tf;bI{?i_Z@U9>_dyFU4Lv5w7N$%FJ**h;}b6Qx5M}}_(_LsVeq5cPFoh4@S^Zi zM(RNaReLtjSq&=hFp@$y;8P6rx5L=c@Xzc|Z5o}vO?+mPD{q_l+@`C!+vs!%9d;Nc zG26s$TlQG1_32;Q6w!En`W~Cw0l@ctdS2mSRSn(h8G=jZIB zVlYvqTZ{P+;u}F!C3+_$g&q~-n5sQXJ;%f%rlioNp5tN@(MbjC=xbr5$W)iatoGE1 zFs9Mzt3Ce`U6@>Xt3BU{c}!PxS9@y3Mxv7n*3q|O9~0KmNpX$|>*$m)TVV_*6|AGv zB7zC)=!|H~gmv_t=s{GYJnr5gz8C$OPK9g`XT>n4P-r3NL>W_iXjwmq$xO?jE&V9& zVcHFJUd$yrsbJgvNjyPR1&@%-asMnnWzBK!gW`hN!xYoxxVR_|G5s8NT>K(VF!cc0 zui_NbMLjZ+B{mh!c-E|+7qjE&L)2}D~VIkj$_F8Enafj z%l7fgb2eqSPgHi>)VX~NMQ@L> zqrZXeTPb-=r~JmY&rsIbvWoU?m7_L2+&)Vgnq&EUs(p@9%XG@`_4WlyUapj#@~duN zr0llobo)+9Ql2FT=N82`U%=lIQ5@Di zr=JpP)1aIIN`g%jat14zHr<5-*gHlk z^O&mJcU49yFEa@kBS$H_na)8dqm&CoRpM;)(wxx>9NWNOm3XOWRZf`_NOV%EXdI}O zE7>foXj~jHMj39?D>>tpM{L@VGf`P-`|ImJMd{K(hB*U5xm%fM(%U0(h^d|LXE~26`)u0d|D@8eM23$_d$b_H$HYgjI7U%u!w^2E2(~+Dv6?bRpZ*g92z$PWhrZ)rLRxU9u3Ot*$ zRY~rGnl(!OykcdmlFrmG%@ErZSmu!oN7MI}4oo!qM~tr8m0gke1Ij?AUt0aH z98l&k4QTv}a!`4hX>#6Q$|2n8rdMJE9zC!uiAzrG^RT z8b_4Vl9auT4E2ceBhywW`J>7u)*KS$qaITtyHg%K^`ie$j>8vPWRCF8bwcUOG^|yC z`Y&ZY(`Da=YOPYsw76-w`mHkUCiGV+X8ZRFIHlaw0|{qVWBpDm{fL&h^NN4XIin0? z>H_q=GR~H{bI&P@Y?(XvN9ApzDmRYhKPfvUiRT*s8uqhtkYzXryQtJMy%E+`xv2cW z6qkjvD@+SXGqxwDtj2RF|F`UmN)l0}`>}lA`WKZlqAG!Fi;K!~qLWG$-1~n~s%_aj z;lC-Dn0hCi_WMIg=>=!^}UFzDQz+i1O>I{GrTYS`796hw>89No8@Xj{>hK zTZop3rE#&je=7TlszgOWM($PRG}HUZNLPq>&Y;Bh#u#c8nlmV!h-Qn8K8m=i+)Pv{ z_7IICk|X<7Wd;%MrsYGJOC-79F*^nQrK}>tJ6@OEzmykk>Id|eO=Y=4{fOz5-+j5N zy2qxcb2ar_o8HSc)XPl83E$?rRpVw%HQb#Neg>**lac39Bbmk&h3C~#AGN7#UZA?l zreS$O>N=Yq%xjLDUrBeV=oQUhivFZK<{=s)7|mX5AFEH<4U1q^JX> zj8+UO>PVL1iXlav#Il-%W$@tS9F{ds+Z>gmKF3s=@&VBML^aBa_*^wb-6hHMUhCdK zUow5)axl;#B3w`(C53(*+)l0E4`Z(q z<^CIkv(=qMCzT5Y2St0eh6(pPa?~H0b~L=rm8*LCqra01?ttX0u|!p3UFy`J4(ekz z-5yk=u3=5w9Vu3Q2gvxoZ*gmIM>UiPR%ftN(@~9OS_FGDrD`(M3$QoSS#87gH0Mj;RCGVNB`KU#bJu zQLL#XC}OZWi3#r(gVoqUGSzqo8mhv>WEi^#?@mM2BuPqf(!~6sYCk3%!G@|Mh!%(! zQ>*F?RUc$}E$-2fTh%R07Yg2NFigF|l#%*TgWJ`igE58$Vn@Rx4MwVKnEom_*I<-- zo(bk>^~=?9L!{<$zZLbzt0_YzC57&+KS_OpsXX`g22<3Jm}=u5NxED8jR@B(%Nop7 zlWs+SmEySH?E16Rdx_-OTB$xqgk$TR{7QAJBzJu41^M@?-`TRm^=7LVY&tIHsDZa( zm{p+JDd;{mn`oh!7x+~Eed;`>p0TTdK4h9uydl3z-N&>rU|arN)o&PvvQQk)*^__2 z8e-Ge`46afFxBLo$$v;)#56nZm;8s-`opEaq5{2Ofx3YR?*VlS7OL;q)C6d!P00m| z)URx6SFl(;&2-AITfyV%FE$M+ctUmGjxk`EQwp9`8`w0bV3``vRGjcc!3s6ard2?N zOfRHwD0oVpWYebwE7iF+bt`yAeUzzP(6NGN)zdbeD|k-L8zEzF7o>D}L0xWBWQVot zZ%jY--F!ozAyTlQh$ z5fzRg;1BQ2Ultx!OPJQ@y$)1n)6v3X>MW*qzCRQmSC=v+g{nn0>g!D9{`HH#Q9os> zXq;H|t@^!9ZHi8*t}+>4MdMCI->C^U^({K57BbBMe?O^{ZE90=L4DSyPDQ_})i(7l zx~!fe!WpL`{#1V_!aMW)h(FcPa*Pk}%qzmKs!>EI72JKjsy4UjaM)ie9Js(A%1(tT zS~uyB?%IYnfT%{nRfwStlbW<6XlUc4jQ05qZ6Xtne1r6$4JcBTVq^P7agOM|551=ufd zq(w08jcy$ts--ct^Bq|frWM*05gx8hVG0Ub5f-K0Z`1IIDD5ex#d#~jVzk$6np_m4 z?Y60^C|0Yr>G7hbTH$z1%Si=K2jaDrOgLvx&|bCayhzmEwdtMkByBeno+G4a@e^by zc;b+%6*J*kL2Ioy6P^{MX}2-qSwV(2jtS2S+GzLKloiodd&s8Zh%9Xd6P^{c*Ir`6 zvw~c0vrSnMdD>2!iX#fNgG_jWQ>1;zgu4}`+7%`|N9d~gOq6-R-Oz4Y6DHh8>8>>= zs!?#2e3O>OgsbEpT6-p3CHK@iGT|z@x7LFRSIK>}0Zh0`?yC)F!c}rVZH!HyDFd`= zOt?xOq*XHEDtWN>028i~hiXqS;r{0^?IR|f2@KQrFyVf|FzpZ%?ibvyosdNPQX{l8 zOt>#KQajI@xR-FJ_8SxKC5+OpvL@|WY04xlvl<0=7Dj1qCY-;F)*3S5`n_BWXTmk} z7_BK2uI9&TNldt!AFCBI;c9-IHjoKd^W(K)l4vzQQ5(U8tNDrAovev#^oiOymf@;= zl6DUhuF5BC_Ys{`zHjkN_*88P5zg}RfSw{+ATs=Z4WFiMU|O5ECE_lvmPw?Kiwuxm6gU3bQuZ2y+FssDE;8tPxYbiuEN?$lho3FKH+4n7! z;`v%0%djQS*Y04#mONh@MEQvbc?;)E)fS$A|srUhH4bv&V;^K$2jW!J} zepuUSQ)Tg^+EJ$Bgf+zrwbM3j1p39MUB!zu{VvSW5|Li?P4N$Ydq zI&GsQH?DTqY40*&O|R2FA(Ct6b=n>#TnVq!zGlLe@H*`*kz5I{(=JM)mGC<43KOn` z*J=86OiPUiSG4Oi7tu-2ZHYy(>$CtO>_^YGTBn7u3|GnPwSGj<3L08$ewvTCV^moylwb&V$mMU?w)rH7+v@E9MeitIQ zXg4t>h5E+4t3Ak6?*DuAR?T;&^tUecaO8X1M4LX2d|$hl30J!xXiJFX`u0O@B@?c1 zKhj=g!u9RP+8a!`zTK&9VZ!z8F6|>GT;G18eNH6T=$~rmm~f3=t-0>Ol;P>)ZLZI> zW=yz7|3d3XRHNX!_)D!D6RwN*YBw|Cx_F;9kO|ktUunZEO;{IyrIj(^x_G~KNfND# z4{Cof;kx*sc9jX&#RoNW7N)GmgX`jhn!hAk2_MuNFyTu0uolCFE8!zrIuovhk7(JF zXeE49>&}EL;bU4K*2IqfKK?TnX1`tC?`rsL@_0 z!kxq^F*VwILqfcq4nQG%AqrcNaDy3|A@$Q(j zT9bo@zs-zHJ=v$l`v zlwbXli&~9MO-p{!F4~&yOMcUo*_alLp>xS4tv*w6!qAf6wMd&r1EnxMmOiuO4{fMT z^-KQL?zCxf$yIFz5sp3Ov43e#6XDo%XPnT#B*L*Lrm3p`EXmy_KU=8!Urc{QBl*t3 zlvUAOU)38C$&pCa);p|@3ONr#{Uej-3>Yeastf3EOs`k{x zn)*DZq|lmJm%g4zp5nXp^DG;kelFHWAATRDOt|vS#n#b}GF{C*7wfC9tdg>lm~*jy zdfHq`%@cRW`s-yx@=QNK*XN<^q=IMqf%9`5Z(;{VOJX7NDVioC%)=2+>b5;pu-P z{X7$%{)g(9neg<#v93OVX{k~0sev%P4ildDH__`d;dy_!-iQg$`y=#7COq$t)SEHk zd4H6iEQ!whqxDuS!}I=VJ&y@zm9ct9CY)6^)w?m_JhG{Nvm~0E#_5BZaBkX6znwL4 zPMe^YG2xuHxjvCK@vJ9FpTdN*!zBGKCLBYO^chSzh9v2;Bq=ykP138FaBkW{e~1a^ zrY-bkOgJ}9*4HxO+_a^>o(bolt@O8;aK4+WZlPQz9H~UN6bhlWckyD4Xe& z-zO#c`V+S7NJ)WyfT?M-GbJ7LUx{!;f#3A#S8e*DS&?4<5sYsM%uO3acGMda;b?O= zP&84E@;N+t)KO0)l5^UQdb%WM7ktfS6)EfdyJXZM|Reu z9>pBV((SCbAesYt?-$=$??-gf^DVT`uKGYGd?u=^ey7xQ#}(zOUG?!&rc`^}rCs%D zOp$P>?51P*_+&>$s()!Wy@F*`arH~P>+S_8JEKi1{UUP5#Ehg+az4f<=@cwYPUT=LD(GG#5)Xn+aJV4*T)H44_@*w?`!`~3A zB>XnIx++8TA4w+T8=`v_Qta+630;+;dJxl&1VaqfLnVo`fkRu~s%J2r39R38n0^Zq z+-9SE-i*IpFDIF7yCd`&Hmyh)p`Rp@EpoK}6B9m9J6gX?ROMdSW=h-9y0Qq&(@=ES0n*s5s$%{X-(zs~*t5AcAMX zBf?4_(7$FH5f)qekbZ{g^VG1?NA%0mpD1kFqI7{SAE{j;zVJ^ieN6Xz5@T2*?()wp zU92}{+MktL`naBIQ*P;#dV3%@X!iCgEM2DeA(?Eu%k4IZXOT`Sie0V`wlxj0T%Sf% zqx=eQA6cQVXToQ&R_L|MWNy#Hk4RVOVmVTcXIOUU(iOT}lJYJ5VrhjQz_Nqz)c6WL zjAe1q!&m52nQ&ZMq0b^(=`)-5n=Dx=UJhzB*Js_n@XS3*E2==-B!9%e~U<# z^)vcTA{ojv`WHm9KRlx!V1F3OGkOgZhO$aOO(a8kPQOTmu|MyAPVc<}^CxGAtM!3I zH8g`*tq&opa$|X}*6(1NkhssYTK|M-wtHAiSLJzq50QN0^LhOzrayCD@OfUp%w*;+ z^?hECd7 zKOw3V7YoZ0H|zQ{0{*bZ{C(cm+Yp`f;PZo9^zKA89&CeK^np@Fzg*a&zsZEZT-c)j z%7ni_*rNMCi(yuZKRrkpk|2if5+O{Y*|dJxs`n?t8Y?f|s*fbvA@CWHt@;=yd_Lqo zeX{f?UT&O~_@4eWlW#~u;x>IJQ?=(!pAYort0+fs=PIr9kv@>ANkC)I$NF}rq|i5g zKG7#WCpBBcqnV%S^CVH*{Y>9!Q!C%k^|;lf32T`beD>(cOdmnp-J@qP;r)G&p2HN@ z{4~glB|(_Gf$m@#hVqp@&f)JXeHzoMz^RE}=@pVhK;zTyuk?2%K`2Xo_v>F0$yRv%Y-$3K)*~R`{n`Ncpmd0$Fl=^Akl2`2K~}&x%5(;(Mvq&AF`QJeZ~jY9VR{(W5C76% zW~%mF6193QQ5Eb092ei}lh&d?q_KV{^$j+SY<^0=Xw!LdTJQX#rFkXrJAHsn1Db!Y z&#`H0={fyLoAPsi&^OyOyYxr>AQ8^i4vO>o6{Z8Qe)vfr{1V0>pR4>?A4gOLzkccz zbU|OwGJLWMKAG_{YF3I6DEVLXbfS~=H0ZB-Cn9(zs_`p1zv;Kyv?1rRKFOxO{#W$C zS1^<+fzN*mBg3Xwauj2nO&fAFqr#@X{-zQ3s`M8GJ>16_$+S2R>3*9YDfKblvZ*|_ zj&abYCrf>egmp3$n5l{Yqb-qay8%WX6Smy|ql5_eZN@eaFjf=cC^gnE$k<3Ee+yOD z*eQvA3su)RFa42bUBg_D@yYS5p3#y>j%W3ZY$>Dhte#OOWpwwgXG~@pj%W3ZsYDB5 zeH0y3&$ypR_Nw~E(?qgY)i+)snk~K+zXjDdb~rQ}7<(L=4UEIAnJtFbZD1U8Xa*Z+ z9Gbz#Ppml`G=q(ck|2M-*K25$yhi0ochL}|FB9HHLyYZAxP#ot_>$>D!V9I14E*f0 zb!QGW+(dHkH`MTD8SW>C8VM}Jr>8=VY?k5fa;VXdWw?VJYLqeIvpAvfZ7YnS#)Er~ zp~eIz+;a>y?qk9|$57)5CR~Mt8gDb<`aRTmR}$?a8jV#58% zCI$>^6gxhd6K>RF!u`kyBVLk%E21dlAd#GF#26=tBITCfvVnV?0Pyqu}mxTjMOtl0vKNW*O#N7+(!NvDD6} z$ArDOoe@cdbB*$(c1Bks?8V!YvW>eWQQOTiDw!Th3~rEP%wfW|n`=DC6xRIa2D!$g zL^!AYpfu0WH_6;a`5i1RFq#w9D3?>dE$v_wGtKw?qqNBAPqa|XO&?aT*jP$5TNsH= zf=i8eiDaMdZ0waXNay_E&W5>}Vt_f()Zng0IFTGfx*17QMq@}fqlyXVMBR)XOgM&g zGmaCg~W`Sn9Bx*76kaB@y`laWZW+3wQ~rv~3-r!kgD&ZT-9Q`YSK`9yLCSZ+MdgtNSIW3?pM)$9WA zg?gPx=6#IuHW7{m$3eD_{ox#XtP#8&Qzqw%V~zHbD3ozVCn6cjIHM;KhT?8A&X~>q zFqHAeqf(RBo8ygzQj^w{^G2z^FrqPcH$K8935lp!6c8@WQ z31^P8jOU54_dgR}VQe6hv!_bqeJ1SvmBw!NhtK|08c923%JA8rdyOoc&WqVbsZH;M z-)9VD!e@W(H{M{vXMY|rzGT8@e;zcxX2NHG9x~1`;j=%F7=JL~vpp@l5#a&k`ep37`FW!YH&UD`Kh9%ckOpWyUZfIp2NCm}S$3oR!8RoBH~% zGM;C``R)tGmo~kUv&Q(vrVTkS8a_KQoj5b@>;H-oMs!laCx~7%5?O}phu4i#rd|H- zPH!0Vm@b63jM!+r&xG^jH;vskjcE3!(PEd30cXvdj69njDcxiYv8g#%-LmBFyYzDE@L)p;>pM^<4Km`S;!~G8YVmo`P6ueHF4JU znX!XqILrIO*u{i1z%PumMA)Y%M|@%AS5qE56|nca&nP95^Z9+oD3;;qw$GR*W%L$= zea3Dk96$FNC7)p^Cl$Oi?=$8RRf;;{NV%V*tWvZKo6>Th(T6Ds=qsa~sSti8vfp@u z3HLSj8{3#d^5;kFH+;XqPO7vjaxFO|>l#81snae)17xArtN=A2F5@;eK*n z_z`0jk=#K(YP`g<5t(`6M~ydFhWp9KjCYvQ;f)N(j1QSynMj`!o%Ghx7V3Ib{soBW1_^IyL#uSjn`@e`J%hM%%qo zb|7tKlOK(WeUdJO`-lHzh_57dPwU_0g7FYjP*7g@uf}qlI)(pcG~X{Z7w6@L|8BIk zsZaPH#tfTAhW}|iXw$UtzYK9e`opJPHPbvOsiLtO?lK!P;ck=1jJ0Kb{p*;gnQ%l2 zFrPRi{oyEF&#ZsgqVuA@xzeV0!h_ASBbMx{2sPm+@bEWVxFfy^4>OaPa9nC)KFWk+ za=3Ys3CH9JbLcVY569#v^DGmN$mR5uQD&dR)W#y9G zwfAxU)b#ZW$BT23*XVj4#==>L-OT`fe-flTw7 z%uY!$w=r#PGo@v!8TpOWT%0+jWoxqn3Euhfa^|X*Y334=EfC-3Y;2ifzQCIA6f|kl z*4)jqQ-0|wnWkEcp)3&d8vCSVnGKjSQV*oGGrLKmrwMb+{zN$PJsp{2P9l=K9J%IB zNwmw6YYzMt!<3r2W*Lzj74yvPL~@0aXYP|STA}2bV@{$!IS%HTbC__2l4m|dR4H(* z%QIIH$r)gtxteIU_z?CrAO=a0&QnqOX4WYTvxc53D=>Q!o%G=DL4i4hWw=97U`}Nj z?j97FbC_@>Dli{pO?>{WzaE<|9macPcSoW5PREiMfFY zPce#OOUx}y6B5gT2A;vRRM8WBrRH!Z+++qhwWjyzoU|%{eoU*M<(1axY-=YgtN*%=3*w?A-KhS zkx1?k^fNzU8SW4aFi$YyOm(1nkqLJQ2AclgV|;RlV2~L@ggc(qb%&VkiSXVrC1$AE znKkjbu3OE%OnC3O)x4cGaVO(ea|RRcqugfhX2N}xVP@=Ej8E>I3^xmHs!AGRj$%3& z&@<`|b0rb>l^w0`Fgu(>f7n;129Gj_6V=e{VzgPtM5`rphSa3_#AtIL6RpS0v>zxG znoo>27ZA;+o-^9qLL^uEqs>~TU2R@%HQH?UBl?rGgfg==k(?!znT0m}kyd7ICX%y+ z@#c1-8qa4L^*W6=tC^l^i?ok5aRxEoJW7N!h-X`kH)~lF&!8umXIVBP^VwDt%!@3; z8N@{M3K7l{rUp+m1I}YQYdm;9J;@9vn(f9uJ;`j(guQr@Ih;t=?Ig2Y`lG#|N#@;5 zShthRxzZoBg6~^RG9P8CiaXM3vKjId#y1;&QT$-cG;=%ALeZmWTI_W5Jj<#*O7u*# z<QfNi=d~*)d!p5IQJ!~Fj+R-pSW`P-hLHhfvphwIia{|+ag3y@9 z&E-s+8Xk{cYPv5<&5YD$G0V(5nDDOll=&zTo}4dBd&=C$bbscuw5QFGU(nwIu?A!- z&Av=CLH3OK1XBm!^=Z$VTbOnhzniwo{EBH4&~xT_rrn-pX{*iNzsfMT<+;*Bm4ODEoOZtGdH=}7Bibjp3%N*4rjuX*R5tX6P~=jXXag@JkT?H z+stlEc=GzbIgklYUOzBLG2zMUhvqaUJbB%2Rx#np>qq7yCOmoFVXkMwlh=>UkUud# zdGfl`j3zosr%=1hmQ1*Q-(_}SO+1zT#O%#79CxeD8ARA~QsO={=d&iB*nVy^1L_n)JK*z2+QS^Mj1NX4GF41C5yb%>*Jj^Vn~8Vi}H~`^~;mM&svx zb3GG|pZm=ap+GQl9gZX@DVmbsHl#v=5bIyE`3CF=7&3#N=!WK6D(TsOV&5Fi{!+ti`G6e;75f{x(L^xtLYje@O z!gPOTvo^n&d2aNFBWANUznT?HGeP#7xs9oV?}#>+%vz?M#pBytHveSW1oXQZ0;_Qh zWw)nUn?KAMM7Z88Yj(xlO;jnC1O>DauAwlqwOSASxRMBaKy5SCHJ3=vwl&v!Ni^Hm zTz@$aE3x~n6RoNeo_-cm-hZQZq&33nZI*Cr;MZR@W0iDaACUHgbIEq}%9 zuED-m3_B7H*DNAAM=@PLl`k3iD%Y=Q*bd|vSysbWFy6z{Ea}?9Hfv8gK zYV%jT>H3XG_9~Z4^GAPjSK8%@B$7MiZdYF>jKS^F15i`$O1oX*M7R%~4YD{%v=8le zwO|>h+U?3_*%=t?+^$(n*mm8nxkOkJUnjaw3$qj_XAtd5%!W^|~Y~vpTNLEW;S;xOTD( z&k^dl>eQ3z#4@Ynsz)Sauj5K#8OHAGx`PR0_jT2;?~UEpl}sd04t!l1k|=gxS9_LW z?7prpEW?unU)Li{7`w0QaU!g-#1_7;Hyr-_T-%7`Y}?PJH^A6sjrqG?WWpNrcWq_D z8uNF3N+esPzv}=I<_~3G6U`QpVo+;;*J-BP#gnb^8(c6;D+ml!gjMQ78iKQ0CB?GrE@3{9iZEWg*g>(_+*_fmtycS>a}^BZDZ(!3=Q z?Q6*;4q{itqEt(&3h9EHD!XSCpnX#^>PY)!uxs$80gk^N(sLFKsEJG=8g4oBwB^~Iuea>y-9vsQ@m*2_y^-o2dw4BA*jET+Jn>O z$5!ax30kStgxzhb!4m~4_&NhEL}9-eqbjhpHSt>xeo=M`Y5tSDj8TS5e)ohtrFCAG%vEQWN8nzAV2oWO(s9Xlf9G#v!~*>4}Q9^i@hHybGUlfu<@dsO89z z(M2N{oi#BH@(Z<<6U0NdNz#c%5PXQ~ITjx4ps0_78b<*0M8X zr#t#pg?|jT6V&-ncBlS7*=32f@Wb}dAKIZVK2OK+Z`8+JSUTwI?{s9^ZuBeNudf|N zgd}1((tR3*Df>|zxnqlR{>fZhbqXKGg%bGGad-2&Xrc(l=NmPpyDs`Uq!^>6dA%J< zI1h8Z)zQCX3jfI+?@G?loFV9R&$?EM`kILRH{nZP2I(lGS@E^uTcOEuShg0~BfNI& z?j~KZRAr8I9wGnU-Qdw4^{*Yl{=QzUHi@H$HL}T8iZ0hm<=E(z-Z(Nl^__O9d83PS zRJY0m)2UKVxz@#5%TmYbf~m6fo$gNijUjtSb<3~UMV5x;?hId+0QM|P>MdKV%&%{I zmL{f0-f^5RPW!b|?>$25Seo;jTC7lwTkbNC@=oC#;W5qDeNEb>DO(+;%1ZhF?fd49 z_Y|3Cr#re>sdY-dZQdHkWFDm{M=)t`6pA6peC=(6W&S}Xy8JhGjL})1idasgH=3%r znbKBDtrT4}a?xqDQN+R~7z?Jvie2{c*)%qysq*+K(oPAGkO=Z#jFUYCEKTS~t-&M1c`WW4fD{V|M4*6hM^ zhdHaAYbiw+In$Opm|snZB%DRaa4?S;4z93%fH19Dy>mVw=N>rg&_#DBLu)=@)v4D- z&JeJ~RPk{fy36m(U`fcfp@-;^%0PNnH|k$z>Hmv(Ref}Re2UlnVqr+e+1c!$;NtCi z*F_V5*1_C)T`W7+nkEiF|I)=5j<~$;*J{f4EW?pH8_4f=Ft63D4aP8UbiXkKTnFi5 z6!m2*WN%Ab7~}10*QWpP-DOX4)&iEfwN^cphvkg-WsTNf@QWXEk*Sh)=~voiXkNQD zt8u!>xy|)1*1F8=ZpDRR{?Ega^KI`qpgQJevVC5==DP8|<8+bvl{uC7L>aQQOLwV* z=HIPqy(R3FT5CfYjts#&3xb_sDEVtwzEV^6L7a!k8HhE1aLzrVXmyMum|PeCrxmd? zWVycf&VQ_Q{@+_8V|o5h_8eqNyk&0fUHs=dvdUkEfcln;vjos?mFo5NVzox8?`;Wx zH*4~?z-wzkhACrl=0b*fy^Av?)(9qBxbuD_eMxs&4sy(tY4El{_&sB=cQp70)>EoD z=vakWvE%NOwDYXPale+K$ve2y{{LbIW$nLtXGDKLN5Z+y>_pt}b*`FaAHkIC~xWSWqa`2@h*mKK)T2@NIT}ms!gZeYWbM9|7O=qh9-0U?@gI6XZX_o zPrju7KS`bSC^e-i>j+J&?xfu*y)g|=eJS;Z;~aUc5ll**HSR21Sx4vsYd2ck{?jOw z67C&^j>74TD&BI;Kdp3nMgb};YFCGqZ(yJyF2ddI#=mRzLlR-8CH!Eo)ez75 zVED3+TXwHY;}C4se^C$W5Brdc`0q_`ua{${E@CJ~jMuy_UW{dL8yr97`W^G73VHVQ zPj)Gt0CNx2#8u1?N+H@+wp&sxB`HN0MchHTejo_#ac4T9Avjyt09pks$)(&;s~DYy_ByS-Y4(O}-HBxBVU24-hG4l^ zc|lE-X3;!fN~bjU>dRcqeuwKLYoA%p45d4+?lti`ofW=Kd(^U5Cehrc4V9`aF=={x zy&OHP){gGZKWj{ImaTJS_S#k6nfZ4v)_Typ_ht1~S`l^Lma`mV|NWTYE&2bn^B~)p)0DAX?_#A#x;w`K zt6$(~KQccs5cg7W*0GH4r=@iNb(*q;<8Hi0^Ar7s`H76nYBRE>;VjN_kt3de9){pN zZNZQ&9hnQKi*rPh((7F;zgXIq-CG)#8~(RS1M9;12T#bru892m?@njrS_bROI)6vI zwI^_+9n*8;>6^1?~34B&DnIX#8t`l?%pz&I=X|bT`^b`%X_j+uY-3gl z$oA%Jv2y(P&it)&$^YI(h9FIEUCaBL6|Zxp!{Lk8e7235e;riOdb1r$>CFg9GFIhfvwsweC zOwRe6*WJ=@)(pdG)+|J<6(M4=XarB1Hx_q@CL$QFP`JY3S}Gz$G+c3TCBn5-L;^FzN5TIn_#X{!(O{1Tdkp-Kf&Z~08Ll|E65&G5f-3{ARJe}8l_Q#gtQp7>z-I#J zCIBZ8cY^;JaP@@Cqa=WS0(^!hK{NonA6(tw@UcH!!ElAb6%N-@xJJO01=nD>Zi6dd zNdmuVpq~bDq(K~M5Jwv5rio5)Wx(Z8(nx1M*dK=LG0{dm30ERqOGPHclL_%;LOhue zPbRrN1^)-bbsJpyN+$TvhWx_!iQ!6wYbjh$!4(ZxC%7`;N`=d#z%L@;|MMbOya-n! zTuViscoi;xxX^w~lt5i{1?~#mRrtWQ0ItQ5ivrOduA3m9o51f)AioL1y$QnaA?m`l z0ItPw6^mOyehbL^LHzwd-VeARaWwpo69Yhh0O$_@{UMN-A&{3LkiQ|IGX(NG1oArs z@-_t0GgM50Yl65{+zr#zr5y4& z2HtCmF^vJgW5Dk?&>06h<3MKu~yno+dz^CP1DhK=>0OFB3s`BIr(p z@Fu~VU?xFWlR$qG=ud|Fn+)+zhOj3Sr^5dXxQ;<-B*L{+OojNSLKssajHwXDR7le_ zNYgY3XBy~C1D(4;=Wfus8+4|Nx8Yg<7urLV8K5%*bY_6g3~-+T?lZwY6YMj=eh=91 z0sB2*p9Q+JKzA0n%>uVs;8p>-t^l_RDAfvZs{pr3h^Z3nm0e7ZacOauBj+M~eq z5v{-sgqDkDK9~(eDcO6F*$>Q6sAH7gN#=Mm?;^93%=^h)K;}{~74aIFk>X3TH&S{e zCx|He1xEt??x4QFw{IrUZ%Y%D-{ATCF!&`;7tsoSoz+KVfc!7zl6E zeo<^z`oOQdHY-K&>*Rs(ey0s!CWWF|60;4=(dlTq^3c4RyG;xSor7TFuj+;i{59Qh zfxmbgF7TIbWdh$|T?W4uIu9nkt)>iOQNYAsux*AfzFrl*DQ#ycJ(t03r6?+o*DyDc`5Bl8;0sF2;Z4Y>*$%##6r@(eTi%0IOkt3k0l%dVQY+wnCPC`M z@E(&Obq~CkE=a{3ZB{TnL26Q{p$4g#h9Gq%yt5=o?G5iLX{0WOulP1nqhNZJpl*e) z_Qq0;Y=Cs;s#`?kwBBHrrVIuXzk#v^@;FxAPGz+La#5vjfK;J*622g^0dj<9Ieal> z1LS2Z=;J%wwon;vr&8TcrMjJ6u(T^FwUw0GO0{v?r)s5I3cp6Lggkx;Cg!eE{T_ZH zUP-yAg!CT+dvEw9cqNrUHr2~MO8HT;*TQ>M-C8YtZ#Ph@uVC#gg_;_#B`FKxtszOu z2zXma8vKg!Q7}J+@BO4H3*lQng(NK`X>XA3)p{#y;T`L}m8S5%_SYZ;MLa_-`F){< zHP+vU(u)MMK}=IHFQ+AunM!6RnBS%4lU+(n$bJ)<{m2}q2PwgUW%~ONW`g)q?H6{J zK10E8_RdfqD43@oQZv#Y0@J5xBe>&tj1Q@=7T1Ey_P`7JgG#G_JJdy_zlih~k3XUXqT`u%+^_3Mk2l8cloUBz_zk~u?pwfIAGymEUW zd;^8bGYo1oPYF}8mBxaLA!5~51s|HR>bT?|z?_$S#Y|G)Y!dEDBb{u}xdh*#T^ojG z(`MNsTdf~b;3}lhlGN?yAh6@_`_m}2LTE)})y-6EUDS;U_qi@oJL#?BdtiF2hl5{o z-3mE^Zz`&_MQ^xFHEU8dq&#V4tYbMwLcHK#k6 zlbiPhvt9H4VD@W122A{N(Ilv;>0oc3I0sD3-6UwMi`+9HwCCM($eg5VF&~1o+Vh$F zK^5PBI|*9&XYNJN9|N^A$VDB`auwg^J4r2xX$|J+^g=LQc>}<_nv3?wTFnD9qA{B7 z$V?%#8=13G(Y@NU6wIVhG)rPugE=}KO;;Y8S98(KNZsgpPQ{jk`Q7I^1EvDG!1qhP ztYZ6t?_t94s>V~zj#u{lFV@Zltg0&g|Lg4A;c^fV@`{RbP*KDSc;RFUa=<7J5wNM8 z069lJfuJ1ll9VJkWzucLZc=GtlWBIrsVpl?Y_h1SpvKIK5~p#ZU(?`BQ(67L@4MH5 zV`4S){CS@JS?_w+yVhQ}z4luBY}W1{5VQw2eS-GErW7QbeQZ;u&~Cw13hn({qR<}g z4amb&L3OZy3wqiwxI$Sr^WQ-Y$kkII?I=^i^>zR@O~F-MV+SNZA9pCYnbU9P^c&c+ z1aXfc7VQsDwK~yO$7ihLSS`@pV{763Q|XS1_myv*FWTA^+B^KXB$c#6q22kYW}JZ? z%3fniNQXi@1$QEaqL3=|jj|Bxt6@kXeb%~=6_yLq>zIup^&EN{eY;LS&2p86zW*Hs zdtF2+w3F`&d^z$A)96ETe`ZXdGYWl=`waL0GYVbZXB4{XHI>e2W1hjNj-6~38WUDv zx3v|0>M`a7sAm+~XJ>__3L3HrgN9ugR9`5$S1zR3;Cmv8DQ7Y z%Rp+Q{rrXW=_*|>PL*Z?b5!bANEu&8&s95;Nv3bOTh#Z$J`7vPIU(v|q54tCnJ^dR zvXBzwVMKU^dUafC_(GL-7_L(HW?TtAHp$Ig1=4q_t5o`ubuFh;tL{m76LLes(eOI9 zuY>(6XlReyde{_&)N!l^m3As^R40inaIbL%NW0taVViyG8tC^yeM{1z!tPWFp$2iqdU zVIPK+=`J57L+MN5ZD{35k#>!Clx#!UYnbcwdOX|z+sTS&fKQbSDD*5=bb9;O-gk#9;7;NL+cmzOVViXlIa@t z`6P|TpCsh%X4udd$JDv;)i>^!cwLQ|m`*)M}9$)mWrP z`)5XKv`=TeMmvB;YE*~u8twmi96c??5~-ObqP;`yIPX7UL;G`*{3BvfTO7x^js+h_ zPCf(8)}gOdJGH&WAHfH)kK`QK7lq_%ACLTDK(3aa7&tIWqaJ<+ccqWSLTzp6kbw)e z$%!{%K2RKnnVY4`K5k&RB_$(qU--PU^Ow+$pdG_Zj~ z8=3DbZ>O{m+{5x7jb>T<#n!NK1NUikSK6o1U1^_2_l12L-4XU_xpDD>4xoPO0|u(^ zS(gmjgDZWhGF%M_T|TH;Be?~v(}%0kp`Q+_vd}eH#r>y^^;O&=$E8f|QpNS(!1ItQ zZjlbIu?{VE)E9$0H2RiJCu=%2`mSQ9M&DsPjU3Jg=?k}~HTtscY2zn z*{`P4JXzCehOFr{LTWmVhcalrVaan6op#!^>9l`aq)y+*jMPng`Z}gfr@h+{3;Vg*blSNs61iFp z(${fq;5Nw1`s^NJ*XjOf*J&KHA-Bp$x_a_H!d% z0&c71*PrK3CblOqvv_{_p#Tl`K znoXyj(`-8Jn1*`8j%P#%GXta@(QG>HghnKNc`E6twr#SuX*O51X#jH4?=w)v3|9KRdt+qC3(5hebPe`o^bIr6@Z+^c#Z~MCYQOuZ2u4o69NW>h#T}T%A&$gR>8VOnr5ZPW>}ir|&Gy z(dp}=bJ%_k&bT~!AuJz=b}>uP>kdSh=#NeM6Z05IUvw3fhBT%rn{?ll!U-D|4Y zz6$ooqAT=6xYty%eJyHZ{_r||{g?`{|CsBB*Q1Bu26@ZO+aOa9uhZ#%QP26W<8C2UMI(@N{EQ$0@$~xHFV(N9;XQ&?SI|`)zi0XCPhp3KQtq%Qm zWlSUb?W%r_++*ute^k_?Z`8qtTA`k88f4k&dxdp6ec!N7r=7>@bQ-1iAXit|iOWD* zlkVZt(F`X{>_I+BL)Uw~PCF}6DQ>av(?1@$52O*efkO|V#{OhKpwrj!4j|SiAbmIQ z09xvMdo%J76WfA1pB&qUIw#&Zwqke-*L(}-wvAJ0;}lwS+99Y#r~OS@IQ$;7vkv7g%2iH{_LMM#uJ{7|W}3n)s_rqkEa+I0GUS{w4<8F?DK8zh_4NNv~1Go0EPPE9jthnyB% zmB*r5aP~nlZOG>*h)Z7`Y}4s$gKau}Ww3=um^L0K+xRLb%?~IwUbBy0wq z%VyASvNmH&$}+pnpwZQ4(9;r|v8>NxoRM}gp&Tx=M;h&u?-+HQa~NgN6&+>J>N{8e zz&gvCt3NfAuGu$&iS$jiT*UhGC_B#8F)E%(8jDCW?noa!I?2eLFljWN-y#o5oRcI2 zv&zx&c(Sp7xC=A(D@MC4^nJ2;LH#fu&pKWnj_+YZU&8u2^!#bh0Ca%aNJq~`A5X1uSw+^^cAUGgRYSZgU0+^ zgXWF727ON|*Pw4&$ZvLWMGTr$hVL4vLX<6y7Od{;psCZV4E3V^(9ljE zRa^sA20aI;GUz!#l|jz|sto!j)Nv)>RvK_z=|5(EK!ZYG#c5+rgF@fSY2$p>@(R6{ zSLn68La*hud9CtI=vu74=^IM5%FQuZkZF}#p>&MQ8dJ;b@mhtx7F3HB%283vYsp$( zMb;_wy_!AB)p0kBspodtqfCvz3z~1n?Swsj!D)|DhBWI9+E=o{FjvjAw^M^bcl>(E zucyBENg=jl=xy)14{JwF*cp{$+huVQN^XJ z;&N4S8LPN-b*!&rO`Y;YSol~f*PyX2tnc8OX}}W<>}aSC#hr8^uQgWSNmuIFg}j&24_&77-9{*JvkwJFgC+H2VHU2j{i}x&2{4lt$x5Cu=&ThDMAit!U=r z_$bU;%dmQ)kt7Q9^TK{nSPhYEuBzxh6{S(Hi<0Tn9XU#)byk!{-;IdUI+A}EPb;R| zAk%8GQ(cdK-l@{vKVG9RBgAX;wS-PJ-mx~K6E)KupQK$K_rrkG$kmUdleDSvC!qOe zTo+QHKAEIZpFGWd@(lXqDy*ugPoCl4cv_PBq-Lc)c?Ri>8F!ld136b|oH?!12yqTf0eKD?`c%BW$>kp!z$Lse7y)qj1=mYUO^?`W38Fd)1j~}`?AzpuK!u1Ju zD}9mDrqf<=@m9L;*sb(c%6Ogj3y;@n9JA@Pn|6|wz9nh5()TRmb?QG!R{GXtJhx`N zm7l~~=}Bz7PP>c8>$F#RyiR+IPe;mFp;+metxcyry_2kTXS734>C^qurU$0YvfA`_ zrqbH&rDP)QK5WzJ{%F%_?_nF4&c?M$^|>A6A@2Lo(|*HPC1LMkn@)Qq+jQFh*rwCo z#x|XHMz-m+L$OV#oseOV9guB$8um|)*J;$X>9m_MJ*RpedfKnp$^G1ENFPWwFDblSt2@`h1V&+NAZtAnl~3&3Nbi#0B; zTNmqHQcw2_m%aq8Hpfb%+#D;7Zw)-#Z{Srx1Fr%axE>nN>kdRWpw~S(v4MMC1J8jQ z(D(L2LnBoK&;J{^&orRMR>m}-kCkEOPh(UA_p1iE7NF6I=HVY8E{!}i5C0r8?T6c- z)3`)ygi(_kIX{i)d;9E-=zF)}EY!yuxsNq+A8SM(y9Ac6O>j-he(RlPoFz{^Nh z`zh9Ftf9S6>(OVnCe>MKCR~q{zk`N$K_wX@8)|rR>~UUe97ikv$$lKIj6E9BA~d_E zJwuOkiy!AvqD`moFt+Km3uv28yMMOnwCiV^PP=`!>9ot|akL|L;zSD1LPOtIKF+;D zGw56`7>nizjpoLplh59X_Pt|NC)#&%Y^Odj{FTwLM=N)7D|d1$ccPU~OzuQ0e>b_F zTe*c>xdAn%i+XP5PK*NyNQXv}79L3&xs~g=l{>kW8@ZJmxNaM`mG^Kfx1g0*Om0D& zu9)1&ZM_F6|3@^KZ4H^yq*iX>R&GK2QdwR~CQ|#h@RicSBSt6c_T?!p;I|;{lGuVe z9|h75jV)*|BJIK0g7#Vg(q4@%I_pjEaaJHtuCIEyA0aFuz}0fU>u!%-?Ro}i~S*Rc>H4^ z<#rFJyvOLLWd$t6ljIc39!{r&^&Nc14nAWC&h`DY4jD@K>kfnN*PU$H$(EgL*~ylj zuzcCt$vNpnPWoasaCCA&@)_hI0vsMcG`Y=6HQ$CZRt{^kQqJ3~G`3f8sr%xshcS)- zyvH-xVH0g4+R;~h0!?4>1?x3SEJE+LkWGVSJa~ZRgDfvpNME3k-lZggOO<4BIqNG} zznb;c8d=tAWOL=fdL{rf@~&UK)i^V+Mo34{i$@Bpd#k>p8iO54nRuWj{NE4fphcvtoHQwQ5eLCl`i1kIR_p-i%?Q2+H!}=PrRot0f%b^=M z)@GJ>u+0v(*#Vp9vv=ZsqnjN2IE9xu^pGT-_YiD4vYR>XVOZ8XT3P;tZ8}&!$@(sq zg#~Z;I4l;*xn`kK=-_%s1elQ(&7s3NG{&-31kbm#O{`^v*zQPTIfZRf*(Qx`(mAvM z`i!hX))zrPe7>9YUQW51W8J`^H5|GD`t^>@9J-A|cR)XN{!Wh7#QJ?;mE$0%e27Dv zEjy6&W)3~fmaQzev&|>a4MD(PV)pp*F)Ya=Fab6%aa_di{;Z`l|v|0C#tel zRLs{Et_?6FD+ZdW^X)9hDpUiBEGL0zeU6m|c|GK<;^z5I)~B*4MLU2dA(D@_NS(g?jr=mYdk-5QiRO&0&svg!Qe=4zS8` zl0#LMOQ%vgx=N)8gk0r_05h`eEXT4wm6->_J5KSrx>%!XlyhAhA@(=| z!Q$))joXFwvCyDJSd*ghmB{*ZXx2M&SYN~%H(PpHQ_Yq&tgm6q8tprAbbgJdTE3XS zfh{+)Wur!U+sT?H)*R%xhdAzGj(dXT6WSrmq@0s%c}jcEGIl{1+vBH2vC`N+jqRPBW;)B6 z%pwjgk}{pw&9WEF$g1Wu*04udOoH8>;cL02sca%wrv4IH|IEqAcIli37jWF2Dt zAz0Qs4zs?M+0N;o;LsDS>EP5(GP^jgFsRh3!S!Qs{TN(7290%r2GvgthsJPd42Rkg zy4?}WHgRl|h|r9z6b?;e`!u$9vSm70@5p4!9M%`GWf5Bzv8ISMZnpGtYSpZ%VVfGZ zsWGTUY7DL)gZfD=r@w(iH*)&hV4sn-jpOd%xH~v>CoFGr>|&cHPX8d=9AcY8Y;%Y; z&79_8<`K4UW&3sxJ;C-T*!~1^vNh)f=cI$}Px4t#ajY(mC9Gr6>x7kRRfUXxXytll zjb^2*NeAm4fmZH~2t{w?&=|IlVfz>>_eLv~J;q9X!;V;J1rCklSc%LOj+@4D(>OGp znZuz4&}U>7uuT!$6me(~Yh0WkH>d33{CGK5HHX%)eGS{!aDHkyKQ+h?+Ja+kU~c5N zn>p?_j=O{7?%=qMY_pTOi!Gbj@*rCtV#`Bpd5ATK+42Zmwj(qntDW^H*zyEhol<2iP=iDkyY za%FZRTc*GUJ)iB<*glQz(>eVdwkcqn0=6k)n<5S^3iwW(%5k$?&7rlN{s!h|j=PQZ zJ2=)3w%o~~O&ofVQ$ENxhoRr&XlG43YfiFd7h8%zE_)!CJ&=1~;CJGi94(N_t}~E09f33=?PPrur+JX|&1`>|HLYyl&iW44pJa+4E@KdvE{LuaEr?48-sFgY z9xcl@F+p@y+M%g(#3Hobkpd0M$f0Q*>g2fToLVO2ck*&Lg#xxIVw<9%zR0bME!}MC zVH+>An$xUi`x>^~z?K_>sHbgan{6E0$oiekT^xEaXt$V?b&x|3aolDOJ41#+28cU2hpNF;pIR{212Zs~`*|?cMhv*#5fjW~OE8Zu!K!6yuAMDo znQ3g3&T=Nl&EdE%*0`A-*4Oa4YFV>^xq~&0u&;9LaHnFWXeJO%2;@;LwdWs^`rdx`R`0guXa?C#QUfHO*{!m^H0zdBR3Df08v_ ztWiTq6A{9BX4xJ>=_IlyEriPMgl4-Vhc!j4@v>Y4Vy4HMnh?GNhNza;a%-Wla%^Us z9U)W?J3_uwN6tCK_J`R15bVS9n%T0IEl+Uh3AQ}RXY69V-iOW}(T8)`hjJSWdA%bJ z`gPf9ET{FMe5UoGJf!teEm3*t94m)o74@M!6!oDzxLNOIeGSL0L9B0bYWoCP);l(E z=w=Sx!J#`iz4y0U~*9e>ac_%o{6P)Hrj-`fDuGCPBe=J$e}5r)DxVnPY1U1hkC&Mc^=rT%=WTP zO(@mR1`gfGn$65cw%iGMy<-<^4zcB7wmiY|NtV?xNO7oLddd$Vy~7p)bx(XMH9tS7y6e_HyV3 zPGKjri8ak^-^H@tm(%Y{>Blh>`%=nYW)rg+HpSUTn5URstPhMJOM3*@Kg)?s4>a2y zn^|sRwlcez5s@4#lJg91cet4wm^%@=-qFN1hgm+!JjLu{y?z133ItIbEXQ3yS4tv? zRTXP8St7S1IwFPZelhwTbW%>QT8%ncm6ndO}zYLewWZ4P1I6D(^mBYgtFSChx z7@_r!BVfRSR@R(i1`Z=l#4tWPGm)7IeQ~yj>1EBfVRVOWV!6w-jHXxx(WLjXyp821 zmJhPr&g^217*3Ya%*5do*UPLPPV=j6%qG?xWckQ&s@qo9w6ms*Wif*6BSuh*M6;X- zIU_5F>1A#lLAA7* zS?*#6+DC|p1rc^iGme?a%w&BI%O0kexe@xC9Gh8gVs=2Y-J!)2olH+GrM8jT$eJdW zTbZYz*_0hPlKaC*vb2w+xN)q>VT}i@a%^OIGqag(T3J2?IbeY{ied$h;@V)^N6`}r zJM_4_fdLDgY?H~MIZO|SZe(s|O%t=3En8XcV7ZIsz|ovOGme?abdIL8=dkQz*~@Y* zh#3gWjjV5CxtZl7%vRQPF$3esJ_1BNu$;)UGmg_|*~PMlWiPW9MEx)~v!;>dCYGDo zzLn(;mb+Mv7(-`CWIDkrM-Iy_mOV@_Yc`JIR%W>o@^(iP%dN}~)^xEPF_v>amUGLp zi{;HMH$pDXZe~p@Ya-&wJ|&)>AUWeX7HbMvvzg_CEH@*xIJ=cKVjS5=jH9^GEa$N7 z8b>L3S*~TdiRCV)mOv>)B=8v%cpPKd%dCb5&qfj`9=_HP) zbiB;X%qC_lvx^xqfou|)IZW3CitA;0GqVvI)F;cW%r2%jk@OK0xr`HOtVm=zh2_(QGnH@}R3fb7f;%q0&)l;ZlYFTb%HZ!%UYze}W}1)+tY%Fu%iCCPWVxBy!PI7ODQ3_LOU$H{qnRnp+L;u(Z6@WRk>!Id zw=+ASDb5xt6so0gept4%>;(7cxmd1cxsl~&W(RAuRElM1I+@MP4rakD%1<@3b{1J~ zWBDMnohi~d&rEw7*`%;sz^rC&V>Tjmf8Ifso7u9RbQZO^a~{QQpGUdvfc#3H zYd*!@HlIQpS=Ms+>^XEVaIsv=awE$f%#>V8p@3P<+{Qe}Y-e`lQmctPvefcMh>!E^ zAo?))MV>2<#?M;TG%}l+9ZYQjS=yOSri)q2)UKowIhoB&*Hx6;Z3}s{`7PzY@oJ*T z=XPPHFc0QaKWS%b1!PmpY%ZX_XD_6Ct8)?QJD8e_ZI~UVyqH>K+Y+v^B_wMevPtpK zxoTM!#T43JN~^+-Qckms+hRH8vw1n4t9|)yVV@^fkfn14rBDDlBg@5dEwd3sTeIB3 zvQ|!(cBT_V-)6a%*~qkeIX_-Hdx|#)zY#lGQ^1-6)>JdMF%L4^nH_8?DkxSoGo^yl zVcAtdXRHNL!_0#fpHqog-_CLe>$OU{`X=Vs?PV+1hHNotd(l>aBJST?Nf+xQDOhd{$8%Hdj$?w?nRSi0g z*~sj;o?1k#Yr=w)B*>9xt zI&Y%5?KkZf&(G_)iR_~{?iL~0wVTLZ)RDctj{CnPU&XgjXf3l5-0o<GugUk-rXf0$D z-9jm(FrCos&nsZLnpxYz`DFPZvz@8E!EFsjEJ%5SQgA}P$x*;^HFF#DAk+RPSvr|6 z@FqtsxGuX9L{IxO%S_i>BsA~1s&s-1<^M?Al5RQ zKj8jwoI)F!_76$!VAg)j`gZP_pHQ0pwMuP|7OIca=j$u z&9H8MJH}{DRy*Bh;q4{Ae!mbayJ?unSXn17!zVP4oeZOyG#Iq6B$U%`GNB(%h zrTyOR7ubJf|4IFq_rI-w-vO5oSUVtg;6(#(82H4%cL#nmFmlk8LGuS)H|UE&!v?1e zUOV{S!7mRsqHc(a7_w!^OG7pd-7@TfVU5GOhE0sVC3?W{tB0Q+K4rvRBc2{n7_%j2 zd(7Wstg#zoABz2JY{rsx;#iRF(J~?_s zTteK2xTd%-;|7m;YRuPTCXT&u>}6wb8hh{9zmJ_9e`)-+@d4wOjeB_9OXJ=j7nN`- zA$|Of@!*u7?|aAVJ&rNSZBVh5=z zagn$gyGL!pj#0N@-=W`&*?0%(V(d|Kskl$f!R|$K#RJ$eYCCp}dJsEA?ZB>3yYN2N zZtQNe2Pr>}U7(u8mEviz4U>-)z;Z!$A%0_1yHQ#UE8TW`wG4oQaQKj{~PdfH`R3wh_$mkplRBx`z=G&b(7!gOCw>LZ^hC;of9?6(m}ObT zW%sWc|9UV>ef!KGev;bWjDSmps0`{0nkDi-%lS%YmSyFbD8#yb=19=Lq~|N+`ATquJYUpIHV=v$vaZ&77Ee*I2qz%oJvfy&jgP-qiddtPYxl3`)(^ z_}7@3rhm%j+07O=?aekdTioo)X0JB;^ZDA;zvj*M^_7VFzuBwJzG0qm^O!r4PxHJp z#y-U5eG2q1Z)bnfd_C!9&`hCeQY++hQQ;lbNuV}?EXVnoY`}>CX;OTpVBEbHeNK1XpWg?uJkm@ zzj^kn5~xJ4@`&^d^OHd8!{@f9*{+c#5`?J|zX8V3Oom$5% zwSTJxP3eIC=v1Qb+M#p#%1*Lb_Q(O0f_Vk`k1%F#&9*RWz<*>gbK)z-X{7Mqv;x`t zazgU2X$AkYoB27n=D(XxBY=NxjPmP&X8oA4{^jWDndj@JKKrLGRWL77g@QSf4n_zo z7>PIc6>$OHG*>WZ3IY3L7KL4QVXI)?6afxGIQB+Hh=SSEK+p~!z8#PKN)^nWhJo>z zSt*z~#efq;EO-UxRtk0pj01lw#)4O4c7^YHz)Hb9XCk;1@37--dCasF%yy=N#h7g= znDJZ)F2ig~!K`N{ScdtTf;}eF!23ix_yp!&3U*$}1fRwHOA*gu_N9pDG55j_{Fr$u z;zi886md}GfyXhcQ^YsOmm>LE0glEVU1(Y5kKh>PX>crdc~itVw z#I?$w!1c-z@Mh(8aFg-|c#HC9aF6mf_^8qf?p59eA5;DUKCZkEKB;^FHYp#1`;?Et zKPsPqPbnwBrse3{?<%Lj_mt1UzbIdTN0l$Z50$TA^AU)WDqY~G%D=!b zl&`@blyATvmG3~Ieh*sIA3;UM_LD+YRZvrP(5_m+I5p5>5o18qh8hees3G8ZH58nn zhJ(}82-qZpibz*40OzXx!FlRH@M?81n6C~23)EqtM;#7cqsD+M)mU(~ItnSQ0nty? zIIvnB3*MlP1J|qL!5VcUSgR(28`R0*@6@T_jcPL3s9p%}R4)P_QD=gC)Ku^>H4WUS zri0I_v%%-oOz?nuDbDyjh-*ik3%;mkfd|!W=wAXA@xGb^9#iwccJ*@b3-t={|J19% zFV)|I|4{S6f2xIGms$j#R^8x_>Jp?Qv?Y)&ng_B1qHeWf$U3M9tF{bG(8|Dx+6r)z z<^@x=O4!T-6_KW`g6srQx7r#oLt6{Z)~*9D*4BZU+6~|(S`B!qwgH@@-3ZRrHiDOF zo4_pX7I2<+8@;nlW+7217ZrS<^0 zQrix$({_N>+D`Cy+8@9hwO!y%+HP=*_9%F#_854V_5^sh)&$<8{SmxZdm6k?+YjE4 z_v_Ji+VkKav=_n0w3omq@D9Erp3x42`?WuT&ud4(7qr*Gm$f&*L)xFgX61^bbHq{}7=nh#lYck3mEK1PstmfPwl+Fi8Il?602! z2k4)J1NAS!LHd{AVErpFO78-P=>GzT>R*Gy^l!ju{X1~D{yjKC{}G(0TNFiP>nb>3 z*TEd!3Kr>s;9@-(T%w17WqK&MTn`6V=n-JKegWv!`-2twK(JCD46f9NC>F5_#1*6u zgS-Y*#9DngSf$5+*Xgm~_4+7qogN2P>tn$i^l`9X58}$w$3w0K6|qsD2>E6ZBe0$b zZr3M+59(9FJ$f?usD2^1SHB2+OrHrpuBU=e=xN}SdOFyo&j$DDncyGwOTnk~x!}`! z7I;+82H)3nz+-wIcwE06{7}CF{7AnFdH5K_b*KLp{6x=(=2K7+-|B_ncX|;h3^!;o zmVk=k0c}Px7-B2~`xs?lsIdYJGrVB9Q3>`nR)G=58ZgpW3tnJc2lg}8f&GmezyU@L zIMCPtCK)$^Q;m(_G-DGu!?*>UY1{^;7*An zJ>V<2*W1ObmSoIdMk-!#v{DI%b~y9eBM`1Xe3c5^uiOFNscZ)CRq_=xfcaE~$@+^eL6k1M;tCzajcKIKvHDdjQn z8N~xWi~D|@IDq?poOl8E{W#n`+rfV-#o%cr88f`;>V9yB`W%>|J`ZN7FM=1VFM*e+ zhrnyp!(fT}C$LmK0xnly2g}trzzX%x;7avvaJAYBUaP(fR;hmhuUFp(tJM#{_3DRU zt@<(eJM|OrCiMhZr=A3FRX+o7S5JYzS3d{q)i1z1)i1%j)vv&NRS(#pri1sZv%zg@ z7xjHi2-X*YoLwRA97n+;y6eGfja)qqcG8^C?qjo?$-M(`PJ6Zoul3wS`g4SYen z1El|#O2XK?1#H&t0$s8v>ph?>&4I~=*gI0FVgpeF8w)hvHm=`6#JqjV_ba^tk7QqZ`Kckb^4#cTlFL0 z?fUEB@AWspdi~Gf{rcPBHoX;mP=6O})c*oLq`wb7tbYJLqJIeP(LVYsp*>nFe` z^^@Q}{WI_>{S^3&{yF%p{snkI{}Oyb{|Y>)d%&0Vbg)^U4Zfmxfv=)0)5QcM4V+|T zf=R}u;1nYZoMvQ$4kHJgZp;N|7 zaGtRQoNsu+T%!_PU|a|O##jelY3u+O8au(OjdZZUm<=v6=vxFXV=K7WxDQ-vJOEx} zYzIq>U0|uP8(eNY3YHs>ffa@aTxk@8tBqu=d+s+vEi=W#MmV_Fhyb5N=uEK>p()}` z=39uBBHqDyQ?NHrI-W)w*7v{w>rpVs+J;rpW!7=vJnMKc*E$hgU`+&nW1S3MX`Ko# zv?k+;^-60#_>i>-eArqDK4L8f_aHP|?1TN~;vdjlF8&G46{1f-KA0O&3@!*r#=6QC zFd1ALkcgFDUBDsm_JHTW`he%bI|Duh?+*AFyf@$zup!_Ccz-}TxGi8d_+Y?Eurc5> z@S%WH;KKo*gO3D!0qzO-65Jc$0gnZI0DctE1-9et1>&Cp-+-s_-#>+TBs3Y%)guGD zzcD@21+ZKy z7Qu3VrmEy_ZeDHX1 z5%_6vA^5l8V({-A`cIszQk+KKD#gEp)A2=!GtjRR!q#c55}Iu?zW*@P_8vIGb`-SR zEcjhyq)i2<*@~fY*pkJyVmU0=it7<;t*C}vC2qHk1AlKD58i2e8ob+<2;R$~4TxJM z?nm6~#DmaWFCK^e_2Nm`UoZB-{(A8g?5`KkAatELfY5c~1%$2>FC%oFXh!Hd@d}5& ziqzJL*N|GZcoUY@;w@NKi#FT8!1rKTEsnynS{$=|4IYQ(4WbM}s7z5VQC2CRDxWJ|%C|~C)vhM0v(!t}`RbMG zB6YQTllqXlS3RJguqE)@z=ELN!EXfL zVf)c`K}bT#ypYzAls*^tnb&7#=$6p?LK{Q1uqVQv340;zt+3N!*6=~$$>Hn#hJQGGeN2}95&Mhw z!Lj3FXT;8nJsRs6dHcwwkt0W4J!<2qKaDy*>dR44qZf?cG}zA&#-_$!9^V%KL;Rp|v&KzINK3dc;Yh;w z37+x&Cf+>p#!0&-wN4tHI5n|2@!`a85(iD0Hs$ImyQUnQ`k$#or+KC&Bx}`JrkS4+ z!jlXk)+D!t()YP~{+1-aXOQn~UHgc0b+6$Iucn=a(-LBN@_p%~qd!W0`gkEmBQ=ue z4#R<`f0tn{OmpmcIB1qV9|z5|b8*m2djSrbYySqv6__txiQ_693-R2Kp8Z{oBOi0G z0vv@n=qo`*I9xc~IOq#POK>d3L9@1N@C>mSM+tiSG8`D^@C0xw#6S{jOu8$?9_&;j&_@5@epW8?Q7-f0mEm3) zULnIPWO$_vuax1dWV)-RyGG<-&ly|+(toXV*Gm0bl#9x-R_d>l?)B1LCtZBEhugUt z=Oz1UslP$G>t*BJ_d)6IkZz-NcS`pm>Ha~w4@-BKbRUuKZt3ok z?xV6ikIM33rNjMquMB@&x=%_MU(ez4JSE*{Wc+7P4r=dbWIf}{P~88Yg`Vp5fb<`b z{ugAqUy$|(rT?JxzbySPOMkQUH%tF3(*KI|zbgH&O8;xp|C;o-NPmm;zbXB1O8;BZ z|CaQ>BmM74f151td(y?8WLyu&q|em<4yb;$HPr2ntd|5xe% zoAm!p`u{G|>y+;QN%tSp{ik$KOZVS0-hZU~t<;~9?hi8kA7r?&nAfeanB%h|{fhK! z(yvLsVKK`eAoT%KA7QbkQhR?V!@rmAkJ7a$W;|88x^%754U}%MbVC%gABA9-DoQt0 z`a`8ZT>8V6!BJGd;Zh$V^$}7ZA@vu?bo)zpAnYjJ!O|Tf^~0n)T)HvRUBl^U_>E&v z5Z&#+RBpleqhX(6a&c!-&3d$`W<9FXuS&lz{krs9rQa(3fzlr+{lU^7Ed3$UA0qvs z(jO}Q;nE*2{Sm5Je-Y4A{X|Ip1=8*U>F+P?`b)e1Qa@1Y2SQKf8!Y{UrGJR@50UYP z$aurxr}251^beQ*;nE)?{V~!XEB&$3KT7&XNq?O5$4UR|s@ad;knW$Q`!-y<-@mQW zyh4apsef0xf06F{()~cXA4>OQ>3$;J6Vg2?-Or?ZO1hs*_Y3KMDc!G7FLeGc>Hdpd zd=r|(HSrBxs-JJv!Tgow?_|91rT%-V|555Kn!IkLt7~Tc>Y90<)ipC6tJGVer}GC& zf1vaSOMkHRhe&^j^oL4+sPuSjGB>SldTmj21oKUMmtN`JESCrkf@(tn}!UnKn(N&iggpDF#R(w{2*Y0{r2{pq@S zJ*PuY*K@km&z5$xr9V^JWlFnDslQa}FO~XBrGBoAKUey*q(4jgv!y><`ahKQ^RaY4 zk?slUo|Nuq(mf^J&!zi?bib7DSI8Ij*DmS)OS-pURZRNZqSH%oU5y930(44MZH z5MN988+J7@*-G&>F_m2*lBJt&bzuC)_!L0nxDcbHJ65_^NcWF{W`9{1WKF%$vQxXr z@`1KTe4wRT{!dG@1nEiE0XPbAti*9Yj+bz}udfyzdMd&TaTMWj<5Hk0e9&8JZqQ%V@j-dY z_@LL|zM}@|$8Z!Y6z~3!Z;|%5mi-|~)>k0^pQb^79gcN4ZopB4V+-PL#c>AdX>i{| zI!AFNSvQ3yS&xLaLiaB0lB^GhC0WPg)s~%_fG#keboxc z_xByjVSD>dvj*v-Ay2XX4f^1SX;wR*iWv?1@`;5dro zIF65SBw14i{e#_wgF>_*Jsd}p^;XFDhlJxuvOYDaKU_S_gZ?|{0|qBq0|p0ZJGF3@ ziw1{iA3*oP;BdGh+OVi3>#(SBxKSKu6a0U`@mAC%jq3DoLz1j_VRz@FLw6y(h3n$Y zVaMRw^dS9KgU&NO`c`9n&?FsofMW`|*6G8Y`Ulz^mhT;&WPJ$7<2dfe&bKHFj(^}t zvWCYdSua~ zm>WN9#J11@m?40zb`kzU6z}upn=)_bOI37S0ZO?Bq9d*JTC;k456)-;{pf%+quf#Z*O z``f^mgbl3o4Lt7{U^$K_8ex|8IDUuYkK$I#0L!g#Z-aXq+}q*a4tI-Xfw&XLT{!N> z!GF_dyDQR5E0?*;3oFXXXSnk7Cr=R5XC&w6Cr-$Rw8UMJf2n(ocg7;0hQcOJqOjbu z%w@|eD+(8txSgJ&3Qt*SVfh*|G=n)2Hl#!r6qZ!F&16`|$t3=KG8~*xR75$WWG74| z`yR!#`QMxF}yvWd8yr{?FcLZgwmEI&U3 zy}P7j4SaqVCa(NRlLTJ~V!CI>WO!j+L>F^`PfCQ8QCV69=j@iF>jAp%I_S9qk)XRA zr$eyWfM(NCGeYI`c$b%X>Ei0?0;#UT<%ok&^iaN_<`sI#YmOj2y)(6_$nEu(NlS09 z0X-S%IRTQ&?9r3Y*SKc8oE_F3c(&Tt{%32?mr$?G<9FhoRDQkX*_~#Rpth!ll5I_5 zPg~0tr1~x?T$5H(==EakEJ(zbrfwQR<`$N&$waODZUTu@5XMcNNX_8QDnD=SC-RvS z#d0J@d7!S7#JZ%O+(7KUlTc5ad`{n+a*k%|*>NULLvr{PeQuenvcx?@P} zS75}&xFlB6JtjY2Eb|tXm6v!HAwrSJS>r{n5_-CaH(|EB6r)O!Sd6~R>7<$CEoz}~ ziQARCv>XF&rVG(a^7B2Vo(fN4Nw+eu6qV;$QtBp)UJ~!_FbSFG4q16#cXU;gxvBqA6*Sgb|7M7x$3v}tSRhf%@-tI#1 zn2pIuF>EruS*y_1#bsrt*?jkkN)IL(BG(+ddy?t)XB2u$%u&8umG9z#9>&ynXJN*$ zs<7PUo$p@hF84y4Pm_qBsLFkTG{wZM4rjzgyV7?;nw4SBmAUw`vWiUe5=GH`g(}5R z;BjSPmQqOb(sQhO>F<7*LqeuEXH97ls;89G`~_<&(@$bdpI2C3xXg_a^)fg!iu1Y9 zp3)^59(M@_mig|A%JNe4Iyxt?JMMYHG3Qu>dOIgoZ+`l+PWjWcHPA_%beKr1c9{E2GSGa0u>X(K|esALq4 z68*LDdPawHh8i=SG~CcC-2YXYJz1<9eVXK^6%-R4S&Bbp;6CxRO2vGUXVowB=oij39s-R1@4 zP3Ywc>b`!(T-3bZdR^pueEm<%uPm+bEOXPc^E%1SVv zLRf+!F9Rbmjc)Ae9Uw%+fJ7&}HU!$;+G0gxd^{bu42hM=F^K zPCcy*d1P&VQMV|YOI*GbtKObV1v2GMPU+Gx9AVig(3Y5TiQHL*psXpZ0({Gl1XJv8 zCy_62KVrFW882{EW|ikHci~Fn6Xo<76Z7*iZX$dx-|xSHB$BqLeDO#ba5NgfS88a8chS5vv33jdS(Ry17e za|?@>dP@DWr6E8L~jRy~RP>O2D-Og7}XftjU?%gUGW9IUY9yjD)Px2W8+ zoMvi0Nu1R@J!;T53M(>lgzo+^hWpeC#~gFk0bRpDR5Oh3QGTlcQQos6IQxcbns?t(O)qt!LQkoA*QC1< z?v`c<*2JbDXWpiV&X(aR_sX#R#XWMVdzEQJvx*Y$Ec2P0$Y04tkaISA_Ugsr%e=J~ zE-x%XXPH~+t>8#}d(JAQIfn1v+RNjX{|^rw%-sCibD&?HKSFo^_3MuEdBT4e>FkN} z&*tstC&s-+?Jbx8Ln{1i;b)4~lccZ4aDjO6cr~|7#zGg968%JRZLjT|$*0NmW_VV+ zT{P|PwM2gB`Xy6NkGk$J8TzI9Q}elnt2rwuj{Jp+y?#r9o~H-24#q7T8OQ8~oJ=o< zK0HLosa)j6la|F$_=&zS81#g8dwLtc%nB-XxmP2tIfY)Vlug;3Mb2>-E;b)?WA!fP zx!uL&VivQET;KIcaz;tv5?}3_lR=DEK7}0E6XgAtLNGk|CTv)_kS4cG3J8*t95H+b zspU%qCOaadtUMiaC;CBarKhaYJF6UP`=yu%uC9=x`Eyy0yRaO3-0eYgNXl8|A&;C= z%q#SIE6n+nFRT8;L~nf^Gq<8*xltf;U=8u{+PKaJD zXz4)D*nHhvWX_r6DJ@Q*5u(CVQAw5KO<27QIpm)%dw%))g)E=*J1%9LMuFbqb$4E0 z`F_#RH%0u_5qd_~vmY;=?@aPOaGnhN{q}a=Lix2{ua&`r{CUzpr$T;}@lPw|S4BEs z#r#}kvvPjcq9@sepR+rsptyeX&(|j1#yyFj-IzZY+066LTJ$8F@UwQlr%ryeE?+;) zaaWu#_kR7MTkJXG*#+?>?a zn8_~Yxt#ev2_Dv)Q@dG}_~oZUDzSv2bY*Q|z?1Kr_`iE1a(l9dT0ZBB6?kapt3~|i zfSDzyIon+!dnK(gu{g&ajsxbwbmCKj&OFunY{6vX> z3_K^qN{(*KWIES_A8kvQ;1^!cV$`c|GSp*$*$&=#5|85LHC5wL!edWRIQiL z4BU)-v1xJM6Hm58cO&$K`0RT$J?leXW%pDnx*jHF^0x_Iub0zv1pKDW@73g%^%kZ3 zitkD1fBfBq9&r5nbKq(?e+2&@*`yU_ic*r#YU!DgNW|zJs>)3~w{SVl zD=EnDQ8sC%8U4CL-sR<3jCBIum}Ki(+V+WmJ7`9$-yJ{Qtx7%A2MD^!TT$mDE&B( zq;PjIrTj8hbiakiM*Mh3juocy*&15roUJh*{&Yv-%ZseKHFQ6stIfPubgStX(x0fv z5+icA3FXz_pI_`3D2?f%W_JXHpXER2twJs%FBkk?H55I$lTWmM)&e)SbHdLq<2k{z z&0mJi;+_+l-%}OmhPi+8UL@Th%{L_R!{RxwInt{_=q){O`S9a5=x{5gMGGX<5jP;c zDJPZ_xQgWzWR`nrAy)1b;isBKz98S5t@vF^)q4dW?st zzHS{7rwLiNADz5g_VSq#G1cq4S2{g~OG?WyWiImiy-$SczI@8zv-3S2MNlTecW?YkxI5rR;>LN1n}iF+ln{W{Z$_i<9XtqyL%wX7glZzG>t$$3@9M#0ZSMc*hj0*xu9VWhH&S zX2ev?Oo!IQy{BeQiR7UmDt{rfQL+LtkY-pxZKMF zhJ39JFHQ05ZLIUn0=(v{R{nDkT;;yIrkC$|Uf+W_JjE+pWiFV!qWfn{^M`x$R6Wlw z)6GE!iTT~=x^;30G9yu`F&@!*@i?6R&!XG!llUh>ulZtSYRRg?HN95$FJ5-I6Z9I< zzYWf3^NWeom3qF&{wL_R%cF%eZf*RY9>?_NSDvFQraa4c0#hq`>p|T)^Ud<*lh|I3 zyL*w}vzA{Kk2`XA%CdQpA+#2rtKer=vmEAB9>3>s55v#jCI7Fz?*Ol=*!JK1q@DCe zs7W}4-jaRNgLFcZ4xxh~$vJ^Q8Yw_PASVI>B1MoUAV^091W~VoG{FW62#88mK|m0s zToFP3zcn*^pM8>maPNEHegF5pC}&Suvu4ejHEY(anZ3u#y$sA(#1F!Y1WmEzqSjY|Q$p(|l4mz$%Q0NL~o zhdm(54!m&Hionzihxns_)R7#nJJ|RyD#Om!^zsQQw+@(ZPgUUQp#Q}t(13UOw7S)4=W4y%%QCl7Ua7|EJ*ufERdY}RGcnHHq>#7q0Z)hT2wf=Sh0sf z$6d;mt4DR`)0KGI3jVcLP~SWqU22a$T`AV3yol&i9^swJ!@O5{n0G4=6OA3LjNLd4 zgy}~_@OB4FOwMBu0u#rZaKxX^YIeh0W$Z9EDHqm{_7qJk+LLHA+8$#^MeI?+-Z5Xr zmjs0YJ6+P;nj+4~hObpb^EgzJs7zu~(1SK@9*HIC6A){+ z;F)NUI6hV|)Gfs)ET_%z`q>uio<~&U=t+MBkgCdcz^V#+Bx0>h`Sdf^J(8&M)IU>y zkE~8dnhp>a3D*F+vkx2vt6z5jt+lm%9=+U zCM_@lsZ04r(o+^HbrMCw>5jZ|E7oK}HNpAo7EfB;6O>|RyNVUNJ?wM`O-eXb0dIXd z)-g+_w=C#2eR@@a!{x9?awZjOZH4p4$|f@juX?fM~S0RDt-D(3IZt z?3OLe1_3%cM>RgE zzvL*OEGxNEC;-Digs3~|=q#mj1wkQlT9wB%P4abGyquA#f&mqq0?VpuW z#}^U@ZL~w*{$_mL6YFcYNlFo6Y3X4o$Cz6-lkKi_}*a zvHym?he^ucgNLgiw@Ckq04{sl`BD99y!00X;DWL%q%xVh(PVek0i7;_H)Yjxs%me- zFNRM{z|$=Pa8xlFB&bE&X6F~? zS+yuTnURvI#naS6Il0Mf#>LK?gmA}fHsC16YNgjvq46>^Nk6j#DR>zS``hiH*y#lm zp42g)j!j_hX5hTHgw}9O)C16Bw}Ulh6t4+FL+c=(Kp(boX(X8>sc|cOeRn9nquU8z zkuAa(YIE={-FEmb#8-MP_zG|a;=@F)^bA4g;hVqcedJSK24b1`9gFgKLl!A1_-7TE z+Tz=>g$zQfZ!g;!`8bKgFvBOw>eNBjZi5op_>a?)fsh5?E6&7kABL+C<)v-}g@Xb%&br5o(QG`qnw#E?|^kyACZNjNOoGuO|uk+lZDH;3Hj+!e=jGhwcV!T~Kxu zQPQ5$Gx47lv=B#fM6Lzlbo?XEB!ap;gsI(a@mq*5AzK+Q)e=$_g2`pvOcS*8UXdCS zw?`q3IE`16Q8t&gxf`CPurzaoEek=kC!$n3@D&1Mfn@I)sY@?#lDLRhbMXzOo_OXn z9${~kg~RcM=zN6qaHXL*)%p1FV=n6l;)B{E3158Y*pcs^4hpi7CxuXd!>o}jy@B< zx2)i6+ETUNsF_Na9p{p_UMeIvq9PZUl=6O(f_RUsl1=R|f;8yqqyB&dcoLWCz5$X3 zUK$~PdyjBgl7fhH_A!&nILCQN8isPIeNrVjuz@if_|nnBJhYSbd=)-=2(lgWX`E6n zsPfN5h)X9Qxl;8M@L12~QYC8BD763!$+2A{m4b4ou}VEEdGq=NcE$x7%|sVrAo=2L zV0ul+dKnq4W^X~6JWqR`zFYC19tE$;pHp>`bz3 zbit2*5Cwhc$KYZz$UZ(SwYMQuc12o1@ic%N+=2p%ZE~Q&*@O!VMYUkK93yGjVjzhv_1U-(%sOikU(4oha4UYDE@~LRoWUMPV~(~xgdXA zBBGu_0pmfRtuuilYayP*2mj(fsDulmzyoZqz-nZ?FoNpmDT#PN0S_XO0>G{YIZ2)- zgMg)Gs9~Pxr^Z1GXb|lrG$7+MJSwOF9G(MtsEI}+S}u?Wn4DAsRAlI1V=#UU!PLnt zC{sMx2=*9)18n|ir4bKAjfht9LTf{)r&ghA@W&VwP{4Z7gPO^M=w(|omdJaGxUGdq zd;*a`>{kWhg1zf~h;WXEaw`$>JW9>eB*f1#Jy7zpCs0>F=uT6Mg3&I7*He>%LF*Vs z7WE*+R_1agL-?q3g(ymzjL4VPc2cNRnhXrUiUR6&QS6C4-MoNU#e%f?Xvi{06&8&h+3>A0IcQ z24wjJ8<9-UV0X!d2av?FLJ%Mg;%~Fk-J`&1@bQB#A)yMDoLw<0EBP592P5TBHfTd3 zT7`yC3A)FFJ&bNV-B8=l2{H{h4lUr+l0{BbCe&c`5CL~T86W`1$4il3(NEUOQ6jI! zKzX=k$|(fDp_01?>Y~~W_y^9iAn1mwU1?w7$I|DCdiOL zg=h>DJCNXJFd9865p)9FfN>*2Mw20s37pZ*naUcCUIGr0P|1S<@*n|(gv!QH*$#sG zR1gZP4N%!<08yNs&Th!}^po+++2Y~m%v&8Q;o3^H-qXzm&E{!N9b0nCVpmMolqON28X0re{(M(Sg_-G*s-sprvu$Y=1D0?DS#D{{xhh(dG1qPSR zi}z(eJbb8g?Ws_M_6RkGK%HEnhuk1hXgS0ilCK4wU6FuZMU8%evLE$`I>u-Kq6I@( zfBS+EeTFB9Q5BQB7NY4ElbQ_O=3o4_G05M-3Zs5v0U-b(Xe@LhpRy7M3_C5Ni20-AYnbkNkMgN8iWd_R;Z~^NxTw~ZE!WZA%T^a0H{r$Jk5*c z>BuW4viKZMAr8eA7{!Ul-SNaEO11K&09#8Wxf73U)Ja^v2rNJ{h%}($B?$uov8jV0 z5O_Qw=*a7gJV7u`0Y*PwDJA=uoS3LkV~{KcGNGc*CR&&nNrsAAwLC#o-AHm4m5XG? z76+c#neGQg<4~IGZmPwRK@eQY3&2_ni4k_zkRsw%50UK&x#Xq{W;PEpd^ocbkw=`N zC(>a8v1!v-5u;Ww3J9yb=JEw487Ni9sAa+@FgQeDA9#9j>Il2HLnfIELTqcfxuAFl zfT-PoD6w5%Kbsz@AwDRm6VWQLX*e{&vknr-DwPs(LY_o)5CTma8>4G<==5Qxv{X`f z9p#X!FU)~p&1uro%FP{U?49et1BZx1>xmg^vzTJM%o2*P;Q_Wnp%qgKY(;bu$$@>i z_%k4MDSKj$F&Ml^OhE&x@H132xu_Afn4iJV5J`j8PA8Z}It4UP*EvL3Dh;F>Cg)Nj zLhRS^*4WGq(-0dUrI;YF+6JM3hEG(c#Yrp)07}8J9wL>s-w2sjdE$XtjE$R6$%J{= zfn_&irDM@BuF`bI}P-p;V$ipr&02eF@KR=nUA_Ve}(4^@n zJ5z!Y#z26d?4pK6wu+Z&5r&Jptp>2uvo@aICTEzDWC)RXK-q%js}M4(n3;K_C6n=o z4i+%PA=E?@8rk?-S+08p5FY~m_FPdqkaPp9i%A))-wwq^l`qRwitH$iL0VWp!m5z2 zVkjXP^=aM~v@tnAf|tpOTFVao1rm1AJF2CMmjxd za3Y7qkxFn=lR~tn<7Jttd4w|AByL8?k0xGL01uX+Cx~EuNP)BVp#OPwl#B@wtpEaa zKFOWH4FQCdauE$EUPKcUFU%(GA-a*T48ZuecrLBCv>02g*q&#N0tOLc1c~-hY5~tz36QAyNF-Wl?GLfS z@L=l?SW=vHVwP=;#w-L0nv7pYCKhqNB-DZn&`x}*A!_3EArW|a61)K<2HdwqiyWC6 zypvVH8&S-8qp=<(h?P8<+2?#R(*>Oq|{*SrCGAhO-{aS|>VVN|uiTS=mcnAgF3 zpZ7K65KpeaWQ+@o2CEuBoFld+D(xb~_+(qIrP@QzoR6$+cHfLqK>FKeun=#%=s|ER zP=+hdhsfqq#ug#A*#Z|C1-x7hX4dj_>Mvx>V?Y`NmMo%N1qX2!b?G~m5L9s(3p$xM zG?2*5<5g*LAnN4AXq9stT%}4QCDx5ph`xW&rF>qY8C&$Tzipw~0-oZlT8l!Ms6{-d z7PCBgn9n7e#Q6b; zgH~x#tU$}8NFlVK*JM)*h@N74OH0JWBUjUz*IHA!3>$-JLbFX0oD`fhke*OeiH$s; zr3w%XAVQ7i(pV(Lr1py{ip)DIXrk_S)TcD@kUmrODV(FsZYxCz93>$dlYoH=*l4EU z`ofQ?9bE!x3^kLFH9jtUV1Q{PVpY!+vyN)6sX0&l#S&8R5M6-j&tAGrw$zBNintWn z;k4=;`4eM;#UyyeMg@}|(H_oJ_m}9lDqIk~+FY_f{oQR#iSV%1`T8QcbIvbTQ4zg8|f$)J^v4DxgFet*uUCgpy{3 zckGCSx^uNl2iadcAXT*FAn9^*BhL<;W8_ty<_;3^!2e`f1QaiUy$sS^@SuVerAa`< zZR-%{{tLEYKv^3F=n6dfbT?0(U9tT@6CGM(VF9*JAq)QpQ(Ra&6rV;t7f=|FJpva+ zsd|bt-v*hE%(ACZML}u{CyioNX*I-%RI|wvVopC_?hXVp8xlC$*$DA9L`yJ4^*N~i zwwB1HhSAgA&6z02f2soyK_l}v`Y}@ylRpCVpC3SBXQKZ^%@t_AFXXnImX0M=>7o0De={=_~dYF7b1__(GfI>1Bm0$x;MpO%HfiO2$ zU2?e~dJnCJn>?p%Jt}Z(2(>_6wl;4IKrN|U^pzQ!`)EE1BR$1~uO}#hUuDhg^vI0{~@4oN7lR(0OcHk0Q3pa|Nj`s65T z_sLNVjw{9(qJeoyMH|=(lorz}nJS^IVZ2wsZ#MmLW@$tl^?0-;sGyQ}2-}t9?Sg^E z`iMI#IlWx&4uK@9z~4rxv_|7k((jbxEYtGUXbgazs9|4%EG!qfCJBU=2~cRRM_nY< zv^s(|(DfZ70&J%KphY)2om$GmtR13{SpwjQTn>kg91*7VzZT*CVG;~v)AYeMdO5?4 z&JuQAE0|n3MN|>n8f1LQW~W+ZELB&Pd!+5a#3#;J=9EX1h{=2r!HJ+^d=X(MN?k;# z5KwdI5IkF$qVaRdK1euss7W`Vc-WA-0lZve zQ%Kawtq@93tq`6`Lx)dZq$auMAxzwWIL4Kkjh?)9REm1y9G*<6Qh-;F;!N*~6co}F z7nQ2OM4U1;qOkYE6c#6i;p94>ps*$r^=R<5nT^Mw)k&UIqBhA>1oMp8ccYknj;9zm z5(v3N5r+tNNMOt|ezJObZ8nY?GRgzQ3?3#GO=)~WAZVlGghWXyU)7m}HC6OX1!lR_ zr-DG$8&8lxET$wb3e-sgnpaFvR53k+n2uoOF*a2M4%My;}W_W_e|Z zs*}Ja=4fIh?=R}=s*H}tR25eYP*_|{m~}}Rv<0M^DXbUxJT83xOkhZqZUdCb7NHGb zv%Z*|`9cf}GeA)idFO?!;>-`9c z2GoKik5qs^{cTqf7adB)DzRCNLYg^@9a2BuPF9PGh+ycrlR(dQZJFnQBerlL_xaZ1S2^x=nJFtX5LP7;I*6SooO05^nL zzo@$?fqZQ$U|j3Re@6_x)@;mZ8SJYqUq_2C7SB=A#irCfcG^NpYR6p3|1ut)uF-c zeNXPhqjaM;iN3b?%jzP+XxpxAQ;Z~poJKk-h2nhE)@THK;oXC8P_y`u)Or9;i7?xm@h z4>t<&;iY;tsI-HtSM~p)DYMx?EZ6(0Ix*S81QV9(Y~=RIeO8bv;~|z>BB`k&L?=dY z+AkQ#$bw;olF0BHHT{7$)5$k9IZ&?2m*7P(*%jfnF+0OfN&7sQ9DjyIuJv)u#Pxp>WS*u zG$V>}m96{K;*mZ4;Dg4VILB7aivPE86Hj<8ybFxJ8b0#n!K+8=lld~>WFogWR4V_2M~FI~kP5B9>{Nk= zsc9bOb2<-m`-1#LB;)kN!DDh40bWP}Obs%^)Ut$~*=caFqaHOGvx^8DX{oHGt9I96 z)(^~;!^hQbB#@r}SWLEDZ*xH9 z-U?DaRfH9%X$~#G^_@@;VYGv3Up%Un>KDRQ${FJvF07nU&T}++YM}9@^gtPGM?`r(@PDF){}Fp>b?`g3ku9 zMUWu!uq#PYA$Z76S!glXI3Ab`MII!h6dsuhgU0d;%MOKQcxh`3@> zny=641e04u*vR(k*_$aEvTT)i-6~PaRXY5&?x5-3p0y~MqsJINNMFvu$0VaRU%zCt5QbkiImdN zI(lgHCqq>DsxsOafG0ULJ+%H~2$%^^Aq)a$%P>e%cC@782D=D! z1{9@~c!>bp1j4jREoF%yh^%)O=A_XYkuCA~K|f1x0a;yrt{GE2@_N#Z}ZBlr4#yy@E;E5j#k@ZI#l`|_m+!>`VI@lU5wnJ;u+ z^h)T~XMSG%?eSB4PA@(h8(70I+cU4}AH}au{P_H6zgY*|Mt7@!DbnYaD=t@mx>RHL z>g$(&vkdC&HFwXOi|P$dZM4DKDCFLWW(9+D8ejNr!gHH_Kc3&LPVn@AHrC3ftle{? zy9_uw*SRKWa$dZsN^|Fj_ybjl%Jf6TI%B;HBAr}AT%243QVgy>2>Q_EC*FfGxO%aU z?0~*t+?~f*%7Xkjhzqq+!Y}?jfr_3oVqP+_Ktw!biK-(=HJuex3s44LQj=Ziqy%V@ zU@g;oYCb>_kb)?Cg*5~(vPmHb8t8R4`VH}^Y=7H~A0MEJoc90g*k3QxXOP;Z&3N_w zvP!T%SsG38bo_vqH_)3^G_z9@&Q6otM4ydn*%A2H4L-wGqO=rRl+qpSEYG3&V!txF6r)DV&>eWL&c~M?3#lB`jg#6?Rkiu}am**B;Q+-669>0BVIra@ z%pr*r7EW@(2*Y-_&~-wfgkT|+SBGCikYhUp!g_oJgT}u>QdMg#M8UB(lh)2MS)70{ zu52DxNhx0GxX8J{5tZV287Mzcf=2Tb=hOwhpqlutruYLuAIBTPm~ZTd3%UPNfAmzW z>bY^^g?Wl~FGN^&hUPIaox#r)a;DG(L-Mi$yg+S`27XqM=R!r1PA28z#~jQ!thmUJ z-n+pj3r~mNgxWwLq-JQ)GA{}x82MO-51(l?s)vG{MNIwi1U|Pp>2l2F8lD>Gm=h}3^fQ#f#i2D8$RTB5NP30tm!U1dGV~5tF+@-W6eyJxDs$HA z;QVN0u-5S%OR$}}>j)R^V6usT8qbdv>a*zxk}3ggP8MQE)3YiLVy>p%7s5ojcEQ<# zm=Flc!1P2ZY(8ZN2>CHW!Urfw-}4NJegRx6h083BD@=+U1a=+m^ayxTfkcKq$%wXM zmJ;v?G!Zj*iaz2hJqSv zDB>{AC;_a&bWG!H63b=}aGlStJAhS8U;MNZ`jdt}k1z^CC1!b)O5;jXOkgUsPH94M zQ=MuKvjB)T3;;fZ)q#MO1$fjH#*bKW;>39?2jU#lIB^kt5(5d3nSY2dG*~x_sU!=O z!VY}`EMh8p9Av3R>)0V$!znMtys}`B3H8XAm_)eePYB2j^t2cR6co6H$WV%=dv)2G z81Xb3VSJ^-4%%q+=|&y_+QmzU%03+F91W)gt}2ZZ2fTz(V0WOI6%fKt-W}1l`v4a$ zp`b=JMI3~m671B`Aqmt%4^8-g0#;f*;v56KYk>y52ZpKCNhjb;Db9>Aj!;RO@yXu`Re_KY1+o#~`=uJW??MYe9H>^2%0PrCnTtHT8RvW2fszdbxb4bef zpj5Ht&H%`XMTx?XMVv5r8v&%9F7Od>XgdjnH$}Bf&XXjh`>N@pceJ?ZP}XLV$D66& zab|V!&2l0^W~Fr<%3FO7^%!NzNX`|^>hPl^87k6Mm|b(SwOdEo_wn;(z%eI`WGj#* zTXs3$x79v39iD{SQ}Y{{y5l~Ij5K`iwwaG3gf=9rk2_=L!KYf4IFf;BbWVm7Cxr>3S@qEb`h z6l=OQB`(#H5)~O4n--fAZ;6UiQlir=QA$*LoH;r=J~lPhnwl0F8IuqnlM)*hA0215 z##+;XH!Uq8G9^0J9F?XhsqyJ4u`!ldBwDRXTB__IxQ_S!5o(sYe_IiS))>7(E6yT6thK%u_UBgEs>F_QSoW1lGH_(g2TJEO=_2y zl4Tv8lQ*J~xD>eAsOa$6a5K8jr-GI#J__9xuobA3Ny{-Y=o-NGxE_=w_}pBq*^PVm z!bcFX&~>P~RenCMU&8lsB`HXjJjLy2bla>mU6;;N@fmDfrO+`uHD`=StqMHaWnHE= zIeEC0mtQd~Mafe5-u0$(bHh!ztI5Q!u*f&zYtOig&1wn9cll(=D<)hCk5s~A%n3@g z#IR6`(l9MOGA2I79G!~(vm_|73DF3cmH2dXR9tL~Rk5N26jc3D{$+^3R}n`uRYd&g{C|B8#+ zECklM!V`g!_WnC;7|z9b^MmFAT^*EKzr0kMIZDBTp5l7tRV0^2*%I`WExcP$sjI#; z17y^ZDZn1bnhLVy+lKB=Ff}ucV*z~8HBpvYJX!yW>jRQr|H}L!dO=u{%MR z<>9lTvQ%N5nlH3&qwJASRgqngR7AWY$WCQh3hbEAK50#j5J6zCD@$SJWISU^%E={2 zT>X<`0i3p9Lel3eOCIBxaB>nW%98&$`l$VQR%8^7c$5Kqsbl|6R@%u@t0&_m8_8nC zIW`fz>?BL=o(zqhPvznQyL8&u{waQ3jILfqU=Ps+5anV4Mc7ty41^_b%;b2Gb%#73G>*quRFpDMma3eP zttH#T3>->}|A`tSs3%=?sf!k6aH0}VN)JTkbX(_@hsKNNVhG!)7d81bNZ0{3)OdbWBP=SB# zd-9mAqWwJf83Y=p6>JV6M?GoqrNb|8<`F0qvQNT(tr1nd0z-rQ%CTp`_6nK z5XiAf!>p#E8KbP(Ca7Uk-EqqJx~9=7`KIig0#hy-yO_N)vQ4<{-DJ@&eF&HP@k=I6 z85}Yt+r(~0F^z_O%7F7>`J*6io)s#_SD#!_! z`#ce5+^m~w%`@eso5Uq;`G1GEN}H5yYE(LIuwew`WLivY#*t&xDwVHCRdAQam%W5%=#uXBxIJ>`w6ercZEj?fG~E(q0=KgBGoYmH0)*QFS$8n0 zX=KXDGvRXEv=M4@StQy`fRJM1UqKO8Z1}_WsC50qT}?AHvPW3+ntOYgOife7a?+HJ z8$PljxXr>IH$jG(uu3n$%_AC^s^;^4c4AnkT|vmWiuHDR3110(T7M=f1q1Uh53LW$;II1P$UUr&{@Z%S#t|;qm(HN zQl2u@YHHkAB}9Yg9B4O2Z9;zd~5Ez96uJyk}4 z6gHV? zq4qVRO(TR5kX)Qtp1gnM$ZZDa^&dC*N0p-APC8HfGqZdAh7CzO?~OgzuyMec%ngx! z&fFa}eOlVqeQ%tq9=D}<)b&@2L$6u;cYp8n>JK`F{qyh-N4SJ zN=hWTOLsCAM&aM2uMN_q?G)pGm>}TRgzb%g_mFo_mq!qO^rQRh*(*pS|N5OXNW=I^ zJXUm=GyH5)AE_7aOX`EWEP5i;QR;>pjFR!}ikn5cF}R)1*Z-n52mE5v?$6<%U~3Rb zYQb`GTn|sX0P@5{JY-;{yHeWW1`N7ogDfn%#f1K9u~JFQTBh4gG6AXHufhPNEzY09 z2A4q--NixowhS!?(<%m|pxykxXepI=fVPC7EWcSqy-x@Ce*l~QKA`eU(R|z!)Dicr zWWj!=yKcnYEGXMqs;J>4gE||yy5dRr>8}f@OarYsXipBiQ^dq5$b*d4pcHjy|Y^?xhj;wt(Ikv{b>rNcJ0pbx{IBBoh)^T?1vQ z$M~Ht*`PjC*V=!Tu5g(7Wc<@#G3tiL3v>--*r_*i!BgEmEYf-?p(p2SIG|fG{3aci ze5CUGn1}3vI&_0ffsUKy z$<8KF9S)ebxZ_BYN~DM~Te>-i`ZyN9(IUl+ zcs!uZQWR2RQO1fCE1n5RryPc zN(b5MW zPw}Bdw?Ma^R!de+w#6K(1XGGfVENmP=6XsU%6AH^uI>C`&1(OZ=MYv0@*`Qh7LC(oXpu|3yy>8qV4Z*{YTo{yHh9k6|w z>+RL%$KaKNo3*I))dKI~{XQ5p`t?qq?&?3T?a|vCTkK2RwcZwbE_Q9-8{bP4E46RG zW$A(O%LX0Y_u0&jnbW4v+V}d%y31-so$k=YIP>I%s2PWA&$#>AjM}eP-yYQ_>8p@0 zL-t%+y=~8=uy^;g{pizy#+jKrN4;#hn;Lp2#u!oe$k1Od)bKqu>Vqz)!&}7f@+^!! z-+lVgX&+B67(dWICgi&;m#*O(+I-;p%aKNhA~rPrBB5ywOto>zZqydG}E7FKd6Hbf;{8=Z;GIRc)0v=K4xq z5+2V$-EMU^)kBnzGY@cf(N5#i*ifR%?#T7ba zTP}2W`MP97rMS4T?OE$SFEqTWBvF;sox3QVl#a{WFK;`g&9H)kTfNewPj>yQ#&5uaS%Zz|9Ly9585MPqsWcq2W#5Gpp!;!C~sBM;I=iW*$rH2|< z3{%?vZ3Spn{@+wlpm-7CfwKJ2*#O(xaWFfTVB7PhDqB0PX!6nG6TU|$M;DK;w&Z5y z4>c`Lo4PMeY-Z3%(4cPe(wC+p3vUyTiU)|b#TDQx4Rlzk67noNm-EpYklv*O?%(9 z3_Sa0>vO>~;{0R1p1U6O{dd#m-gfU(RrZc4+LKe`_qL1N z0vfNIF!bD#o&mLIpH|#nwOG5pnB~59X(hKN>t30At7zG_{N!_=mK^%L_K?7zy1kNc zto5gZk3Z-Z>Hhn><6=FVe_y9|((n~NXC@9$>=*gdYcFN|I&aVU*X1AAoj&O~wDPKk zv5n679URuF~~W=ceuCOFvRsm>pOcBDu2>;W94Qw z&X4}e==p}PZLf?HGXh>(}bAI)8L_f`Mc^Xs?Ip)`P^`G z$-vfYdww|OoexSzM9ex9+_=&oN1Wq(eXNwYjm0#O%BKL26rb5g*~IEpN>~)z)c+RM z3T;k9(kZaMUG?|Ofw!~`8a0|6&JZ^Z9iz@CX{`I^Z|3*^d`MN7%ju&oMfR){5b^Vy#_nHjOMGwe$&bUG3f~-d z>x-;gO$M!~c)Q&P=i)6Jvn?@W)+|r+ZTxl1xp#j&KLQ&EK9e_|mj)ld9fa5z+sr z+0QiI6xDD4d(Hof{Cb;Hv$wZyekFdw(WS+W?sV-lr$$WeeF@o?iM>8p;`>&Wnv=e` z{ejbzmw!*bak%HM8S`G;vAae=?c~b!-aS~iUVQC^3D3rU_59nfYznTqc76KQlF0zMzL#ru+)?@c#OK@ov}a%5*mHS5*E+ka-J<>1_XhX<{)LyXcIl|BeRJm7 zs{>!(eE;;8^dI&tu#LNR;##MlJJw$tSZ~eR@k5I*PEQ?^yftFdH+`23+BLdfz2B~7 z?W;Gd(X5tn-S(WHoH*@c_s;u|t!@)h@apf`cgL9eH3}R&I_eHI=qJI@Ur6P>MpFjAlVs)n53Kk%AJg=Xay=5oV`Ll;14Op zIO7SFh@9RuxrYOFe?srj~Fa@>&bIP4}^3dwJZ;fryLQH#N$<^5pQy~El_Op6x$q)N#Rb4?FFTUTAe|z81=a7 zX!5q?q~%BC=4E81yrgT!(Q{8?|(k+l|`-Rk3U-EHG7XWIlNKxyZiEv zWWDg$M=dUSeE!U?_Ul*P%J@EQS6IyI1%s`VW{-cVUH9H6y z4@Ugh+%3HRYZseUTYYSM$mn?qKU}tame_2}*qXNj$FG@P@WRWtzo=tq*I@5-zYkZf zckz1d+OT`W!e3q9phbfb{W_*qchATkuyFoQFWlZe>sGslXYN09cxTM@?An_yY_5Cl z@abDVn-|qvu&|3yGtZmGX(y`hi>&;^js1UUD7>wZ|idB{H%$= zIYHywt{ruuWdrNVeS>?ZPT3cd7Q0}|+3#-My;*U^;=1P#tzK~W*THG6ejMnw{z>V?igr8u-&(NRy;BFj zMa9(*OZE4^{o3jlZAXX3960*M8?TQY8+Nb5tJUB9vwh9tJIn6w8u4DI1wZ^!IHu~= zD{+g8DtCH#Vq48&g%>y9yZ_QJp2b%(p4og~x#rw?=Gn7_S!r{c9a-9^Yqwp+eZy9a z@sF%A_IfLiw_E(V?%=Aydsa++t?$S_T|2bh-TJfFMh)~R?l9s((d&D5W@QcktY?0p z_t@@-%q2kVZc)12wn>2k5^F+tC$pDk#AA_)b)J36>S^|Y z{b`Q}DG~O9&gL*@Q^g+RdQ{t@yz}PB)-OJ9y&m#cn~Z02r%rBEwES#Sp9`%vD6MtH zz0A={*OSxO9H+_+6k?P$Tt!236l01WT&#ei4wWDtEVajc&}=CiJS=Dw#1ay z6w)kEPwMaCB$wly7%I^XO*!7a1KFqlCvsn+GV)#RmEIa@(<0wj+w|%l{U$^eGmVb(C6|d9eNr zNg9@d!xE;XUcF3hdv$HnE-tQJ2Y>rVPg;T~HC!+uB`Uo;!*1*^MdtN{Ls%_QeqgneKy18DrE*d$p$MfAP zZM}POWR1n&6dYTA>FxBBx5CFbpZRO<;e)%H%w7KA!LF~qz59LQ!FBgt{z`0Z+y2)p z$!nEq;|{r{Z`=_1a=kW3!fkz;3_0FqgyqhMO9%hHVf&>1n~t9}zxTxp-}!vHszS)* z#&4}Y^y8_KQ4Q`)+$A@>eq&JAs|~u3eRE@FxBN4A#=hF)hnWMT->f;k-Ij$1oB95k z_f}lk7bC}4-JB8N-ZbEiF@4Pn7TScdZOtUvxIr*>hgNvVS)H;o!$>gX507>}tIB=+uPb?UP?z zlcO5A)xfDrI&(Jn_Ws5N4O?sq9QDPKT7hdi+`b-|;b4^>Pir!0x_S1kHshXeS8adP zumO{^dMkanRoYE~`(-)YFPd-U$*fY0F^n(>E4g13=6*3Vi*$f$(ZM1m=jyX+92RNw zM@=UY@bB0y(nsJf?RN>J7Swk3QascuoQ$Q0FdT-mG<|pUZI6-1SI(R{uy(bLH*5Z8 z2%h-k*E53pty&k;aLAnt%ia$7<>JIk8!w$T&HCofvQ{0W56|DLvFejO%d2d@2jSLJ*-oz`JJd?`)1 z%T=pvI$)Vr!Fy@Z+T@|M^<)tp3?!L-3(r)~}hd(`4*8@Y&BAR<=usSUOu>OO;Edi z-<+M*&O<429SP;vUv);f+Zr%ugrO9({^vL&xbnk0PMDy~QL!;Gr2JxdG@7FSVb%P1 znreNB_m0v2)0>#C-Va=G=ibDOc_Rvv{En~okV+>1dF}aOof;+Y-*+Kp@2K~hr#BpU zBdAwhXLI#d)vCT4@}+y=%;!^-{%k2h{>eR}T36ZuNtIwdRH zdLO=Wr@igau3AGP`weM#vtRouk&{9TQije+wk5s&)!fdn?D=@j;3Fx4+4T-o{bNe; zhi6mnx7$-Uq}I@Yys9;(Z|-E7);;y@!4F1PZ+4?^;l`cQTX$*M zG(T~|^~0SWWM5eP`P=Jmj&0y!zVTgG*E#P_HO5>T6TIc}qC-u8j!67q?d?;RovY+M zCil5x4&C3e`?JKs&sAI^yL1cdqH3y(&{RJ>b}3%2YWgo(iXZ=HpD$)zdSg)Pup`ap z%^vv8my0WZ{O>9~ZK*7jUTovYsQ)UZ_Xylrf-fgMhj(EgI%6?odquI$a#)4ilxC{_ z!z$eTNEO??Q%Al8Z_~Y3gg7Jl1Z(i_*p|1i!Rg2e9oC>tZYw(i@rX6J+r_Cpyni@w zZea`CNT+5?SFWg$v+b8P2k)3a`pV^p^?%*#n^i^Gws(K}XT#6l`T53}ou8~*R{O_4 zc3c~g)YsUsM@eG9pa1AJnG3XGf+j9akf3-;$MYG`%-*{QTjw$E?XZdVa|tA@}1?&bxhJwa5G^t9CA{y2-iq z3-50)el0BCw7vEP%hlg+@0yU-zqaq#@Pxjj-Wa*Tb-M4giXWt`_5Wh=NuTzMi}xQs zwD$1z@h{vs|IA4Dvx5s3h8a`7+tNKWXXkI{rL#Yq-B!(Q^1HSDm`iupb$IjlGkFtI zM&yiMZ~J1c`^JP1uO9f~WXU^uheB?@KUoef{7v>7TBA{b505 zr?Y9}?kt)fQSFl&oBMCybSkmwg6<=~S#flK?;kVH^xbphjI#T|!HZq~^xieN+vTO9 zRpKLdeAUk-{JQt@?lIq8cdr|KeA|SWP~!*R#eV;F@~krjQ#%H%C^38m*K9mngWq5A zzjImfMoka67~EW48u~aHsyYQpSGHcqInR^5 zoYLNS@8Ezdr)D0T^xUm}YubG`yT9+(HwT(6znwg7In(2}ITP-0TOdEX@zZ*@6a6Bt z?s#!*#z(tz2Dbn5j7RRZwKc>8OPCvo1MlkUNb!-DscB7H~;#y)A40PuMA3VUw7%; z$tPzOtRAY^?&%O1BFwfcitT5`_LE}U>1=AVFlN$#-bt~sJudt`}$Tv)V zXUuC+y#D%ui25KHEOTx-#>EKh-S9Qmx8wig!lLD+8XST2R zUGrLdztIaMoCD(%Uc{iAxGsj>3Nhe&uLsgb8cM4 zp6eH^pOt(dW?{|G8s1FVTlnGD>fgT{;U4iYO!;`hw1>;K##MgdrP0|hH~q%Hcjc7< sQ`&ub+|{RE>p9(zWz7HS!nC(s4$uE<&6>UoTCW_?uUh2;IQjbj0QEpK(f|Me literal 0 HcmV?d00001 diff --git a/packages/System.Collections.Immutable.5.0.0/lib/net461/System.Collections.Immutable.xml b/packages/System.Collections.Immutable.5.0.0/lib/net461/System.Collections.Immutable.xml new file mode 100755 index 0000000..9e98e83 --- /dev/null +++ b/packages/System.Collections.Immutable.5.0.0/lib/net461/System.Collections.Immutable.xml @@ -0,0 +1,5380 @@ + + + + System.Collections.Immutable + + + +

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 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. + + + 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. + + + 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. + + + 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. + + + Initializes a new instance of the struct by casting the underlying array to an array of type . + The type of array element to return. + Thrown if 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 . + + + 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. + + + 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. + 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. + + + 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 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. + + + 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. + + + 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. + Thrown if the property returns true. + 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. + Thrown if the property returns true. + The element at the specified index in the read-only list. + + + Gets the number of items in the collection. + Thrown if the property returns true. + The number of items in the collection. + + + Gets the element at the specified index. + The index. + Thrown if the property returns true. + The element. + + + Gets the size of the array. + Thrown if the property returns true. + 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. + Thrown if the property returns true. + 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 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. + + + 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 current contents to the specified array. + The array to copy to. + The index to start the copy operation. + + + 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. + + + 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. + + + 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 item at the specified index from the array. + The zero-based index of the item to remove. + + + 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 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. + + + See the interface. + + + See . + + + 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. + + + 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 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. + Thrown when the old value 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 set with the default sort comparer. + + + 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. + Thrown when the old value 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 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. + + + 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. + + + 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 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. + Thrown when 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 and sorting. + 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. + + + 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. + + + 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. + + + 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. + + + 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 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. + Thrown when 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. + + 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. + Thrown if 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. + Thrown if 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. + Thrown if 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 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 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. + + + \ No newline at end of file diff --git a/packages/System.Collections.Immutable.5.0.0/lib/netstandard1.0/System.Collections.Immutable.dll b/packages/System.Collections.Immutable.5.0.0/lib/netstandard1.0/System.Collections.Immutable.dll new file mode 100755 index 0000000000000000000000000000000000000000..20023cedfd4994058755ca6f0dc95831de5acd4c GIT binary patch literal 188296 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%0A5l15ge9^{J09*PnYW2ew0wQ{Rmb;`w^J89~Gi& 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 literal 0 HcmV?d00001 diff --git a/packages/System.Collections.Immutable.5.0.0/lib/netstandard1.0/System.Collections.Immutable.xml b/packages/System.Collections.Immutable.5.0.0/lib/netstandard1.0/System.Collections.Immutable.xml new file mode 100755 index 0000000..9e98e83 --- /dev/null +++ b/packages/System.Collections.Immutable.5.0.0/lib/netstandard1.0/System.Collections.Immutable.xml @@ -0,0 +1,5380 @@ + + + + System.Collections.Immutable + + + + 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 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. + + + 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. + + + 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. + + + 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. + + + Initializes a new instance of the struct by casting the underlying array to an array of type . + The type of array element to return. + Thrown if 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 . + + + 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. + + + 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. + 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. + + + 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 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. + + + 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. + + + 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. + Thrown if the property returns true. + 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. + Thrown if the property returns true. + The element at the specified index in the read-only list. + + + Gets the number of items in the collection. + Thrown if the property returns true. + The number of items in the collection. + + + Gets the element at the specified index. + The index. + Thrown if the property returns true. + The element. + + + Gets the size of the array. + Thrown if the property returns true. + 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. + Thrown if the property returns true. + 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 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. + + + 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 current contents to the specified array. + The array to copy to. + The index to start the copy operation. + + + 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. + + + 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. + + + 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 item at the specified index from the array. + The zero-based index of the item to remove. + + + 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 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. + + + See the interface. + + + See . + + + 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. + + + 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 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. + Thrown when the old value 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 set with the default sort comparer. + + + 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. + Thrown when the old value 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 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. + + + 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. + + + 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 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. + Thrown when 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 and sorting. + 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. + + + 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. + + + 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. + + + 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. + + + 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 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. + Thrown when 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. + + 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. + Thrown if 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. + Thrown if 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. + Thrown if 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 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 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. + + + \ No newline at end of file diff --git a/packages/System.Collections.Immutable.5.0.0/lib/netstandard1.3/System.Collections.Immutable.dll b/packages/System.Collections.Immutable.5.0.0/lib/netstandard1.3/System.Collections.Immutable.dll new file mode 100755 index 0000000000000000000000000000000000000000..d1fcb90c9797ee979303545f14ff9e64059d45e2 GIT binary patch literal 189832 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�HPht=CL-1%qC z3C_B8&deUa$|p1bDa6_jdd|MAYnH5MnJbxFPm2F<&q)9CN*haOl@#+V=Sj@Z9yVMwzAQ8EZ1c3YX)~Q$|e$!x)k4 zJp;~LaITZNl{&$WktIVqqN z|MX6ZXIE&=a&k1ua9Pj)WcTf<`TutEAlusM%2aL-vGOCso!21i>O)UuSpyKIpf`VM-MGqIe*W1Rh38se?fPX| zF#Oi15uB~*IeU?(F0wTL_fKGMzdNJ+m%BFDvbR1@f_+S0#jF#Ovv8`3rw!=J>!9=6 zCoQ0R>v}_mJNv&!$9XMt`mL*{tVyirTd#?pv@raCes!~2LFVe8Tw$$I>FJGf40_7) z&-Ms%Rq5#=n$SY9bhn3CImA7V<#(oqS5>?MTKkLtrsLTW+^YE}ty*zca(lR^&ZUm5 zD|z*lAoIA!<+67@GIhM} zKjVG--bdD?%(Gm3V;{3>K=wChkCpTPKiO0KosP61T~Axf>zb9WbEo6fk?VY`2jX=h zg?3fW9{9hR|DC9_JDYw0Gfrta(^o^Y#O@ciWVxSn1lPgnkDeZaDIYfrenHSs=| zyxS$urmR@9e&lLxFzuL}>o-rhr9Xw%cvE8QikC%Qu}B09css8s6Ja6D8xKqSE@0X{MCLC%0rGx#LK z=Qw$QCK!%nQz@I?=1o*!Ve44@MZul5V0_Z2ek9{PF0Pwrv(_SU}rpJ4bb zgHITI2EZo+KE2`74?fvSBZ!*@`e~3x8l;g1x@ll34bn)1G}6F+8tFU+{wLw{lt>p( z!zTtl%fMO>_yoZx7(U2h@L2($-tg%MpKK)q;%7s7v%zjQ#LEV~Y|zPuG_xU{Y)B^? z%AE~qWs~kpB2TP?PYisPiG1-IeEi^p{^Ozq+M+#hd*JrM8$OHRGhcKNEk#H8bb@p` zLEKIt?*w)`f&IHh4frgA&wTh4i*6wA2J#+|eh-lM0PaB?3I8XEo}k|o^m~GSA1F&7 zC`%tGV;|7z1Lf@ljU}eE5^ZR6lhF@&m#ED7x#ni{h&J#><*;=Yry}D;4@zg z62suL3_gS5vj{%(#Srlrd}83U3`+MHd}83UObmtm4Tby-1s+OlC_^F5p`bGq+G8lx z;ZVr$Fv#yPur&;94HKctFeu}2c)RIvureIt4u`lSL1!fBj0Bz0P^Qt4)6tO6(I6WQ zWf~1-8VzL{4fe-CS;m0w7|rbwjqzY(JmhHtw`dBkzi2^jKDf1@$6-h(a=U{Y4DF2}gUB68?gVmY zkozdP^T}NXt|Hz5w?4cq0sVEA-AVBxg1*NQPv2+=6!;F#c>0EEyfPb}!ViUSinSF@ z;X7LJ#&FPAL?)i@4fXG_D_M*cJKUe!SD4E)}1s1~ST z>&#boCr!~3mFV=x!My@+3rU4{X)Xu%4E)|tsr$Liyu59^Z^{LS9UN>sr@{eZeFZ5g<$i#~vG{2k*1YH_QJ5OUuCranh$ zReg-Qkn|Ul{zB4Ou5{06XS@LKj0@D()3+RbU`%C+g;Wod$=wKXmm1s1-9heNvUWfn zn{Sv0)W+mKoq_%we{>%J|3R{R4ElV3b0JtBZk{2_7bxyAdSBle8qt?2CzmN#x{CSq zA$PJ;+-ko$QhCfjUmT_S429OrQ$khjrO^;#h-mfWmix_U^}D1$!M&N})rTotM6*P-Z6ip>&PYNI;sU4>*VQQct<0zZDgKb5Q%LNA)6ZlP9dt0pGQcU`7_ zQmW#6U`o|rgWhrVg%TZy-*=r{{JyKdYBt*k?xwWQU1e$)-*c`pVCN5T`$fljm8tkv z@iA&lUOR9f$-Nic3k`dN`)0!d;C|L{BDnZ_A!DGW9s&RAgn8g%>Bc}`UF9_yti9sc1w1qfW5-FD0B|M`BO zGccyM?Y{o{n)msh@A;nldCqg5XNGey!ru#M!1WlZ7NZtJ0~;0E&9_3iI(i;>dd4zv zcj_AOrc{yxr!|1HMi3p$EannaE0>yJSDghrFuE25!ZNLa51;rLD;+)T*WPRP;ynm?}Ixy z{SHpQku8f6_b-S=`@>VKrr7E@$2yMH2~Df5lgnR$^xqY4DYs_6ZtGHL@9?9NRMQHD zcITs(Sr+J39yaEOcoo_yxCbeeg;Zf|Yz?8Y8j2J?oPT}D2FpX4yP1!MG;ruCjP2d} zDVD1&bpCfF>~(?TBC(V22AnDxFn~Ci8O@wB;Iu;Lai8Y#e_Eld`?Nw=y{1x*Hs)!} z>P}eFoUp-i=ZI?tG+@pNS5GUn&&~$RZP1WSBs3K3G`GxY+yx$n{-XiUF+0H=+pz&B zVKW>#>d_RMIsEV7+8Nrw(@M>Nfy@yD!;vqQ>dq0%A=AAQGR|)&o3eqC>cWBViWs(u zLFm5_N>_Beda3m@^_HNaw(#?@)m`mIohT4^Vl&T#*?@k*p!9TajZs_b}DUAr-{qKhYc4VhUHtV_kL5{5ISFspQ_m{p*mS;dR?T%z}=w0~!px-{uJ z*w9?mrPAEerP8U$UEE4NDvjPAm3EOlg*0_>O6{4tdeCW>PqW;m()r_>MyFlanBkxi z-o+((MubHU3lD^SC{m`oe54Gelft{u%X7nHG}=+J3w6JVxeuh1lDjzfqey3HV2?`s zTE=U%w`Pw@`D@rA{^SEk}imd)M$jC#$D-{ zSgGAIFfL-H_DWI%)&n<(PQ`QV+cC)z6^OMqq6$1FYT3S4qxD{$wkqK%YXkJZjUe71 z(a51K%(s+PX@8E`&+>ka)>qGn_R!>r0~+0r4rp{gI-t=V;ebZ>f&*G=nMcQ=wyZvyTQVZ8NM;-&IwMqUIp(d%P z!gV_R*T$hX{rM5!z>-%ZI_D zbS|z9Y=K-e;E|CrI^7v#beh3zD6KInM(4kb)@e64n@+p9g`-~4qr!DMH`k`qPHx1d zAnn{nyo|YySp`el5i_3CoUSh%_%9JJ)136MCM4HdKs;aGfKnxnT7Ng z?5pff^NyaQ)725lJ=LSpsh?gjBB}@DKRPNyr_((%bXvnN)-RoMS=3^EDU&Q6+;`aN zICvfObeia5{g*+PMLE#UINgXt9h`zgr_+`kI;FfAxkp2$vAS5N@#)aF;)JEeI-M&D zBFDwZu_9_EESsa8%wmkX_NZb#HR*NcF_6x3EY|5H$O^7eg-&;w3Z3pURcv1c`(sfR zI_)@C#rCymjTK|+^nXv>4Bj|#`Suj6#;IGqNa_AYAB zY0siM)R)qsI}Y^NE2s`5yh3S2Nj`-Q?K4z|5gs$P0VD7t$aHpK1IBYLWIC&}L8qO9 z>R|afNM}~o>2y{lSrX|q$~xGGMmOlR!%zeIcM?cD5jE(v15q9KS{+>r(JdIaHA7l> z#MZ(7UD1HCaWib_`f6aCMp<_{sjyC`lMU;1+H)ahKjgNStkq!aTFqNgme9Vo;2 z*iN*0a%>mcocR5u&0{*b4kw*D?QGJ?>38ycaum6*L^`zRNEh0< z3Nr0D(y7yKBAq%tgLI*f#>aYjuJH18-Nn~P7njP*ZPkU)>En7hv`1>_#I!DMnJ!r# zs&yCFqD!Z9(YkaxIjsw2C>eJOYy`>X6jFO=+-XkjG^eH+v^P#CuF7MPoydJubQj8b z0&(fQ!7iQ78SK*Oe8EnhVY+yp?Bc7KG~c7vRKla&ZZ@QLOxO&{%Vy9%vNmH}8cs+s zXm+(3^q$0K)C{-^Inv%GRKg80;l_rUw~ar_C5$xa`ieB@x!a+?ZCz@0=zkqW*X;3N zBAuq@K&&IzMojG9+zlWL5C7Eu}nPKsGr}6w4C)Vm$ zOmJH0WU_cc<1ij?IbIo4%=%*1*J0$>Oz0HE2zAixT@x}4I(aL@pcA(i8|{J36BZlu z2JVBNo=Fi(&!NV`iI)dt7Dt8y50PL;!;bFCZ(ol@m6=u|5Q(%cLFA5N-r7_^>r7_@pJy+y?F3h)_a#K~GL6--lsoxl1#8nv=ST7H#GU$}2D&tK&xmOt{)CR4} zcuOb!Qe&yL%ILwfd@V{|p;Q_9hIL|aQ`Ki2C z85nvUp1bMvq*~=*^yQH0`Lsf@kI$W0%TMC93Y`;Fi)WK}MJ+!?)++S;i|1CHRI^_> z5VvDu1NX~*<>B}}(5z3`2YWiZX}_`;X*L+NqhzCDJ}=X*PK^fL@f##*mzx%Y-Z?ZP zo#RN2b_8iOXeW>cW}^~{QPimHNjenSh#Gx9(WcW5xi+3FsB*QiOItoL%uG~(Tb1y4zj;7+=dpE5S!9arY0mHZsBQl+z2ve3U|L+9A6 zROu9)l`5TZvyz|n=m{$y`cola^3&G3Ns)?~8l7CSQl)$PN|oL*(x|SQw84@%;#$@_ z2dq?SowlF*cRxlrJ(tn*ol_l)XI`foJ^%86VoA~z^K)M@%0o|cyA$5F9x&*>d5}lZ z0fX+I9V~Yu&8Wk^B@8$!q>_ ztRigjF&gcmAH&ZDks6(R;pNhLQQ9D^*lFJAVNH+J(2NnOotk%5d?Z$_Tk+gPGf5=Y z=OsfT@f<|5`8-AUsYs1RU8GE(?#PiEJz+&^bYeuLR%!orJUuJbL#F4%9`)ZC=RGRj z{o^${6Cqxsa}s*g=k3>p^`K>b7e8G)5Em423Z+uxrfUz!e*(?=gs+hTjmha6jmc9y zCQoBb)(n}h(U?5Vqw$m^jY-W)WAZf8Ntk?!$K+`qji;FLTIjIZlWkU7W5;WIlJX|U zqmHi04vedkwC0A*lIi=DJb4sNX08Xhi&m6_bu_c^RPpF^7pHkn_zXlspmRe7# zG>4p0Y2TpJ9QQQGJomtYjaYA5Pjjr(D(&}^fx1|51}m4!dN5{gLb#Pi zX{7Z!TUa??dqj*i!Nr=Uml z@6#?1i09Q{yq<({9HeR(b~; zuhYKb@jC4ijx${#&q2y~Lb1}@TANP0c~7^}oiPS_N}ukJHhpjUQmaibnnllU%k4zk zci5)W{n4h=uERF2osC3qJ2-q0ZJ2sv6X~xqf zjc1*9ced%YkF!mueV=VQ?eJ{VY4>I-8)i{`)sS^~I*7%(Wu^%+*%~XxN z{%_8=_-qSHH7<=`|g~nJ5kFgdWV=WkCOJSLoxOSR@$5;c8v6Vc=96ZKablM@dh1;P4 zW2|O~lgF5Y$5;!GF(;3)l|05)@)#@TG1h=lbZ?@QM^Q14u9ZBx8gQ4qH_^f4s)5H< z1COf)J!#mRc=jopMbAyk?L-<^71kjlGpWM*u(1N9{k5tPw=AT>dbzj(8roy4mNhNt z&DWCZxFii&uiBR z2JYn^%mdSq4$UN;Jd?C=FE?;6_i!(_a4$D<+ct79@8@3bL@!s)=tQ4Z&S>Gj-j9_3 zB^u4XhD>SF?9s`++=>3Bx-7R7see29O6lYoqX%vK%FIsidyw`=#2F3PL9rA4MWp>2 zJJDZPfwb#lC;E#twC7?c`io@BF~<0A>L9n3!=Uqe4{(b)dEM^h6}yvH><;w14d3RS zPUmK3hs^{o7`okmhVCxw~X$x(t5kgN^^S!*LpC1>5yO#!0&ZN+ie2hUf2iY z%(?{dE7k{C;t<+sA)6*k64=gi2g?Nt>75Gc*DABXVkHHvVEty+SFyfUBg>zi2L0{vj|QUKY%6*vp>z5!I8hnSYo1iK<08Z;l86N5+}H<&n?na8|> z`4#iuV1URABbyl)5Yw2MLrI@ClxnvGR7B3u`Cti%93v=~!x1FEHJoDok(oDw^p}oc zOK`BzBPlcxjK!~CcG}0|H$~O<1Q9Hfz%XH3oFGPs3&3bG9h@Xmz$DSOBtgt(%XINK z$QKLS(gcw!hBA|wS>WX&A1o4AgX`GRBOZplRkVXO;uLs2>vKgA{ybs0NXecKR@>8Y z)4lS^2{`XbiTFMLw6E7-n<^);-o5qrc9Ikg|5>ASx#m9G`3HNP2BQK4lUrgg{&`P zy^GWFfGOG49BVs=)*y7=@*Nzjo2+Q4UbDV9wtT_Rq9augER@;Tbt)Yw+D{?GKFVaz2qbg*nDtpAb>3WO;m{hyy?=Qv z*s39^ugA9D1BXy+haL2j^#|2bJ?(g1E33;bImo-JKaj~U`H8rf+!J2y3G-*`AX4W@z+-B`t@z3SW z*eW_Wx0N+*Y}uhvIS+H(BdqD>xW_r}3D&DRm08uFvnK5vEhgqjbtE znr)(?!4;=dZ^pv%d3zjNrgLaIho*Bn>H4?gvfOn2x42Ve=v0PG4$b8>i`c%1HBQda z#j=~}VVi2sw}vfiSYN~W?qIo@_03YIk~bqqw1BQ!Dso#m%~lR=15>gOvHc;|9AYPaTN3ms*{KG#TRK~& zvt_zLmKmH{Cb-+4#rC;uU%>W7Y+uCoPPTNh>}E?3%Qb9MBV|f+2d7pKO-gnX=hDnJ z&1}ss#M)^u;1r5D zg(9|bvAu_FsyVcVLu)v+hBdWZo*itti_25b_Dvkx%=XP}-^}G{=JGUi-CHRI|Q@^);-iK{>6C9h^=R=hDPBEv#u}wsD&69NNyI zhd6~poWfz)JZe9}Hr*V0f@AfvMg&sJ=z-J%VSzmM0;w)htdE9_yASl3_X58aLme?} z8OxefwoGNqbe7Xup9z~fdoHI|z@bHfdqjf6$#GpA>Sjw1vzl#cIIkTD-ED8;)S6h| z%=#9N+sgKBoN_zcw6o2jK$>k1bKD~w+Rb_|$2!66WxWWZ`f5Sk;~?g=Ag(p*qamZF zL3Gu`uuUwu+n&my=|Oa*WWc7{p2?O4tS@4{lkHuscSHU%&jT52Dz>R%o0_1($i0>= zcQALcO+B*-HkiTKzL_ms*=Ao5jm9>%Y3I-m)*oiR%ArR%w3}1tW}D-jf|qShAatkw zB;A^hD1oJ!-tXlFM8EliuEMglM%WjTU%kmE9F4ok;CMCO>b7^6HE5|y-nhwa-_QR|> z!j{Kb?`6vq;G_0l)~hxuk7}dxs5UB(YEvzZ4&6rein3ALMzc)}Yhsy6(4=IiBXp-d zlS6Y^Q^cAg8?}#%E#0j5Fl$&}%laM6UEsAj&8%EyDeD1>V5gr?Q*VNDHd>RE0E zciNj-(;PxA(;T8&{_1FfzS`c#Hitr}1rCMus?!%AVa;)lb(~`zN34WAFWaBsT+{*F z+5^a5A3*trL6edl%lagi(+5!bGdVO1+?bQg`XaU|8bD<(8bIYK8lYP2c`mlB89*he z;gol-klLq}^V-My4z@hZv0i1(ake?Z8a0&cqnR^EcY_Cp%hmiNTQ!158q0AJ+@37EAn&xhnLAjs3;Z&#mF2^%KMDDryx8HCP8|4UUKUtqcMqq& z@PH}V^~_eb*~g)6tU1h@S3%4JtT_SVS(Rmd1oy=VN+A~9X-{G~m+4{FGxx%BV@?Zr zZB8rryuFR}N0?!e++xgnW>X~1GlwH7{UfXi8%Z`9j2lgwB$l(7ZfMZ6Ebn5u zjpbe@Z8eIkFN#v|Fx!~ztnX!6jNw%xGieN2rm|eX^suIyPrL6^Sd7Sk7YRGTp5Au)K>|&)f%noxP1^ zEtbYZ4AaTn6-#OEW419nSbv1&z;V>?VdFU8aa7X`XmAf=IhXajK$M^5eas_FFIxtV zr+yC`PbtJe#udbJ#&~)okpa!BoGiA0}!Z%e5@mv)lq=1;TO%>yNPPW%(qtmo;H=oIY4>PhvTPphvNnYgyjKtY^(W#6mB# z+`%avVY!#7P2w~sQJNVn=dxVOay`o(kXPj#VcBci$CG_7(-}`G)U(_aPw$l4nMYXT zMJV30O(y%O$rPH)askU8maAE=olNPpFxyz)%M44PxG@QoPAW&qV{I&VLr%%= zWm!z2T%x8>Xwnplo62&=6iT6hWe@A?nQhD?%wA^LREm|v%w>9*wNojDdY0Rm9nfGF zWx1CbmdK?|Bz+Rgxl9kUI+5m+S`MveO%rR{SZ-&zgG0Mn_OdLdQLHFt%rr_lmE{7a zlQq>W*Rotcjmpr(nikfyL9^4|&YEs!FKe_UE@u+i=Q5qF=>S*dbSFJ1c4d26Bc?wn z-pY=dPWDc4RZcC-9n6>+tY@}>t8zM6_A<4Z6dJ?K09WNWS#Du=FuP|`e|cGsxsdEL zKv=Te!Lmr%e5>wvE0IP2eX?sUY5mNN==)~C1g71 z(o2p|#Y|;pq?2U<%hk*#W;?S3q3`5%v+QL{k->G( z;99U81Noi2RF*SX?_`ZPgGNZp0=hG53(3aG^n!Kvn2YFnr}iQ)C$od;T|_G)=i+IW zYJ0{KvZ>CdUUn{{6to!i>3$ zYUE^knYEWwX~h*({){WQMpqIG@~KqS%qC`30ga!S0t!uKxrJqK0gb(kLS9p?qEM}f z7~>?iFf|v;tEopi))2*7ZZS9Mo7|LF3(E!TNUxPqYN=)POy?})zF1G?^scA8Qa3y( zMl37XK$gx8ltL}Dh1m{0a)JC#o|iRRIms~~#wydvnp&1ym>tXv57{`GO&-d<$#XHj zO>Sqoo#k$(s35&oLH1EBr!ote)y!IizLVEf!RfH3h3z|-UJlhNIfcqkQLh-t7|ASW zu-?gRVof`wZytf}2Z>9jDl&6Iu&GlSW*ncA&o3ta`?Ej+@v zatW)b-Mm%Q+Nsx&rhuval3Nc%%P>2b+BWKum~EubV7Xx1-=J}_rkdpzmbGfKsja3G zc0j&1$Ge?0?blLCs&_mnoXawt* z+QmG{HGPU$@Dz^2sC|yu!t8#Id;dAgMI0nK<{(*SFguvq z^Q3VyTbSAlY{RT&dYRgbY{{%;b}+plX2o_61<^0<)GuC^V_qVSm+5?&jp+R(W}tA_3wI%-(auC*s?PA;V`4cMRV){EOjZM$8{^&4|Vk9U}rFYa)k^ymRE?kvEOHb9D3Q`$vC0 zdPdYOQITU-jrrFY``A5WpBw9nzB9Tt`t#`E*c)OWi2Ymapm7Vv6^+|A?!|F`9QV(0 zLE}@#FC2gO_{YY7JAUqjvI&n)I5}Zl+_bn|aZknd#*Lo%?8I*;&X_cB((*}llkT4M z`K09d?D${C+a_I(p^OFOxUss^8VK1i;F%S#|2ZLeQl_wn1 zP%uJVAclh@z(_G#j1*(>KN`De#bB4LSTP>^SWUq0QWM2g{PJo(eChCA0^cvNTh*o5 zlgNc%zO5E^?A9|I`wFFCAECMUJyoix!){VHiiP-{(nX>Hd;Hvnoo((GOT<0cO{xjI zN&ObPNi}2FpBC&G^?-1Q{UT31gp?l>mx%-T)z;HuCH}U!Ks<-tfZi0V#M}4{SC?># zcaYQlPGtGyeA0XnZ3pidI=7Gcp`>YJ&B&zreR@;w8MzRe zn-{DA?@C_@P98?AOEFmhIo<98GZs>s+vkydQe%l;)UJN+&sbCpaL3G<7MIrkPhj^v#ez9!)eu_oh%8-eLwtkv?}g z#Y*S6v*uE$nX;KnMbz!knCX~hI2lPc&)F%~6t36Y`BdhF`P5b~8hb!9cmFb1PuvUr zpQb+mzCE=K>`gidTBg1NCP)7P42V7o&Ws~ZXx7L-m-E%m ztjlK;CnDCE)ajsqP0v@y^VRN18uf2tG|@kIU-~p2%sQGqZr0JicK)ql*3@jV1q)MA zHkoE7wZGYqqZTZJ-hWg)YNaudHj!xBo8$b-S$VLGw-cvcNF@=;#6TWblZWL)|MpZG z1LjCJ%lyUctDs*wheox_RtDLmnY&pF)BZp-mw=okH70O2M?5G@I%^ zeh!TyGqtB@e}+&~_HUE3WwS@jlAG6v|25@5(#+B2KXNYQk>lUCXO17b;>?i~ZztIt zKR?W*x$#Y&C(Sw2EY)4a*{-SiuTO6$;i!Iv6IbU^v!N3RX+O;1H~+6s(^Hg2P~|U6m%A> zs3IW8LZ@IYH4==2PQl-Uj{&EMXpr_KRq%`U@!(2?DoSYD5>$lSvI$&=)fwuA zwHfM#l^N=Vbs6e~RT=7KsR6IG>;U&zt^*q_yTH3F*MoOkZUFDG+ypjRZUKLbUzjVR z*>W4$Vz~oswcH8bi(iae#C@P5?zh|pc3AEK4_o$vui)3_iugZEEBHIhec&6GeXxHM zRK#1B2f?>34}o6GBj6{N$G|x3=%t8B$`fF`@)S53d%`IqL3s|Gsyq)~rM!rA)`6&( z@)Ed7IRtK24ue-K|A)}6pdzkOUIlk3uY)%zZ-6%{zXxwt-U1&{j)0FUe*_;>-T@z1 z-UHi|55Oms55XsukHDvtkHM#vP*r~b@uO)AcF9&%&`@>Is#?MEDmIc7 z@oKQeA|``q4K)NzR0o37)Ing98V1f*FM!P)P!SiYL&0Tg1emL0<4IAdjs#b!qroC| z42Zwx220dfaEm$~+^WVQg(?u^M4bfIsFT53bqcscO$2wUN#J$r4DeU#h2SnV8T_?6 z8@x|V0qaBSsxI(rbq%O!Zlt4vXkl#~ zWF17?Y9){ZKt%*;WniMV0i3RRz!_R4n4xWgO(v*_1=<$K3qiE4wiV3Mt^pTm+rW#p z?cidq23(@;0GDdlf!W$FaG7>Jn4{eQF4t}XbG2K*UugA6^HNX|mut6yE44eoE3`YI zzY@eertN`T04idmb{Duwy9eB??FF}J&EU0KD_Eo52kz4Lfxp%s1h3Z~0(WbVfOl$- zfxpq(z&+X%V59aFc$fAJ*rYuN?$w?L@7G=gAJAR`AJ-0n2eiZBbK3ub2enthcI|cW zCG8FHu=acK740qX|Fk3E@3cRn%&&rqcuji;^6Q`?I<@yeMgIU)^$$T^{|KQ5sE7dl zV=z!Z4hHKdK%4#v7^0s9hwGn$BlOR}Nc{_Nr2Z8+O78_n>;C|w^sm7&`oF=k`nO=T z{v8;j{{Y7776mP@tDr;I!93jxuFwO))p{`K)*K-gdK`GIJ_)SRCxf;66xi>ZQ@`34X(us#E9(JusB^0o&r9m&jTOV)4(=89Xz0Cf=}oR z!6)@B@G1Rb@M(Ps_>7(nKC9<|ALzN@Q9Td*P`?EHNWT>9)-MM?)~`Sr{tV)})AK>E zUI@(zP!ZqhMd0_k3sj9Ypk}y1-BG)llwqYNBmYybxv9x%+P1jCI@;04AOaEP%L z9BNzx4l}la5yp0KxKRU+Fm`~E#&zI@#xBrqTo2ARZUEDao51$44)9jxIUY)5AIfO0Dq(01U4$S zfOjkPV3Tqi_*>-;utlN0-tWcVSWOi7D|dkpDEENaSp|GpX$BuvTEWMah2Q}t6MRy+ z4}4nL2R^Gj2p&`(0$)(vV7u}N__FdC*nu^`L~%^{3-~W(9r%rsj1}B`^(inzeFj{h zJ_jyVp9hz!FM`X|m%#PvA+TIM3|6TB2X0hf1vjg&gIB9>fK}@6!C$Ixfz|2}@LKhc zV6FNNxKn)({FV9v_-pk;uulC5yixrayj498HmE1S+tp9N-Rep3H|nQgqxu9- z@Rar-_)qO2yu}=azk8Y`Cg?htpj*Ld`a0;R>&bY(xmJG)yh?utEY_a`OZAt)&HD4; z)%uIz&DdkjE^gHigZR69@OJ%GaJT+C_#6EVutonpc(48zc)xxGd_eyrxL6zeb z`a-Z%{|bB)b-{@MMmjjl$O7%g#o!zx8=Pz8fT>0 zaIJ9%c$IM{SZwS8OO3n0^~OD5xp5y@VeA7p8V`b-jfcRi4L4Y2tOI{(B;(Co<6#j~*gh4?2l zzYza|<}wi;kPluKunt@qkc_9ks{&?#r2$EJ>bo`ICGhqDdi(vGfak!*fDgdC13my#Zf= ze?jhr;$Hz@gWm-F8_$_W;0%HD6#~BkBLkE1rv0M8$>5^EDd4ieC&1-_NuUFkYsHGd zb>J^x=@u(t=@wVQ(k+~Uz2ItCy2V;p;yi}He}KiXTqml)VzCn}5p{w2;BNe7P>I-& z)Jnv|tp6tP4#=ki>70h|1NVR;=q^wRx(C#P_JT%GGZ+wb9~cz$AZQDE2pkaP21A1u zf`fxH@q|1i=z3Bm7y(}TYPX9g$ZG>D6W|87)>MZq(05=238AfAs`1qXv`gO5T}9DEF1 zAN)SJ8L=wG)rhrGJRO`5{yDe^{A)0sneln>I`B&l{TK4uD8512Hj2|I=O&@pl5uK; zVf(wWSp?Z;;IxPs+fi_W?HD-G_5&Div*3w*u5BIURM>A78(~=`Y7whS?1X%cxZO4x z+-;izHrk#5@3tj@O&t1L#JxteAnq^4{m^U^Pr`nicpCQG#Ivy9CJw@Wn|J}C)#7D@ zR*MdVR*T;uv|7A|&}z}ip>HC!YVil8wq10=a=Z8wEVqmIZN1=8SZ)``V7Xm%+x`Lm z8J5?Izd$oiOc$BBzML2bRpNSlC-obA|MUm(SA0t}z%tSjXPITmu}o9uDf5*TN{#Zl z^0o4VVyI))sp>p+sk%bFQeCZqFLq*2C5htY29l z2zWlACm=L%bl|&zMo@9kQ^D^A-(?F9853d;SsC(C$l?Kx0V@YwJaF&8eFGmI7#jL~ zXh-O4p+`f-ps+#X24xOfIq1zn{~k1G@a(}kgEtM{HTdx0-w*!VU=cPq?20f~*uk*3 z!;XgiJ?wN?WOzaNvaTCX{8h^w1*T;8{?;RgC z;j#%gO}Jyi%M-dM^iKG8!koC{ao@y+PP}pA;}icl@%BmgPI`RObCWtIy*cUKNtyAN z$G;n|Odd6P!Q`0<3lsJxypdp;QZi+D;*E*dPkU(EJJaHmW+#;;?N9nHY1GU)Ggr-g zXy&mCPhU88R>`bs$y&9*+dK0gzRnZZB>#CJo#rL*CeQr0E_o}?c{O!XCDtWB&u8|L zU653+Oa2b0m6~?_x|B$t&Vn~3^sgd$#sZ(NKaV0lC7#mr{acs(cpAxP>bBurq#x&z z8gsVpPdLf!$97M0`AAPCX+w?^3{&1V8sAdleI>2+m*GRJ{pI-3df$N$t@u~qLu>wD z;6tl^I-%!sd{*Lf1>RI%iBCR0^ggl>A3EEp2p=atE_~?Rqc!-f#fMgpSK+e`?<H^>%P;l;2rIBQ5R1wGE3Uw zJQ%i{Bkkr&|6J)$m3H%`n<3o=(!EH!i`cc`yKOU{#heedIhDtPHaE-VknRfUUMBOq zOy-C8zFeM_(toA&Un%_sGTv3vT?d!yxlSC$Y0CHxQR+*?EjH4Zh{hO&T{FB)hOd|I z2I+dFTOsqSkoi?gJ-#>Ra&46QO`;k5@d)%+AWlaU=r7a1Mf$In@wQ6+R;jO&`fH@S zO%!7X9f5u|+Xr(z_uqD@-;R1w`L|2`wXz)7q8y~ZR_be{TPwqBWjS|9{Z6UhDfQP$ z{ja3EOS;!fw+=3qt4<7>2uIu?^*2fPX6fD{-CJe4_0oTvbnjpn@2`+QrE{nB|3>=v zNV`VaUyZWA8fAapCByHQ?me;|_eg(}boWaAUeU|#wO8t~FFdzrvkY&R{ub%BN`0%0 z*DCe*O7}kL-Y?yK(tSX>4@!5xbRUxL!_s|3x{pftG3h=o-8Nb8Hd*gBS?>cf{7LCP zE!}6O{j(@H_5ZW7-49CrLFlQSUy%M6q`zI(vt8Q1Ed4J_e~0vUNdGI+|BCegPWpc* z{jW*?Ytr8-{hiYPru4rl{eO`DKS=-E(*L&fcS(Pj^#4iL7dxtP|Gh8WqtZPl-EQgr zS-M_XZ!glL_VLQ}{vy-=i}e3h`u{5Zf0O>dNq>(_?{n#XDc!$I_mp)1Dcyg`c;86( zwA5qAW-h<5nDd9QnDenB{fhK!(yvLsA^nE*2UyH>f}}o3>LV<>)2P2KiW#m-SC_6; zx`EOSmTri22TFI4bi)*L-V9UB`SJqkzd-tjO8-!0dL*^)P^piQ`Ut6ykopla-I3BA z4Ld6D80kh!eXMlHOE*rs+c+If^eW9*a%kcoiiY_}6JN6{@a>A(u2$7-*FfnHl>T7p z50?HA=?{_qfzm%v`Ugq>An6a2{xIpkK>9C`{-M%8RQe-Sv;88Vr}l}E`VrD@g!GS; zb|a7OM1lcj&M z^iPrgDboLzYL2fX(*2`!-+@c(ig#36R|xT*)PEq|52gE&bU&8vap|6r?kCbcDcw({ z`Nv~?AUYB~S zbOWUuteNc_teN-SU}+yB^&!wx{sX0dp!5%t{z1|oCjDX3e}VL0ApJw7f2j0FNPmR% zkC5dVDc#Z19V6Xn>BdTTymaHFJ4w2eHM6~@NHk~A4YQwalkOeTy;Hh-*c~RmHE3NpOnfKZAK2BzY%9grL<+k?%#-fL)*^OR1MSv-;xiypVR`J`ZPNzSD7932e|L5L-cNZ+zQ2eAVk0w%Ha^Z^=-)C zXhHCA#pfD)w&AlKpL)c-6CVYiAbgG@on!det#=HxTmLxlE$EKG&Tc&rYPZfFWT=m6 z0r&*rW4C@jDA_V*u-!Uk@G$igZJ1gO`GLVP9QN$sxz-_i0^~W?Q_v3$n`@^5V{XXguo5d#zfk!V$OpMTuWp46?n;zP8Oc)K+|0plm(xq#>?UFzg1FTwpI zK8vuIwB34aiZyU{P_kug;yBcCk+n9_Zv9Q-b%9?_>rzioy8-SU_$;!1IW5_;Eh*V@ zFv)KHD(P+X3;KAv-MVf@T+o)8I9Y4v6u7hTS!CTZ({8Q5aFO+{3vUTZp4FwM&$d&cDri0$hO46L|hN@SAi4zmGET+onj%QM}a%#V@%-Ej#gfLfmMHwA={y zCb&1jy&3M!aBs7$5VzxV2R^&;;eT@$x+*eDD@$DEg%xGxbDjD5Gp33;bCdJ)lcwfF zTH~t7zu2|KGk29wLt%;2D9lloRZ>z}QMjtumEkU`aF>-9mTw_LGnf-$LrP>tVR5C) zOonxwOwvy$!@&tfMN~3McIt&>->;aJ{G<4}W#ttv=b451se(=wW{j-Tilk|%=F&2! zs~}Ni&398(9OW+ZEv+mrraDr9Y$~5`LuDaXA3@7qtJ6GONynD;WV@`~<#ZPnR&cz& zhRUgQRi3HIttc#72m7?*;O>SW1@M))2DN z%ZiI#eZK5+rwf^$sl2GrvlcZwQ%SWxOX8dQD^F7R8pCJciNG!?EUx3kFT)YK7zY7yr{F>!=%{%5ZzumwD*o>K_7W&cgMGgHVi6zMz&B zy2)$KApN5=t*FT5@svqR&p8A73(}tflFI7Wlh4<=X1|;n))#oD+SmVQYR{L@IlIR% zz$VD2nP5_580G=nTDEZvfYR`=Zm zl4c@|yE=)w!INEn-qy#Lp2#^#tVd!b(a@RBy6OF;f!KE^p^-M@tg$!qEX{>y#z~xo z7|L><-(I+ff*O`lGsT1nEZU$6^Yy}9uy{_e^hu97P?9?nG}iD z7{VMq-JE7o`NB0Wr(Hx$di7>1zv1G0X*q zblIk?)jn@uC3vdF8e|=8vOL+FFx17;GSh6iYeS_QYYX8pr|kY@`uqzD-NokQ-lxiU z^85~C8oTqcP}o#h?({5oZFH4;pv|YX!;e(uzCc=8VljstanWw{Wk`!LEVZ&$FDX%m8j@HWnv^v>ZLl>Kx^J)Vz+)3haw}p72GLo(lJBT2i8FXQz#o$SO4J zSplB>%#!sLTg(!m>DG<$ z4SU}ew%mmqOp!~-;l~}H;aXi-S&Z)TRL}^;gzfy1Cf|ec<)Sc0ZdqkH*_h5bx}fi3 z{qgGZf1J&5QPF}h9ZUanO`EjPsVqXb6&6#5yxhl~q(9DDUu0SY(*uOy_GYP+ynas; zq5|uCQG#U)ZaC-6&9{O$N7Ld$Urtx>&yCkVd7L#9ndzkCepli8uhQ)A=903F|6SDc z6=ykC(7vQ-4l&DPYSSuAAKLqWDkg@Ut6WA+Tfe^8?Q&k?u2@@ESPQ!mUnmXXsxR?Jwmvh{yx#C+=XEp;hK&V>Ds3?koUJ|A&J zb0XzL&;tEdetN$w`-Z1juz9)5yns9j=eUCUu3xbPE${afFY?{K@h6s7mR7h+T=Xz| z5heo^7DXW6g7UHwsmaC6hJY1i#h8;Itig=9024G#e(dR+(pZD%!v4w8H;QFGBE7h* z)Qpscr97qzy6Rj`d9_o$TF6Dq>^Rg%+kwHWY*>v^@+0g#3gI-Xl$C9i@tQs zNO+zU=uRxkgkydoC>slp2fpW$1XJwmDv>X5P-4CB`Cj0{%r4Jc@5IH#$(fRQb&0e! zYsy_~I0z3cl_iyEE0^#s-sj_1%+Eh~)Q39L>BhT`A1UX|P0Y{7)QRvVd`}c<9uFq_ z;w?*D6@|#PFs-7Z+`X!jvgb7{CFU;b*Jk3*;B>m2{TgZ(^jJAJFH-gk!r(5hbaFS- zoS2RwQjXcGKW?9tN3&R;Pb_s+R$!Lw8+wZ|Syi54Vb+?)vtKOvcEwLqR=NT=GJ2hK zhUHmp)*t0Z?baXQYbl4j!aq~rqYk(FlER|3?oz)ZWt6!*SYDVn>#WuNsrgEfTj5$y ztEkE~Yx@Hoh2tAF!lw%PJSGTl!TP$8IMzJF+=5L@IdYa%PBme?Kb% zy*Ao(rX_|fp6`FG%_{BB-&c`~+!z*q`o5y#a`9L5(n4l^W>Dtl3RfxhRe$2XHeY}N zCOh)%z^u~MW#uKjlqoDeuT_T2Q&jF=PYa&@B+lrbezosSgJ*@?ol=X+n6^Pk{ z{c2xHWpG-tyU^1gYF;B;#O1Ey!p$uCh5KUT^^OyBRewZZKziBwE#>YtYyE=K7w1y4 z$f(p$OWj9f9rIp=YqMW~ub*fV!gG6n7Cf=?o1cE2FO_ALtBT!4^uDk^EDMWn^BrQp zuD_UgJ6GywET?3iIxF0(-1G{sKbo&hG}H2%t^T0-TQCLn-Cg)qr^qiu6VMAM)B97m zBfm8d8`Be81}zLLd0zF2|7{YPr7{V=d+(U(HwVC#)35Ghoq7a2xQ2OK|UT@PIRx^xlqJGZ_ zqP+i^;mmugY2J5JHN7;13f-mVos#ZGxI>yDcxpBUx%f6cl-mM#xkrZOukM#iU7JiB zT38f&=9@3$ME*vuf?T%IOIZ&d&&*qE;rhZN43;H$QsGE^OU^E(WrpwGdX5(|{~umS zn5Fr-d0CCnAPnPYc*T(0HdahFb52^6mho7icf0Diy!v*5T zdsj!9jD;a4CHn5->T~vU7H5;?S>WF6a?;BCoHg>x>pz)tdNg$Zlc8UlKQ>=dxS5NB z>d3FI*z5N+(Eomc9))qsM!~VVAt%d&sSmFiaw}JP@GfRG6n>&F37RYc2*cU-=Yr zVo#9wTMEJS;9Ica;e|AgGASTPN^-{V8Kjl35m@Z_Qq6D|t|=|U#8~9Pbd9e(#DcQ& zOf0JCE3l33vP#eVay<91#R742g%r&%*m7Nk<RmsC3$tTsy>15db#2LdJW!Ta;OhccvB<|w zv6x?IVZD5=9zEAkqKlG7k~zOoL`Qk03vECmZnU`nSNzB1oUo0Q|W4>{i>#8_k>HWq- zpV*({nHBLR= zJPCbS`xPF!(bdT_py+#s$S$QD8=hRt%=G0gy6=4;J$A_NhWmmr|Mc0P@#TP^20c@Q z_nZ9uDx5BQgfV3rEB*IV%#`?g0Y9Iqq;-IN+elLqR~)Z6>7@m~+wS{<#aHKr#bv8# zePkxPniqoRuT=1|-&_~Yuf!Ki6;g@kA4*rY7$!yeD;ED>v<6r%v&p!3b&Hn%Ju8{r$qf)d;^Mr z1$eQD$3VJylj#ySz7sB8gD;TXtI@8$l~lh0mP+_-RcS?bB^HVN3cEjy-XLu<*Lmj% zU4R>wFE%~d_s5ex(boz6AwK(lP5;BCud(|Z6~hxNI{DoOKkS#&O9*^r&cD`il$|R| z->lG|&j0wm3%wor`FY@qIe!HI@9?A*R+CbaFM8>PlSs$PI&Zxw+*syzVx7xfyrghF ztvxBo?^QTyr5SxYMBeq~?y_&NX&^%Kltsle6b}^Eg)=-|gbR zigdo4#rYGVY|dYK|3!?MMhU-F6rUUSYf#v-`^Bxhq-?Ab4*qbk#M?K;NHg5e{>R%B+WEiF3bWb&7LS|pe~pYw9A9Ssud&f(KO?HIqiBKf zAFJp;*PUsMxr>&8el6=~>!+1JTJh7k`hGWzhvOgrWKks0Z^ZeEls`OKfF&k0=5NLE zi@v0MzvZHt0D@VM`4G+5r$gejV(ar`koU<6xS9=!@C2!hK)p|LiaK6LOa)_@;V~{KA>ms(2sb!D~$ZJy&1$ z=UjE1?-s~|^_)@tIy2$?R(%)g`7&68$@=`!{WI~iq#3>McdC6q+NbxS9(r5(|Jr*G z_^67mfBf#IZF(crBrLrryJ;jyCzME)j(}m4Y#tI}F*xSG}RaAidu372%xdpkIn9lXd5K1Y8;G-~i3ZNiW!E~k-veT;o z$3nzbdV#hzsrGic>@Kaa|4qdu&}ePc*Q7J|35bs}so)rtVw*>S=EWITEQQO*QO)&CN0eJo-#hn% z`CH^PhVNHcUx5bKht}Mf^u!TCQL-R)beXgfM6*1O*rrgG8U1+BC{q^*($QNkuqIhL zSI$F~6C$o*mfZ`2&|7fHV0)L_!K(o5BMAw^wtKdn9TdV9#V7M+f~InE^JNN8Q029; zJhJ5)O53z>I+=3wSxRYJsGLQy_TCCsBN}3|c!80Z#}sgyzzVjI*-*vQC?8At3ryOyjJXexI=Z8DXDa_qHQB|USw11<)&axrkqSH-^uO5z8W4{}6|K%6xsbDj zG_6FH$+cT3Z<%Wv~7h5!R%%)tq zx?gubT8T%k;NNQn_06NvrS|Bfl@eXbMP#3HggceP+^ZbsZsjo1*vT%~jYCM7eq;pi zoruKLeDNSKd8`UAAJ8$;?s&~joC7E2BKpypqG?5E5^aJzW8#R4GfLP~3RHZ(p)g>< zE1E}C#s%4M)5>T*L-m%GDdMP$8nN>fOC}q(PSGr=-7#5s6F`KiKC%35lQA4;TSOWk zGSwyMd?l(QR>>60kRmP4KHp5y{N$|6OdLu@RS%FBon92aH9oxh&?Q7gaLGMlG3MB# zm%|8sU?E*=9+@UqU60xl$pF!T|0Wauow9-ve^XG;3_WP`mN8hYJ_NB&TSkZmoq2ws zV5mEm4_Qu|;q|jERz&xy#?=XbA0Sng>wr}ic3;F=neyouth+B!<*9$6{_b0yjx-%0 zEE3iLx}z10Le#H2_}13mF`wS6$nT9;3A*QtRaNg?hUGIZ9A@pwVb&#LfkCGPglAO* z%FzsZ`sj6~hk+v+HQ3YwwG^LO7YJ-ZvC$d=J(rTH=_ZkxnomTPM~joanzX zs7EYR>Y$5)!z20SR;>+UG=`)EZ-Y`K{8{YsAO)*qZ8Jb78FII2MWBs8TrO}pnv>p_B! z%~fp>YPr}b^vI&u=QYcKe&)Q&ZC_< zFAuSPW&dDoY8!Nl@4v8Mdi1*FqUpf}b%%5wy4gZ5ozV1xT9MKwr$~Ky65Dv_dswFY zem*<~c}4n97qIMU$5-`>^3q>2fG5hSm&#=7Mw8Q*2Xwj!UgcGf$*R2x_ZU8X0av&T zz+WX~j9u?V%4qQ(luObWIy$cAQ}f&B6as~_9*$E^J2|C_xloI=&nXz4Z`Y#YY=IrFa`RHf#EY#t1>uw&G2kdBY9-elG+uT#scGTJ!~190A@2bFPVcvHQc3|GyucJL zz`3`i)^JVK1JIhclifCkYl6_wa)=Y?gF7CL6*E4K)dpV%9*Qpwcg9zRi|_^ATznz8 z1Aa&23&I)rLU9)2!(^`V7(wSNHbABzpYpO0%f|0`l*c=|NU`CcU1DmFZx4?a5K04Q z*)GV(SssBIu1Qg+4zf-=l*qwsLMx~+D%`^AC0dC+XXMx5=s?<$rId6m$Y-QD2<5QV~|Fi#>>$t zn)KfWv8zym3 zDvtpr%o!%GQ!V2Foh~>=6e+&MOM*h!pW39#y%J1ZbZKRn6IPFnXqK3RNzPnGf$vCQ zF9ZjNDM}dCtI|#P9FQC;)ww+N0CAY4p89Jfokrm;#rs`zt#61(66jb@^YFpzw48-!kyvR+08t2tXx zCePQIrv#VgGD#`5hqO?NsBxs=JWE?TzGkjeQ8`Z<(%B;F2^uY9b!iIPMY@AzoAlXG zNFKu8#CJRXQ@lv7krGcjw*a|q(LYoRr8;%#eMVX^X$;~N&WJG{w8vG?D>|62B9A4% zv<6nZX$GNoD_&BHFzwyx`|hyh@Tr}qcX+AjpZhkyskoUHgS**aFnQo7IE;b;^keie z8w~*gBDIe((%^}-kmBh8H+qGI6gv!|Mt3tVAVosBXIRK6#J$Z5=O`X#C8T)1gj2kc zy3-h{gc|$_Ff6$EZ4nDV`W|PL!1o(M6~?AebPuBRoQWr6r;xANAk#vXKrJk25YXoV z1G-U%H;8toUnFd3RYWMR&O;8zLW=)kLLCkZ;zZFxlnV=XbVAfOEMy|+bMzokWW9nX z@gcbQ4wWDbzyoZaz-kh_AXLT0NMmv-#N<*)C6~fXmY>-u;ZZ!u8R6VuErH-CqEwJ* zE|)JpNN6+=F2Z2GTB^z9qZKiQn%!h=L<@tWuTA0jF@{rzi=ctx;U=)k7#`yAM~h8( zAZkK1%nvQELcO*I)q_{2u#j=0JAJ78Ifx#2B#A_3194spktl^Cfx3c(f|!2MDFy*V zJENi8N<=6fsHp&(f~QWt-bGZ%lA}F{$V1FT z{G$LtPs5WrMj;j<3W;1t973Qg&snn$^EqS^irIKF3JNg_3UMyF#0dFzxVsUTg{-S# zVu#vDl4>uZ5dugp7y~>NV?aPeI6lN05D@OExZyY4OL3FAl!sxdWL%| z9vncD$cjLKv`MhTMmM$sr!gQ1dWD2461O5^gjNbNLJme5BEz)X;#fC||dA$B0a%V;wB zQX=RCxDn$H-s1P`lmphd;nfxRiB9V%Z0OTM6L_``)kp?FS>Qg}|s5U@lpAkec zJKepI?;B*mFSEtR%bi;tso=6twBFat1I^|%Hy?wCY^+kji@RpWzE)RK?`2 zg=p%<1ZRM53ohPd3JV@43Zs5v0U-b(Xl!k2L=QwL6)_(B^YE-_b^{4c0PY`C01@U) z6%tDmPbgtM%%q??ffFj2TA`*wC2=J(+vsWXLV_r*08pDsIn7Vx>BuW4vUonH5JRy7 zqd4)nH=dZ!s8&u2aU>(jn|S1)PGb2Yun@&4(}0Rg5(Wa|Nt6&sJU$R~D2x4Y+LLPC3o=Ar|B&JPMMT}a#C?Krz zn&k^hGE}LKQ7eQ`VsMFoAHF_J9bxx($s}_@ifwH#4;1eL5Vac+CARD97t|7TfxI|o9Ps~u8B^2WiBBA&?9$+gJS}~;ricTUqa1NJX0fa6UPs}k!qcAf;1F8rz zRy2DEf)G)Q1sQ{kF*I16bb?u=Q$PcCol8Wd(m<+Vb}uC&#C{!bO)b1I4T-T@iU|^{ zV+aap_+({ToWzmTBh9`vW+O4&Jt&>vO(ridHxteLWUd%EV$|6Quy343 zfKez(VP6TIiuq7#0Aa|(E;0faEQ+8Y17Sr70^&A!%d?k$6Dag5_%vGO3t_d7~wh@rMqUFvKC$L=zg>_*z-ky%LDE zB`ufK1b)(jM}|nsMEy=EHHB74vK%d(WY9!QD-P>*b`{c9f_w-@9h$c#Z9)!^;AeKD z)^cSuovF}R3S6`Y{ZD;HosK6~d&F@_gFDHc#0>$2l(LA16fdHQ zi3{_@q_%++63wz|T(p1;JWe3Nc6f&rlBpz99NwG7VwA3KtpdmjBk3^z{*8UJH3=gsXfF;GG6SEvoYs^BB zpvm|ZWMUB)$Tk;~g1A@`$eOf7;N>KE14sQ|6jCKo3N=yFO0B1tW~AmUt^E=xZ6~-sip+9O9}g2pMBx(O^~MhdJU{ zq0%lxf=`ZBTB|xCkffu8Z4d^k>cSU&8%zP}0)V?Dj1~{7;A?FUR>b;6?KiAI%cLj~w4m2yQwzwR z5_(HZ#H3}YrZca#rmzf~!e~NsOp~0HoHLT1P*aJGoG(%(2nGHwD;Hni4olA~Yre0~K&MMJh^HQ#i%ASA`;^4AV`?2a73C+pD5b8+kCTDdOP@;_1RwpqMA0R4z*NI4~J5Q%{kU_K?QbkJ+k}fYV^6bDl zMqcIVWKVdg2;(R;1ng*FXN7Nh_ly1Y#C72MhUtSPoCr!s>fAYgpMu*CX{ z0%E7az~xz8VZl&*8ueU6VLbLoTok41DK0!3WH1VQp2iXdsRc|L#j4U8ND!%J2g5QF zuD(Ea0s@%>35<3gLcDTtx&cI*FgBBsOAVu^x0gFnj{j7*9fBs|V+;}oB&K`>=)WL< z!n#DS$(kz=w$W_CY3W!4)9Zt|CkRj9Kb}tz>5&fbGapeWQ+qv;3z)FIK&fmQj}LB6e8K8r@(=b6NiYf z8GHf&!Y)67eD+&Wh?fT;#T4do#GN~#OOeBI_PbDF)GN04L?+A-QYE~-N2T>EQLey5%j6J-23=~9xBHwG3eB$6 zB^l*vRi_PYFKJE>ihu;w7e`U2FOFhZ_6o*`wWwAb*hwo--Zf-0RYFC>1hY|&yONou z5p5D)R>=!(=_#q?H72cGWfQ>>(MRm0WO}*B4}$`#AlN~vv^L`>>2=C+H_)=xWD0?O zs9|4$EG!dQmxMykgji^f2Q@S{XjKG#pzAw9CfH2MoSKYIr*o`b^iYQ5__E9-deuXtP z+J+#c)PU(<3nOq8aFvCz$k{T9Z6RJ;s~Ni01Y2x}1VUb0f2>--QLqtd zvb{_cRVf#F+-TUIG*lUNr0@uHm>^wP6=YQP+S!7>Gf zG{r@wDhLs$OpPe)xd?^DqzIg>`v?kaFPXW)eXIkDm&{ za;ZZFf$9l7K?1Rul2{a|lVm?~#RNqa(=$xy2vMGv`4WN4_7Bllx{+f0N7Ui0R=<;3 zUKyh5Ti}v&G&O?zi@Lh1prZj*#SMcFVlffcC1udok7}k!4y-`3^z{pYAyK+ZX{1XD zZHREm@Z>C)Vpy6Xlak0QFJ%>Heb_#yCzKY73Ls|G6+|V~3WC&-Yj}#at1$m1tn{d& z4-D!CxBiHbk^IQx#OR~eqF;<;t_j7A!zyA=*?9&KiqpuJ0~g@}p`w7Qnw}QOu)w90 z42r=NB$#CeZE$1{B85(2kA}(1&#VUzej6#|@jGfUSZl|b4MMN-kOiFbwP+1zXl(m4`Pv#*poGkHT3JGFd3effprheU7 zjsAcW@}7(U?bzI;e5wMcNpvy51UqPO(9ox6AeLyVvxmUNc>?ZhC_d>0;tWwG1+}3e z7Ax$$qjZx$DQ|7hSJXv>(RN+grkF?wnMOJyh2p$fYcheo@an-Qs9Gy9K8VUSR0j#H z*h;e)a0V5F7ZQpU1MR#Tf+!BZiHR07ETVs)jM&pfQQp_#ZUJ)M)=>l4%Aw{`_tMnM z!;L~byi~sim3DFQs(wE-Wu6#_<$7IJ=cQOb>0O(&LM~B6K~yF~!fGjT*HSq|Cq;0| zFC53m!eNDy$Z(CC{y>}Q#2cC%YN#dTXRE-WO3+L-#^hjeNy7C$O8^z(gAgQ>Z0QA{ z4k1Zg5<4?4ad-`bOH7hXH59CqC|OJsB#sLcT6MD$4&pm%$LUKKVn~1Mh!dustWHcb zvKT8TLI9VnOcR};MqJTUCWo+ERBW~|Ri;Xq6SNF16l#d_@`Nu`^@WQJn(w%jE+BF8 z^m-FKWOD}wx7cq|OR#z+WlSnm+wfEqHc~+vM`D>u#tpC40lO7hm53?A;#o;KL8RVk z7)DZhWg2I$>9Tah19Sb!KnM4DrU)*B1o<*g$QH?LscI^U{4&Wt7^F12(3FEVaZBiM zoQ`s#O{f_(9aR-GTd5{+3r!gKm~JsM>q`skPjCPjh!NGq62E*5u&Oi{4?`mbU8^r2 zLh8dciMwM3kXJCfbnXIEpoWipc{sm7>QneK;AA4lH&iPB!6QVSPlcsc;Ik*ffn*YD znsM@+&SADM$WKHvPEQ;-CU+6wr4+!_AR|mIOW4^?6Xu_q?5n|>XsN6N=RJcHg6r5T zkb_3}HAv5YEGJvm+iWVaSArLSyo{I2rs{$loIyjo)Ed)>m8fo~%VeTWSPhE26{LKs zNGnd$99n?&om3AsY3I_pcvLIZFNCXjKq-h&mtiV1OO0tx ztqfeHbPZ<^S5*ekCchlcoEcea49gnSr8mtfLTzz6&3b-MiZ}wK%ZkW)iBd|VB{n-D0x&!Fu7HvjqI$xf>66Evl`I0M$$B@{m2Iu#Y)ndhMfyEnUpS1vQ!SWoWet#FA)oI zBnY(JPvuR%lwIEBtD~lz$yb-_I^9x6XsN+SY2{3?l+3d#k*=FnDWmj6N@=n&+Wbjr z!gdsG6ldT__#`MXLM+)-mhuJ}I^~B7<;#JZeAv{o;#|7s(>y#AwfNE6v{<@BE}*R}sBqjdjK zS~>kk$=rWbiLU=BqjdjK8W=$jt^Wi9F$gGxK_F}y0ZGb^mQ-x8%Rmo6QA$aW42U@# z(<-%8B!VEa-bI*6qctKXVd@$>l4q(YYvC<^O(l>OFOP?aAREUNEU6%ryI4BB>r|jL z3+SS>q*4{MRz^#q^^l6lw6Rs{}GGS17d=#l2Wj=Hb;$Pa}R1 z@7b%3RdL5k690J}{k`A5^BYwqLTeaj`{p5vG1)vi1gzp#KpS|Vy$MFG0f&GJ zAhiS=UGe~nJheJN)c~RQD=%8FGyuh=Aj)82NRTcT1I!FbrhNBHbP0zc2qD=Xbb{v} z>ML1tix_KHVhL{%vu99jG~*13%3^T>nk$GD%MZzVVmck3*F{C=^QmXb<^KTV>~!j4 zB3c&0LMG6Of}BFce-)(!GMTCn%LNH)LGBnKD6&2^hYTX_*9htiQOYTfsvt)ist398 z$#%R+$*rT3&V0cECo6?o1%1Iz;$;$v4|z67s&OKRUMJ9E=*6Q*MjPo&m;j;I3LwJ5 zQ%glCF2UF#5dr1Fp&AHb;L`Nq#i#7WDFebo6M=Zpil0MdObG*tv-$kHw?%#b6ANe+ zQWmHtQk+M|q3Es5MQmND&6E{krAe5$2`ndKn(+%V67_thCnQMhWpRWBlogK5=OpoK zK$l|FXc=;Y6dXjyi1DSzLMjJ!+tw-%_pVd0>y;kJTDbt!em5Gm`f597DaL) z2*Y-_)OAvzq+lVHtHZA`%(Wd7VSOIKpz&{zRMi>_QE;uzthKXD786jDmCb`HDa9)t z7nuu;s1(P`Km~ykG@4JE6F&n%HSt?b2?l^ZjyHiZ-#8Byvi}l0I-(OHsB&{2+~No< zH`S3;_lS2Q$trE()UeZLrD0>F}FS z8wiBd3=LZ0MWF-}k9GL)g+`-#D99`l>W>q6Zga^kRe-SZJJvc3T&vJ}j0Y9dEaQR* zX;S0RkwR|2I9A_a^b%mk`p;nNw3@(P&SYU`K14Gg)bw6nfunfJ!DuxKEfC8nGA`Q%19b6EN4ADB?u>{+N zyAHUpz5yPZ2&nOVuuzvRjv%QLAm(H#b~HV!;vna0>U}9plDPhzh z^ofu>}UB&Qs5tjocA4%A2{QBY$NMKro;C{qHMgo&9(+%%Cb9^gOE zv%7&+PGo#;2|Y_CIU*>CRD=yuDowOroyt^bo%)0dr#jUfVG9s#7z#X>)rF{)1-Rd2 z#)qw#IC=8Qg*ewVCN7$%Gm!9rnTQBOgLU(nO0q;LEz*a;A}6H>L6&N?jvcZ!OnE8h zl?8)LsE5C#lbC&gQb2B_r{!>~LO@(-76qj6lb=V<5em?7OQd3v69%R0sS~+Q>gc!x_&^U$`02ES z2iB1|(EvYNs1a{M;uS!n$qVBJZ~-{TPBxT+#U(zKgfF0AH5uTc(8rP}#pp>hGrsMC zFEr2r2+SqCVa^YbPJViFXz*AQZVC%c<~(2ciZI*RvYqtaCQg^)^oZy)DoJxcd0t`P zA|yqDOb2*@sYdo0rPflurgd7B6`IVU+yQA0xaQXQ&4SU^ImAc>SJH{WGloJdT?l7%>7^e4pHIfDQR z2bxGA{3)tsGEe#=Jy1=Ty`#lthl)1KJZ`3b?^)Er+vY@qL6p{YD7Wwe>MqupXEKAK-(0Gx2gD2_sd;>aoIYq#1rsH1x0Hr9g1<{r4DA}bvq zzinZ$#Kc+XFD_9$k~n6uBv@iZg3OPPiI0u5###wdq*Dn0;?fcm(&N(8nkL4_C8fp2 zrP?#7tX4 zd`1Ei?RHCgnms-tkbW)(lI0MpBwRBPJ#-HZeU-Q4$PFm8fp*d*kA(oD5rjMq_yoaf>n5s95w{K!pzZ zwvqO+x%ngH_o2HXs?;zj;ScI6MS+{m!=BTmPcMA?5NlhiL&Majpa7RI;j_4k5@t|* z<*jIRO|3iK#m=et`ZX?6NXbdd9Vb((0*`iym$_YTK5p~nyNMN$8uj6u=5lkR%($t^ zEH1DpFykZ7xTDRU5rxn385Fo_-?iHnyW_5ou3fK zbzI;>Zhp&*)YRC7A+h+1szGV{pzd*^b$+CGNKB*V^fg?Js{+Cl6R#*K1||95#nYF* z3e1?ADoQ7V((Zwn`18fMy(l&Y6wrr_hgg{)9ijw$s@9-9{y;>Ux)2-#5_!XFqvjp; zR}@kc<1LSZ&xKVQQa#J8iHh=sLFw{v^xYqyuEjB$C)-G#Z0Wo8%bI| zh3guWDfk?v5xUo3TvgT;x2a_1W!sV9osxrVVR3<527z^{@K9i+rXK>^b-)pru8uMk zVAL0TlMCJjj8Yqvmr659DOiwQT)#Ye45d-F2H9l`@0N{u0F?&RkuAX<#K8&%C9oY` zuwZUso*)AF-fOZ!Y4vboAa5Up@>4&=k4uBc6%B!I@y5Od-L;30iW-y(6V!aEh#TjO zdZdb+@}?rVgW_iaPnlfJc`yR{h9Z2v4h6P4NCimYcFHO1s~<2 z0->^VVaK7z)NL|SFx3D%_8IJ+e=saDy_cKI!|=ADTzOW>nzc`_??BG^M_?xc&pzWj{AR z2f(%4;XA^A_r>|E0PIG9|9u~wr)}TF`=NAxE1ACcOy5bz#bWqXzdPR?g*#AI=?@-Vg+yk zmI5euH%ZpP&^g?2NL6E=n~%r(Q{&BMKN=Bz?EGT@OOBtw6o<Web8 z>5990bT?_3(@`cDSIV2y?B+asK5qUQY0of^#q|=hxVV#|z^qmmWoYG`BShUJb2G9s zv+Nmp*_mbwM~x7fl|Du?o1n9Xttr>VN*Bbo;Sqy#%;;E`Z99uvV-ZW67-K5O|;YP80cGcXHGh3c*9Vt z6!<`#cHsh=0ZRBjK&>qCQ=1vZ6ipXNnZd1`f-ER$rvTwXLD3yTY8sn!^Ub*bHhqMe zTo#FTSs#rl=Z~*J#qjTxR+x7Y!DuBO!5O zp(^Gy45)l?0HP0(rv5;;nnxD^f+QD%m!U`!6c=8p;xG(3oXnbSmJ3V^^U;F9inr+pd-}X~xW5X{?bJpY#4OKfYKcX1A_8?PX z68^P5X;fOjLoxot1OX=}EN}e#0C^wi@(3b`esq65dnNbE__N#mjj87!FB$a5wC67- zeM>l^Q=@SUSQcGXSrDC@Haz-4{TmHW1dVj^0KxCmq$d=vt-$`kGEsRMX-cn7ZDQgR z6iL8Uqa=VDIqtw#kEzvn4?JgaJnR33vw`&}Y}U0v7p$U#Qxsgym!F)S-4*v|DZ-Gm z+oLkFX-Ovj{;C5srP-lo{_peulN>OJ4y~*x#jfOwRe=I`O__9p>x6&(&l#0rIHITi z4ReP>PwA`l!hKAAaaTr9gi@65xFIPO&u+N6q`Ls!>3-v1v}%C^PTBnlJRxEgqbRLJ zE{+1?=@ed0Ovb|itaKMk2i&khw|J11Mz^HUUu{vUx3IYB_LOWus`s}D0A-{5$FSoK zpo#AKpnGA4mV;@PfU%(6{9l}sMm#`UB2boZE>Z96!Tln@roV5fJae`H_YkGv9+#1@ zf$1(CdG`y-c2O#7ILRo_0j_R%5`OyY3M$hp^uCVA|sjB}FMwqRW&o-J@!MT9ih>pNW2rR}#?*EBZ7|X^Ot3n|Y{@6Yv`+Q>=(5 z0@|v?A|(N3>`1ZWnS^x8A<3Y>MEIiMX@U&VojW7N$S4Ap_osv8>wo|L%N#gj#Fucf z%!P0NfB*jf$AM|J&}O4iv6R#r?djccYNx5c`Ww8AD@tl*A}I~K9@apMzo++*shtdV zH+Lhx?O++?>C?y)pOP+VYBad7=w|6+siaE@w0OH2lojr;8jBTd^17CFH(OecZnf!| z*~TA-cb<9Yi54>>KHar{(x8uSbP0H)c7xXc{KtwCe}|>S<1b5z+vOE*IM{Ct#g3Zc zx%^7`VFOx!gl!9o5n4&C!51V=vie%QJ>B}a<2wg^dRap)!4xrt`t-9E48!`ZFgM2< zWC@@|uTZa^_KcCaIT_YSOE{(YgqFXrX{~RmOZjf0)wL}~teZ3J=3ZDn(Ym-tyEf(+ zi`8n0tmKa!?^tY6C&ps4@<~Lkh{npOrSN}*K1sjZedxE87;5Sng}!quF$AKo4L-&a zgF*T1orAswTYl}n#iwS~s3BuFS_Z6sYj@0ho4P$adv?~gJkO=`J3qVGD{tnPR78)b5( zjvY5HJuq?EpksRvzL=6dea5W4%SY8)Ry+1|r)H)XPhE_id8E$FyGv%)SzdixY`fl{ zM|>8s=gR9__Drd{eNX!jJ|1X#F?;8j7c%aqMc#=wMb|qz^v8=e0>2%zqwDFYR*AcO zM<<-`G2__uea{w792guQ@%2cLZc%I7?eP5ZXye1tYny)*`&{(gm#5h_KC^n&^t|}L z>|dt8KR@j7pWFK_4frDc@z{YAA__itf7u8@HM~}0m;{cDw^T=8N7QkzY^kV8a~G4r z(*#-fz-wP_mIwj}aIffIVe0dDht}Hp!@7(*$7`*AZ2RFppVj%)(u1;t-BT+`8R%+U`=C+Y*J{fJCZ|O}{R(J1e>1;_^(Q!rlsqKap7Up52d+gY; zQ6sa`^K%PwGYiFjcixDs+`NM5^!)5-2s5M@G7Rx0=}o1dCYGj6EQwLbx7gG+8w~D! zEWIpGsBw#NYWu&f0L?1+n<@$|enfbv!SI*65w^AKV0J6P{_68pHg{gx?1RN$1Ri@f zu6Sa#SAL24u2zQI`W{P@8{M%#vvT0+m%e;4-eQQEHfqfNcYEx3@&liQZHfM~u6aE9 zM%D+deea$*y`%RVkBwT@Wo^&5x))5egarQh*f*CN4xh1N%ki`CMHi&^@wC10@{Oc5 zKUMGd$78;c2ai;|Iyd$4QK5rhJhQCfl*?Uy-V@oUV{6A(s}4OmYEw63+YxI#GHfpw z{M5jIaPvNQGX|c0tL?e)nN5Qe{GPfI_RZJR=ic`2TjW)9OtGn-_1Mnef3zMR(BjMS zGe%$UX1us`*VW5o-c)MlR`1z+=!WO3cB=na-qaJj&C9=hYGaRO``(>>?%2;~KB@BI zxS~C|HGXZs$Sb7Dnn^>?z0xzJ&g|0`ulX7FZqJSMUcI!ESF<&9=H4n=wxuBT+{Yz{ zKdCb$^g{PJNhjKVJox0F-DA9e-990~x8*l=>+~MJGT_YQ;mQ4DE-ZOI>!*2p&M!B7 zzvlEQ-=URPHA-lFCg{+x&M9ww7Olyv6mGC%x2tL*_5j zP9O4}bg@VA+b<2x{#S#;pPW9?{qx~p9{lhhgBrb*IpRRpt}k-7r}@6`-Dd3&&*$u0 zKTN9pQTuh3Thur|;a^+shP>Wm@ON*IzkSg@?uU0z*zh^EyuI(V-@E_B~=f;ndP8up$+a90pUzG9Oqdi*$$9r%1a>0O4hE(hbxO za)rX(2pRzP{+IMvZAFt85WzT)v`n9Un z%nR4LrdU?L_2SuU1D9|3zyyBG*}&4|BclXhZbL&kv1-MbM%xi z`@J$~*Vy{?f4)9)Z~a+~XSHtHeb4!4lc(?V?y~>H>+PZo=l_~>cbvI@dw|v#i_g1smV*up)cmv2$Nco9U}ghu1M3{$L66^p;j$n86)}n4+8i%AJg= zXay=5-Tfkc;13y%bzD28jm4MLeV{v`nQ95tbiaqi4O4*2G?(9`nbA7C-9IXLbUS}_ z^+(pDwWh~eo}?1h-7yncy07TEqVv=gISXO7Dm%@IISxA#8KcSfis6fKi&2Zgs!evO zme|yo7%|yBrA}^`?0Q;ySh}fkOm=M_G}%R`t25mL@E2Mf%ZYfiyW?exW1hwFlE$Pc zH;dyLODnZHqoHE#gQ}y+J0mx}AUZEUYosl|C_S$rYFOb&OKS~*(GnLKV~)@{JyL~p zi1sH?OMDjupHH8&sO^G@ z$BO)B@3E&wHEwx#Z~oDd&;09yR#$vJd2Cn5H($Gz^-cP&n(?o{JlH;E_QdBq^yqWS zZ_d-ls&)>))x7QVJ&$bsbHw*8y`mZ{xzwWC>nFBFjGdSC-47WDlUs}%U+Y%r#5ZOa zKJ&uuPwN^xH2iQz(0i-i^zd79ec12AqUNt?*s9@({we9zy|Z$jT)5!EGq-ooy49i4 znLi#ovNQfhPM!4^H`Kd+UD;H}^OBY~Zr3DM>yD zd_Fwz_WFyPzxpO@+7s>jC&rAbS9S8H+x70AY23`5wQ%!*>BDkzSHDxZx3!1o8-|AU zTb8s6?V9PkdrQ|l=Vwh0&kdW{e)X7(tsB~3+dH^t+SI)f=?O1SJ^S^oyT4Rixwzi> z!>_-5cwrw}RJy6a4gR^Zu3aJ0n8GH1#m;bqP z(1KIS7b`pL9B}L9*S$M;3R+ZL{fN?F|E49cw`xB&GXB7^S6^K|etgZ}JI$~D*1e9k zitjADyKBTdonQX$$I;`eUc1_KQBmd2e|@o~*09l+HvIm_^FR6)U(I@K!ylIG?p_g%&PYOWj?98+WbjW#};THRZ7Xw~37E2k~#H>z*9PVINMJ-B4d zK%e4HBmOK}zGvsik;4!6EC}@<-{Y{gBy6aqBrF}vKZ|4je|qA&?+Q@2C|%)LZ-D}m zYeH`~tDk1XW08t=o^#3SYYl+?>5PY2qMZfZtu@`vKTgUpUNlF?Jl?L;rJt(|9dv7C zy_dFb_x9V@deY8+#Ld`aX{#&lXN|MOtf){NQr4HavTAYV`;BS+u*1U4y#z;kv%55# z)IKkG-u~DN8SWX4{_@?@_1gAWW49+$ysGrSH#9K+-g{wjzB&86d+#{ZXT-rNb%uQN zswMv)p=pyZM0Qq!^ocDcU z%ReUGJJTiX#Dq_2~7Z=T}cAT%GxT-KS;;P3V#G^tF%2eS0ps!w>6v z@3Y%{n*Zss_~hwnDchC|s~sKE`QlgOZ_TXuL`0L~tP|&c`{Pv2b8D)s%a43!M2Fn@ zzaEOYwR_jpE0>G9SS#GCI(PQmDbtHG4MY2t?C8;`(Z#miZ>(B8ugbui^#{gJy}tGC zcXQ?*Doi?7`-|81{4u=lrFJVzLVmWCgk0B{>*i*#mV}%}+E-c+k#8d86C@ol8r;hI zCQ1x_JbhIuz?;b{N({;1ZEH+v%^}Sa^^^fVZiaH46Kkipd8O&6zvSmALl&;Q)-AT( zg|2On51svj_2X%?zJ04>lF>7DTD!>R8!Cs!;Do!C{>8*KjZ2Jbn$Yw~i+i!raC?R0 z#45*8i{rEZ5wr9W7L|1^wK4Nx{Tb1Fm<!LV@jMC91wVX?3C*rv*Mpy86DU3cD1V|N52}fXwF|JW1oF?X=1lsPZwW~d;9l$Gn)E* zA2h1%v7|13HHT+)JNC}&({oZUDF4bXKHPBoOYUvMNA_9$N6lx87Ho(v{;=zYi2>j3 zcz#HyUAFnN?K6YIP4i=Z_%Llw+Ngtv6Hh!b#{Zeq&DVc3bV@z9Bdu0k7}se{Z1hu8 z4m#F%+U?(KMVr*Q-wk`~_aN_a&*X1j((FU`ZkN{l)NlD~I}aUh^LF1Q@BX}bMecD& z$-EgwaT9(V?7irp!v~CM@#C!E9Q)?i#*R`A+-l%dC7n6zIFVhU`1lLeehdC^)=~3hN z#=kB7u3m>bYx0i0(&_iMLsL&2dSl(q+LxN!4pe^isX?YDoo-ZLw)v;cAMJbFvTVUQ+M3UIsNU_H=pZa z*)!`E-*M5KEWb9W^=bS1pRaGVA$dvbDgEDxdMfsKQ%i~GC@8-Hsx!jd(NH)ejHQ_M ze~&YQl^@=k!UScFO^A;t*@A}ijIyX+;zxSf;!!hr)%xpC9W>~L!?$+vUs#TpI@tJq%i%;7u12$Qb z1AiVeZA$NUeqVNdH_^1E?diGez9_Ktt6TC~d;cR>?{st=-c@@@O#dMre(B$FYRr_# zLfg=nQXRcFeLlC#oIU&A7<|+gnp6Kk)!(KTzjxO5M~6N2B5Dr}$*)>t#)i%r(|e?C z8vN(j>Md^e8@+DljJ91{KXEkh70;GKC*R53?Y1C!(v2gX|IE3#_>)a*ei`4;$9nVY zZk{h~pJs}`GA?}M4~q^rzZ{*sWA*KCGj^^r>@j=K9e4PT_jeym9{g0rR}3EAYj#yN z)g@@E?;f}mFIP4Fw=Bg^{vwVm( zcn@sLJJ;ZJh8*PI=-mq)(fyuu#o%m#{@Lv`cJ^oTpWkX_M zr906@4*OScZX0poqtE{N$#^BVvn9E9&E}t9cYA%otN{()-~Olj`Ml*ZkJtON&xYuK zZNKI9y489*yQR9=VGHm8r<0(-Me0mUq4>g z?d$sQZhG^Z1)Ep5ef8kyRoZktH}$uMi(d=Qv>bo0FsAd_^a*zs&4{k{QH>1)wypm* zx%taIMt!;R*#17>XPxP{=ja*B?mrJ*>Uz(A*Wm6yERC#^82$d|{XL>?_^;>@|Md;; zdf_LxOp1>*?f5$3o8zgo&J<2d30YZUJOjy21y?3vlV+H(Vj^b65{=;*YZkI}2NT7V5)c;#c&B}q= zS`e=e$HzRWC0MPTU>OSq!~O;=Jlze}XqbCGMh}629IHO~F&YC>jBti}iE!{j257c+ z5CJ6UiW_NLT618~O4hi-$6}&lZeAI%Ji0+QVv4#gHw@5IINmG^(zX34N$ zGyZw~>je!>KQ?T*r1S5$8eY9ovSxo?`_E?l_3H84W9qkE-R{=SyW1U;_V=s&_^iDj zROq^_@!mUAYMpAf?M&0ur>?B}IqH*H&)j=)ZSgmk$83pO{^>g(whlbS5c|EW*IOZ^XRvN(R% zAuvW;9ak-m%NEB4i({v|Ie2mGGp+6=AKK^t+H33fty27UHQ4=XM(l!mgVtWX7v|Vv zaV-45U?`N&I5^IxcdPZ6+cdACl|!1o^7FUFJt}4%9CY^fq95yx>*O`K_u?vgfrNj6 zoL;dt(u_qHH=PL%NzO?z?LT;S%-Gc}a*xN(__|;~Nyy$t$M>F@*SkXWQl}ufFqfv!&NEulIJp-n+ZG#S2fp_T1RQ(e3+P`XOuEm4A-dZ*0DxGRrNMfc`T=)L!kijk}8%vn$?esau<8~V;3kvm9vC;jZI3pcaP$89@5 z=(FO$*9#6DpIaxqSKmFE>()jLSUKmI&$CTeF6?{Z)|SOzG@Ci|>gKxL;zrF5t62N! z%>^?i_Zs@gfGvR+M$h`I + + + System.Collections.Immutable + + + + 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 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. + + + 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. + + + 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. + + + 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. + + + Initializes a new instance of the struct by casting the underlying array to an array of type . + The type of array element to return. + Thrown if 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 . + + + 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. + + + 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. + 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. + + + 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 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. + + + 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. + + + 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. + Thrown if the property returns true. + 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. + Thrown if the property returns true. + The element at the specified index in the read-only list. + + + Gets the number of items in the collection. + Thrown if the property returns true. + The number of items in the collection. + + + Gets the element at the specified index. + The index. + Thrown if the property returns true. + The element. + + + Gets the size of the array. + Thrown if the property returns true. + 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. + Thrown if the property returns true. + 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 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. + + + 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 current contents to the specified array. + The array to copy to. + The index to start the copy operation. + + + 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. + + + 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. + + + 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 item at the specified index from the array. + The zero-based index of the item to remove. + + + 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 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. + + + See the interface. + + + See . + + + 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. + + + 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 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. + Thrown when the old value 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 set with the default sort comparer. + + + 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. + Thrown when the old value 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 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. + + + 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. + + + 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 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. + Thrown when 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 and sorting. + 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. + + + 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. + + + 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. + + + 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. + + + 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 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. + Thrown when 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. + + 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. + Thrown if 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. + Thrown if 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. + Thrown if 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 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 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. + + + \ No newline at end of file diff --git a/packages/System.Collections.Immutable.5.0.0/lib/netstandard2.0/System.Collections.Immutable.dll b/packages/System.Collections.Immutable.5.0.0/lib/netstandard2.0/System.Collections.Immutable.dll new file mode 100755 index 0000000000000000000000000000000000000000..f737e4213bfbea60f5f25b55c651622fe6ea3b40 GIT binary patch literal 189312 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 NdzX@OPU2we{{zFJgaQBn literal 0 HcmV?d00001 diff --git a/packages/System.Collections.Immutable.5.0.0/lib/netstandard2.0/System.Collections.Immutable.xml b/packages/System.Collections.Immutable.5.0.0/lib/netstandard2.0/System.Collections.Immutable.xml new file mode 100755 index 0000000..9e98e83 --- /dev/null +++ b/packages/System.Collections.Immutable.5.0.0/lib/netstandard2.0/System.Collections.Immutable.xml @@ -0,0 +1,5380 @@ + + + + System.Collections.Immutable + + + + 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 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. + + + 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. + + + 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. + + + 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. + + + Initializes a new instance of the struct by casting the underlying array to an array of type . + The type of array element to return. + Thrown if 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 . + + + 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. + + + 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. + 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. + + + 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 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. + + + 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. + + + 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. + Thrown if the property returns true. + 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. + Thrown if the property returns true. + The element at the specified index in the read-only list. + + + Gets the number of items in the collection. + Thrown if the property returns true. + The number of items in the collection. + + + Gets the element at the specified index. + The index. + Thrown if the property returns true. + The element. + + + Gets the size of the array. + Thrown if the property returns true. + 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. + Thrown if the property returns true. + 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 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. + + + 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 current contents to the specified array. + The array to copy to. + The index to start the copy operation. + + + 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. + + + 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. + + + 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 item at the specified index from the array. + The zero-based index of the item to remove. + + + 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 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. + + + See the interface. + + + See . + + + 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. + + + 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 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. + Thrown when the old value 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 set with the default sort comparer. + + + 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. + Thrown when the old value 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 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. + + + 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. + + + 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 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. + Thrown when 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 and sorting. + 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. + + + 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. + + + 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. + + + 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. + + + 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 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. + Thrown when 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. + + 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. + Thrown if 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. + Thrown if 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. + Thrown if 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 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 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. + + + \ No newline at end of file diff --git a/packages/System.Collections.Immutable.5.0.0/lib/portable-net45+win8+wp8+wpa81/System.Collections.Immutable.dll b/packages/System.Collections.Immutable.5.0.0/lib/portable-net45+win8+wp8+wpa81/System.Collections.Immutable.dll new file mode 100755 index 0000000000000000000000000000000000000000..20023cedfd4994058755ca6f0dc95831de5acd4c GIT binary patch literal 188296 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%0A5l15ge9^{J09*PnYW2ew0wQ{Rmb;`w^J89~Gi& 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 literal 0 HcmV?d00001 diff --git a/packages/System.Collections.Immutable.5.0.0/lib/portable-net45+win8+wp8+wpa81/System.Collections.Immutable.xml b/packages/System.Collections.Immutable.5.0.0/lib/portable-net45+win8+wp8+wpa81/System.Collections.Immutable.xml new file mode 100755 index 0000000..9e98e83 --- /dev/null +++ b/packages/System.Collections.Immutable.5.0.0/lib/portable-net45+win8+wp8+wpa81/System.Collections.Immutable.xml @@ -0,0 +1,5380 @@ + + + + System.Collections.Immutable + + + + 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 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. + + + 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. + + + 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. + + + 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. + + + Initializes a new instance of the struct by casting the underlying array to an array of type . + The type of array element to return. + Thrown if 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 . + + + 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. + + + 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. + 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. + + + 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 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. + + + 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. + + + 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. + Thrown if the property returns true. + 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. + Thrown if the property returns true. + The element at the specified index in the read-only list. + + + Gets the number of items in the collection. + Thrown if the property returns true. + The number of items in the collection. + + + Gets the element at the specified index. + The index. + Thrown if the property returns true. + The element. + + + Gets the size of the array. + Thrown if the property returns true. + 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. + Thrown if the property returns true. + 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 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. + + + 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 current contents to the specified array. + The array to copy to. + The index to start the copy operation. + + + 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. + + + 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. + + + 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 item at the specified index from the array. + The zero-based index of the item to remove. + + + 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 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. + + + See the interface. + + + See . + + + 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. + + + 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 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. + Thrown when the old value 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 set with the default sort comparer. + + + 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. + Thrown when the old value 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 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. + + + 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. + + + 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 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. + Thrown when 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 and sorting. + 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. + + + 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. + + + 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. + + + 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. + + + 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 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. + Thrown when 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. + + 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. + Thrown if 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. + Thrown if 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. + Thrown if 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 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 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. + + + \ No newline at end of file diff --git a/packages/System.Collections.Immutable.5.0.0/useSharedDesignerContext.txt b/packages/System.Collections.Immutable.5.0.0/useSharedDesignerContext.txt new file mode 100755 index 0000000..e69de29 diff --git a/packages/System.Collections.Immutable.5.0.0/version.txt b/packages/System.Collections.Immutable.5.0.0/version.txt new file mode 100755 index 0000000..357d548 --- /dev/null +++ b/packages/System.Collections.Immutable.5.0.0/version.txt @@ -0,0 +1 @@ +cf258a14b70ad9069470a108f13765e0e5988f51 diff --git a/packages/System.Memory.4.5.4/.signature.p7s b/packages/System.Memory.4.5.4/.signature.p7s new file mode 100755 index 0000000000000000000000000000000000000000..abb2a57d1d7f9c06af9009fcbb1842a5003ca3b6 GIT binary patch literal 18702 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

&d4yb;tnoa`B;T4GT9 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 literal 0 HcmV?d00001 diff --git a/packages/System.Memory.4.5.4/lib/netstandard2.0/System.Memory.xml b/packages/System.Memory.4.5.4/lib/netstandard2.0/System.Memory.xml new file mode 100755 index 0000000..de9af89 --- /dev/null +++ b/packages/System.Memory.4.5.4/lib/netstandard2.0/System.Memory.xml @@ -0,0 +1,355 @@ + + + System.Memory + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/packages/System.Memory.4.5.4/ref/netcoreapp2.1/_._ b/packages/System.Memory.4.5.4/ref/netcoreapp2.1/_._ new file mode 100755 index 0000000..e69de29 diff --git a/packages/System.Memory.4.5.4/useSharedDesignerContext.txt b/packages/System.Memory.4.5.4/useSharedDesignerContext.txt new file mode 100755 index 0000000..e69de29 diff --git a/packages/System.Memory.4.5.4/version.txt b/packages/System.Memory.4.5.4/version.txt new file mode 100755 index 0000000..5626c87 --- /dev/null +++ b/packages/System.Memory.4.5.4/version.txt @@ -0,0 +1 @@ +7601f4f6225089ffb291dc7d58293c7bbf5c5d4f diff --git a/packages/System.Numerics.Vectors.4.5.0/.signature.p7s b/packages/System.Numerics.Vectors.4.5.0/.signature.p7s new file mode 100755 index 0000000000000000000000000000000000000000..a945f63eb136537e22e0bdb432db39dc31062e3d GIT binary patch literal 22354 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℞$1*NS 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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/packages/System.Numerics.Vectors.4.5.0/lib/net46/System.Numerics.Vectors.xml b/packages/System.Numerics.Vectors.4.5.0/lib/net46/System.Numerics.Vectors.xml new file mode 100755 index 0000000..3d093a1 --- /dev/null +++ b/packages/System.Numerics.Vectors.4.5.0/lib/net46/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/packages/System.Numerics.Vectors.4.5.0/lib/netcoreapp2.0/_._ b/packages/System.Numerics.Vectors.4.5.0/lib/netcoreapp2.0/_._ new file mode 100755 index 0000000..e69de29 diff --git a/packages/System.Numerics.Vectors.4.5.0/lib/netstandard1.0/System.Numerics.Vectors.dll b/packages/System.Numerics.Vectors.4.5.0/lib/netstandard1.0/System.Numerics.Vectors.dll new file mode 100755 index 0000000000000000000000000000000000000000..433aa3619411cc583d0be6e11bab20cccf615fd1 GIT binary patch literal 160912 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 literal 0 HcmV?d00001 diff --git a/packages/System.Numerics.Vectors.4.5.0/lib/netstandard1.0/System.Numerics.Vectors.xml b/packages/System.Numerics.Vectors.4.5.0/lib/netstandard1.0/System.Numerics.Vectors.xml new file mode 100755 index 0000000..3d093a1 --- /dev/null +++ b/packages/System.Numerics.Vectors.4.5.0/lib/netstandard1.0/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/packages/System.Numerics.Vectors.4.5.0/lib/netstandard2.0/System.Numerics.Vectors.dll b/packages/System.Numerics.Vectors.4.5.0/lib/netstandard2.0/System.Numerics.Vectors.dll new file mode 100755 index 0000000000000000000000000000000000000000..10205772c39d70f6c83a120b012e25c7a206da7b GIT binary patch literal 163464 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 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/packages/System.Numerics.Vectors.4.5.0/lib/portable-net45+win8+wp8+wpa81/System.Numerics.Vectors.dll b/packages/System.Numerics.Vectors.4.5.0/lib/portable-net45+win8+wp8+wpa81/System.Numerics.Vectors.dll new file mode 100755 index 0000000000000000000000000000000000000000..433aa3619411cc583d0be6e11bab20cccf615fd1 GIT binary patch literal 160912 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 literal 0 HcmV?d00001 diff --git a/packages/System.Numerics.Vectors.4.5.0/lib/portable-net45+win8+wp8+wpa81/System.Numerics.Vectors.xml b/packages/System.Numerics.Vectors.4.5.0/lib/portable-net45+win8+wp8+wpa81/System.Numerics.Vectors.xml new file mode 100755 index 0000000..3d093a1 --- /dev/null +++ b/packages/System.Numerics.Vectors.4.5.0/lib/portable-net45+win8+wp8+wpa81/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/packages/System.Numerics.Vectors.4.5.0/lib/uap10.0.16299/_._ b/packages/System.Numerics.Vectors.4.5.0/lib/uap10.0.16299/_._ new file mode 100755 index 0000000..e69de29 diff --git a/packages/System.Numerics.Vectors.4.5.0/lib/xamarinios10/_._ b/packages/System.Numerics.Vectors.4.5.0/lib/xamarinios10/_._ new file mode 100755 index 0000000..e69de29 diff --git a/packages/System.Numerics.Vectors.4.5.0/lib/xamarinmac20/_._ b/packages/System.Numerics.Vectors.4.5.0/lib/xamarinmac20/_._ new file mode 100755 index 0000000..e69de29 diff --git a/packages/System.Numerics.Vectors.4.5.0/lib/xamarintvos10/_._ b/packages/System.Numerics.Vectors.4.5.0/lib/xamarintvos10/_._ new file mode 100755 index 0000000..e69de29 diff --git a/packages/System.Numerics.Vectors.4.5.0/lib/xamarinwatchos10/_._ b/packages/System.Numerics.Vectors.4.5.0/lib/xamarinwatchos10/_._ new file mode 100755 index 0000000..e69de29 diff --git a/packages/System.Numerics.Vectors.4.5.0/ref/MonoAndroid10/_._ b/packages/System.Numerics.Vectors.4.5.0/ref/MonoAndroid10/_._ new file mode 100755 index 0000000..e69de29 diff --git a/packages/System.Numerics.Vectors.4.5.0/ref/MonoTouch10/_._ b/packages/System.Numerics.Vectors.4.5.0/ref/MonoTouch10/_._ new file mode 100755 index 0000000..e69de29 diff --git a/packages/System.Numerics.Vectors.4.5.0/ref/net45/System.Numerics.Vectors.dll b/packages/System.Numerics.Vectors.4.5.0/ref/net45/System.Numerics.Vectors.dll new file mode 100755 index 0000000000000000000000000000000000000000..e237afb2fcbf8ddd2f6c05ecc737b2e40dada5ed GIT binary patch literal 38032 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 ~iyY}WW14r>LCtqTh2aP!Q zp-tk%VT*PNN=NAjf0vD)GIq;@{btKL27Mj6ZL8hPO;JbMzA)}!CmejF*%bb_6~is( z=o+QRS*`g}rsl({r>oQV4D-R4SG_KA^!dE6`AFaW=F=)`7r5xLkj1%xQ`Z_lFXczXhrS%tO}KLW zV&3&dMm!_+<{eYkg}0fP**L!}z;-!1T&EJ9_(L7_I7;Ze%!w48n48jNn4RIg_*(9z zg9Qn3H%$7QZisSNxyHBn;?nq;H?wlhcW65WRJEuJ4>rj!XXVVCJ=U{xTEWmKf%yNF H!k_;SbUCQQ literal 0 HcmV?d00001 diff --git a/packages/System.Numerics.Vectors.4.5.0/ref/net45/System.Numerics.Vectors.xml b/packages/System.Numerics.Vectors.4.5.0/ref/net45/System.Numerics.Vectors.xml new file mode 100755 index 0000000..3d093a1 --- /dev/null +++ b/packages/System.Numerics.Vectors.4.5.0/ref/net45/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/packages/System.Numerics.Vectors.4.5.0/ref/net46/System.Numerics.Vectors.dll b/packages/System.Numerics.Vectors.4.5.0/ref/net46/System.Numerics.Vectors.dll new file mode 100755 index 0000000000000000000000000000000000000000..470f2f3914de206e0b2798009d357678ef8722e5 GIT binary patch literal 29320 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 Yr^~6C!y6LLKJL2U9vE%*L7fEt4=_Z06951J literal 0 HcmV?d00001 diff --git a/packages/System.Numerics.Vectors.4.5.0/ref/net46/System.Numerics.Vectors.xml b/packages/System.Numerics.Vectors.4.5.0/ref/net46/System.Numerics.Vectors.xml new file mode 100755 index 0000000..3d093a1 --- /dev/null +++ b/packages/System.Numerics.Vectors.4.5.0/ref/net46/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/packages/System.Numerics.Vectors.4.5.0/ref/netcoreapp2.0/_._ b/packages/System.Numerics.Vectors.4.5.0/ref/netcoreapp2.0/_._ new file mode 100755 index 0000000..e69de29 diff --git a/packages/System.Numerics.Vectors.4.5.0/ref/netstandard1.0/System.Numerics.Vectors.dll b/packages/System.Numerics.Vectors.4.5.0/ref/netstandard1.0/System.Numerics.Vectors.dll new file mode 100755 index 0000000000000000000000000000000000000000..d174da04775207dbbcc5c6959f409cfc37ae7855 GIT binary patch literal 38272 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 Yl1)(0QQ@d8!Ka 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 + + 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/packages/System.Numerics.Vectors.4.5.0/ref/netstandard2.0/System.Numerics.Vectors.dll b/packages/System.Numerics.Vectors.4.5.0/ref/netstandard2.0/System.Numerics.Vectors.dll new file mode 100755 index 0000000000000000000000000000000000000000..ba0aa0cf6c56a5edd990cca24ab6588cb4d49269 GIT binary patch literal 38272 zcmeIb2S60dmOorQnJ9=Ng5V&ipoAVWDk_ph0Z9TXhyx5k!r(ASFcB1URzyVw6?4vt zsF(xhoO8}ujQ>;JGfjK--gn>bzVGdRyMukIey7r@s#B+`t7^u;zEcnvA;g2{#}90D^T}?$AY>G>)5ZBLa?_hbO0Gi8B@QB!x6x952ntkSoP;GO;2%L!6Q! z_U;uXPM0Uh>~wTAEmc_u`ydoRaM9Xv@;>U)ZlP9UErNsq;D~7Mu7Ti+;VFOzAw9~^ zq28Zlc`I6JtmIoRKwS`9n57s9$ctCb44NhmHdY}h{bS(tPjsHzUfWA^RhIdh; z5i*756QC%5vbF#nruc(+jv@hiKv82p_TQ!GaEi{N=ol)rilQ6%J%j?(p7Q5tV!sa$ zQ#}EuSGbs(BTTEPP%f22D8<*)=ph6#(Md``y0!JtG2SXEph8HuS>upKA7qNAP+@imhnb>B6ndaSx&$u4naZ;z z>Pn#s3bjI6gaAr)1uCbg21Roys!!1o6lKS0O5ph36lKRZr8of;Wv6XTal$FuoXTw< zMQtfgG(|5_bey0AoK2XkPzm~^IiG07gtg=@WKb!J(^|qp4@7GTOI6HL^ieCCXv;#|32O!+UM3eicO4z%C}5ulDqX+ZIlUNE&1u33 zW6*G}1t*F@qlE1_eHqkR=)md6pfQ>qIQ<#q%kkkz8RV=H#E~(mqriug%Aj;DAC8*qStyY+gh3jd0i0nhl*k#*AR7oPV4*}#A%og;GdRU8l+78* zLIXG@ER@I@%|Z^Gu`D#4Gl4;sT4Oj<7<5ON!I{QF4xH%>n#t+FDP_<-?o`ff6~a1S z!I`H*w9e00AzJ4bFkx8d)riu0P6Gm+=Txd;_XuRO;Wsr+jJ?8*}OnC(N5Q9bw2<{OT!Y!}CJ*Gl* z%hxdoxAk!*U7(;5mqDT+ZA0z}b(p9xpi@jbJf_d6!%&pajLSxCx#v`2bp0-{&;!mT zbvhXDB=?#+j2iE1gvYcq6IP1!dCuG$>U2oR>&(5ypy6B}?rjF0&2v{+@~r;x6(5P;Z}Oir2E9}%vGZjlqQ%@yikRepma_HDn$=O z1G(xjtgX)6*Gw)SwUpeq3_?(&_Y4XYbmo3gBhX!E?neey37xt13<}a7%KgHizJR_l z=pB^zgN2k_f>6zIB1_1V%b@kb&Ro74p{F3VfI;P&&Rh)@qV-x!9VQyW8Odc3+NUvw zh5B&HxZ3KNsDoA+SC>Inf;C({2FbZKTzv-B5_R0h4BCvYat#-3XclV2Gh&dEaOO2<&|;9&m_Z*!W!x4FTBYgDGh?BCJaZOO@GKcr z#+}4#%R+N`Rt#E#mhr3^G#YK@wPR2$cQ3C!3!UWIFsPWg#qa8P}dc zE?OUW5(f3q6!9Hd$e8cULN6GUms!kPTnTLY?{XEL6soG3YInki;N2C?SPGE1?dlEM&}2XCWKD zoP|2`2eD8YtX0*k(bG^uHiHbIgd7HKhEbKrpkcx??hpoj)ROXtu}~I&1PhgM3mLRV zYZSkjg=X2dhcMw+1peo^EK@Ed~ zw66O`d*1ES0!dmxEh3J(|1HvmEHNq<$o~QwB);ccys7hCgh6#@g>lySB!oIN3 z2jMps(iQz+5aJya5*)Q13=|v`a?}XcM8}0(230``d=~m36fy`_u_6ry!75gy#h`Z} ziw+BY5H?~VU6DS6ETKFD2CWw!6gE{Ov`h22(2zl%S_g$j3@V4P<|;&Morwz3TBk;| z*0o^L!HQaB#zJjHViqDrtr(OeFcVp_P+L(O6~gw+U1Y^VTZHXcsH>>GIvr@TpU93u zKL|Ez#bKjPKcTZCRv74YKtnE|*I^=ib)KNt(IN?_!4BRQI=0Xa>ClS^Be(Tr_}%MvLMYWC`UZFlfCnK$NIPpygqrBnEkE z1&C4@R1RSSRfyK|G!>$?T#aZgPiN9a31^AqEL0&H#Go9(EK!y^7trM8qHGqr%*kb; zEy8>jdcYZ?LfAsD7mZ-hHG++P{DfL@*kPT1LT5#+FwpWX4S9l=*N6(#C4iP66cw@b z`nGTs3q2H;Ffm2k)1om9is76Vjbo4zw?;I9g)WOGF~~*hv}lS7VZFXBnx;auUQcHb z*6SH6MC)|}!g{SnSg#+78qj8~8qq9OI;__n#ZYeb6}R0SnevCw7FQU(QS*Nc`js4t+E40;E$tY)Fhus5WBzkR3mTC|=) zmQdbC2CWxv5p7l@|vo68hcr&wZ?uHveP(-k7wZ22cOg6;~g%7b0ow=LxA#8Q=kG=43t35aIQumeBj4H zXDLnyoUsrHQx0klM>zztp*WbTIRS8VN+3+t99PQUnc_G2xvCsKz=;XOq@-%_t3$WK zp%8&)1LdGal;0js&j^%7$@Wl-1N_&N3`vxnI*=O|*;BHyC1?A8trt7=pY{Km8_i+2 zaC4A~hq?phQ>`taT3d+Bfg?h}KsBhA*Q8or3t0n48$|)tfs-CMQAUS=HbN5M=%E2X zf7d(Xs8$*Rl#5nFEAh}Ms;$`k4$xLKpO0o!p*~dKO{02e4xC{TCnLvpU%0ZVX&Jjq@T0X*Y1gbdfv@f9F;hdUE zJB}*%5G6mG|7UsPIFyh~Yy7I8e~0tW=`a`hP|~tB8FP3leU6~o>Kqm4kJ<~Z2cZPQ zd=7d5@^jH^ibHF10G9(C6A=e;dq=hW{|s&CfXujF52{Px~O|JkY(6910g#JC-_1Cp#m;2B9>74&s9y(6Ls3Z{EPlx`; zC_5jve-JfZFo%n=ypB_zflg+=hP^|L^eWa(7Zah1UtcYt>)-f?hAt z^DNtsb5pN9=v4=M1w#AjIC#~eE~}wW>D7pu&z7IA`(O8LC}lTZP~(@~R%|~zPufrS zGCS@6^)fx;{!Y&}^d=Y4>ol6v;3v=@` z9};QWp?Ks0G!^v%nuWFi9fEdJ^b$p1XnMhpfTk9g7>^9J#0FW2r!|101r)8I{Y@}` z4@FT^?C(m^3S){-(OVQnCYXa-U@E3)SBegx=&hC%UyNy2iVmPC7kZore*z?gKMm*s zO`y6!8$%m31N%2#+Z8l%tac}$kAz);j@R~Kae7dkUJPdhCmj6NT2VlKgwa5&xp6=* ziZHF_rUK=1Fl|H8iz4i==3?8)lQ-2aGf~F3hKiFUC{#C4)$CK=tCXwXTqKf2Mq#^;=t`&1E5b~pN4~; zL9IFHIp`P%y@0;wAU(K?$wB%=OQ4MjbD#!<1yC=dHBfJ&El?lA8mKSP9;hE-3p9tY z2bxPrfabwPX%5OKoPiD@T!9WH+)*23i=046Illz)3h=u$ z0kuLPB|xE-KeY%vC5sO zawn_YsVaA_%AKcj7pUAymAgpgR;k>jDtEcc-L7)0Rc?*S-K}y@f(yH%&|@Lc6Cuze zA)s9$pj#oJT_G@DLO{PlV7!EYhK0b+UI=Jc2#lZ*(612amk`jf5ExA%pkpDZ2|P{V zF@&cXJVx*|hsPKm6L?y{V+xNMJT2i7!($FlD|js6v4p2JJZ<1<3y&2%*6_50r#(D2 z@KB#Xi3Fv?6X*agJb{kj!V~BOE4VI>5 zgM*{U6d5V<3}8`lBq&p!lA)BK1X&i)bSZq5AQy6#I6!F*P#U=K1UiBXkC!}SuuP#0 zm-qJ1Py+VMqKi^NCiv%28U;E*9`MjIInXjWuw-&j$qhl2Y!0++4wP&l10|bdF62V_ zfFp4PDIGydaN!Ab1Q(t_Cvf4RWpkvn0k*^mqB}u!aN!Ab1Q(t_Cvf3mq{p>!ar&up z0GZ&QLuo`81$j}TIpzMGTH?ZF2GId^3X~^gr^z}aZ?F_eGG%P0m4gF@v> zsS^4q3Mr%sDbkFrC?-nOAENY8N9n^v>GOvueVLHHs*qj^WitMXQ)Y5XJn~FPK;9`? zN@+&CEDZERAxl63vWz5UvKnFW{Ij}C6$v>I>KPv|OOq);%mh_-k#a>^0+MIOc1uy_ zq-4oFGZIjSOo_8hfJCZT(0W-)g)}8Yme4IFEiF#o5Y&JZW2{Pm-Q+AhTC40fQvsC4U#Y@v;II;^Aa1)}88VdbtCAn(2dV3ZGI0%2 z1Rk2^J4^tiOVK$%jS04Bjx31d1g8{#p(-dWNl8H1qUxa_1PY&#lw>RiH8l)q#9rliRt zKr&F%U(@(!Ku1E`LZCG5msqi}@cpCs)KFPs8VvK_X5cN$idUp${v7BnOO$4(DFdN$ zGR3cjs)9Y!Qlwc8pon$XW7w)H_I*o!WxEYA8Af7u2HBQ*a}Q2 zD+Vc58K5}1QYlYws35y^MmQ7+#w7yV(X|LupuLy;BtQIK&yibdW+75--nC`=rp+(qMTO9RO+p(HWS_`0^NEKI6+&r@{jy zT#lra4u;}-Pz};orjR4AG--M!Qpz)--4&TA48~q2%Fe{%sHT)&3JiR5y?=3CCh*{kSdHdDjI^K@cWiUj5Og!VV)P17XUN!bkktSuxp@-wMRD$8T1}rCV zWK1fR9k8QqnoJQUQw*lUY5NTm5UeU7IyJv#(d(-$T0LZV-a=AL=%J)uH>f30OQar8 zAcj0Et6|0nmnuMk)zSsX<*A-ZRih)d(xF~dTi{8GRvl?t7_1fIl}M$7h;A4M}okiS2Lk<@Z$D?=@^W@YN1JashL)Z@}xPx>V|KMEG?l|Vnm88 z2PLxnw1S1D0$b%xmL|w^P>@ui04GqI3v1O}1WO@>(mx|XmWxs-N=L?htRBVmx>2>V zMUY&YhbtQhZIF_gmdCbEDm&|$k;m967K?2}Sut>Il@SFW9!%I)!$gAp{uwegQkmB< zS$wtvhf-z}Y@m_>S^jF6PrsQUP3MAdU$}+6Mt4}XS$~1QGvbK}Lc|p#f)5^jeGGLm z;qb*ALRXjK`Usjf?oH@x(~chPG@%_MO&r!#UkqQiq&b$fV?{eQd>kgEs0Kx~C@P?+ zh@zSl)e+SVG5B%Z_IgM`1-xq^UI9WgKx_ei(FPnE<|%=9KzJ=Dknr^9$o*?BzglEB zaz&#x-*g^7`Zn;{3gO-1@=8Nog>iZ3iPcs!~#N_`hZ;e+R%&~o*3y{QmtkwLL7Z< z{KrSoc-pWb0#x4;zDx^DRj4J#n6E8DT#I28t1Qx1hj{iOHaQEuDTv2te&>M6&4oK(8WS&8mfd1tR}jM2gN}o zC<-XZ36QEkF!gZ#X@O~}^i)#mQT2xqb&ZS!puQk9RZknCm`Ak*mbnQnGbGRkzm3YJ z3u=M|Y@*+U$_-qc8#r{f*kgoS&zcrin2s6)q8L&48b^fT1_8S;LH z+CM|#&rsuMs6|6V#Kj&eDODKd(^j!5;iy6>pN@$hK}Bb3%Br6>q8fqDi48PVfX-e8 zC~34+fG&m&v{ZmDTLmbQb@ZWie=Z+(B5@s9a;i8~i8Nuyp(1Ls&~S78j~G6rif9q2f@0s)Uw`LvCJi+xCj9OM9g~Jy6jMvhzp_)>tg29gq z28S*f%)crERj?II5LCesL7fLx9?ru^2nB(}R7p12?%L?v;8@`3!$m_b?NQltVBwO$ zp-ZyCB~dY{l5Di8a4G_whb3*|ZE($Kj+L4NWvk1fq`}!3@kDsKw}R>33Ys4yJ?yi> zJ|ix~heyP>qLfvn(n%afMWtfdhzQug#ve1hpb6&~M#3&%kURt4oMhB)N_aA?OS1@w zhZjJw9)d##)Pg|G{^Ye9A!7nH4NQrLw*h&gQtTyHWXcuvYba_-AY&$I?;5dPkWaYS zR{<|cIdVlR{N@l`pWC}!%tT?QwiAotZC*^R`?JKb*oSu+S%MvOIf1mD>|E>|oSh}^ zcBCUhi3F0eIpVnNlr;EVro0Z~gfwZKt+#hXSg%O`AWuIZQsQU_rKG2)D8+a`u!Gpm z(LoaL>fr9~=oC*Ty2Z&{ot@mB9i1HA5&0xf*eh9_{s*CHvR71T_ z1MSq5Kw7GIF1%O9gWVz-%?(!IZ5{uNIC-v$3%S7u+WE%_?17U`oe}*Jp6k0V4l;qaj{b$`5QX-?(l54 z`@*2SwiwrQ6nJ{#1+jNn$vg)i>-5x~ z6ISiz>x=!i{i1v(*#r+!XOp?)A(eZMqb8d88N=7ui0!IUg{u3RFcCwS$IogrY ztWDuRi))ve5QoM4Z~2)qutBUf*e`CtY@hl!sc2p-j2Z8=v_RPUM(J6&*<{pa6%PH; z8uFli-HV<6|NQ^a79gm`G(xE0=Nzb^jo|09e&OSI-QkIXkWDb-s6U%{U=mOS+yICL z>VrbT=MTTM76jNIs4xAiYp90z@;iQg#CIRySK#8+>G6FI{J~k$rj~*f@dipju2Q6c zd{W>yy=0JQ21 zuV8gUK&{n(PH-X(Z2gH%!~6&5s*N(ozc5L*tlQ-ZSNQWbDkk14xWQIt&T*6@as zvY;$nHtY-nRoDHWm9Ya}k}++AYk*~M$j=Gt>=L($TNw`5w}Suv^}nE65JV3LY(E$R)4?!>>#!n zZp+~O#jJd?D1_S*%Rd-s0@M$G22geDrHYF+2-i*B{up7+_-A#Zp^o8j0#2Y{$X^a+ zW>b38&~m@ijWr-E);b?J5fy_ZSU<1~Ih3xzasqxuE$){*|Jb8{)}LZXn+@%oMrmOj zv~~w51^0*)LTuq2)|(pby-*}IzCDp2NJ4@}ID%BP-r~`cLZ$Bxsj{G_a2{?D!vW&O zBUf;ILX0rc+@?&@vD&OdslQ#su#DG&FOK}a?Q;p6-7;p$s*o9vWUB~g3Ezj8Us9Y zY+f}ieROIYeLt#qHj_GxU<4mT$e|?S_T~u;IK9Ip2Bf|KfXF~I65d$g5Jw5ObM#1E z%oG|3LuCo+aGoMDBU@mOror#u#w6xsOB~KMFlu<;3Wrl;+b|`Zu8D)aJV~==IuaMs zophDBI=eYJ^#$n0f@I;we~Dx|q!yM;%YYZyD>zirmTXN!vkb44OgN?!dx!ameZqn| zbaV6ZvUMaqoorntPEL~6qy=507Qd~L>P?I+B3iLqnBXIB5zz<~g3#m?!CkMap^jHN z-@CHz{$*~>5S#bQ{kJx2SN#04P1^T>Yo{iy{PgX?=b+p{TlRTx?rD+edcb>y+i3qM z)*VZ~_ue=rW6lbbvu{R-ubocHYGs`we?jfTZ2LZwK#B%r?AtsQQ7V zMDKBG^T%%I?`~+`R5JC^fq`=tkI5XrUpb*gk6zhb@{Wex-nR3LV72q`{f*O)cvWi8 zzZP&}K%aq`VMg*H9WERmnKAch;kR~!L?`P+IlJnn^zAEKQt4+7-%z1ZW)!c-FxML@ee3&p!({|GKxF-jGlohsKe!AG`Lr-~o zVrB1)3vb_RL~=l*iA6<(2DAvDG=(NL)#VxTniQKp5j(vd{MJZ0{Yv1Z$7WUihmN9j z$kc*oL>d+}v2glyIn*~(^Lf`VgTHKSziyxN#ztf~PT!IjNcJTCEBq>aO1zSl%FGV- z_VJ1|yL9zFfnB^j-99rl1#|7;_muIai7b1j8?jzeY6)6t2T{lR@YxYuSqQS zo%~_BLVUrot-EG+&V+V`Ev44=`*JPOhf_-(_w1fMersye*X`2Qx6V8#Zf8(EPpIUf= z8G8<9?0kb6Bf6F@e~}sSy$)Z!MMT#>v>KWBFEJJtq&Yq48+MjpLnlEd4ogYO0OQCq zWNs2S2T}sY3>z|6iG*}eL9(#;Un1Kd44KLzbN|F5|3kxcwdeT9+<~!&O=2|p?)T2? zPCK>#_V`DOb@veSPfK7R>EpS+@VQ{QQWAUK8(K zdvoT&n#AY44(2nKL|)@wwK-_=qrLmGnBBd<5kK4t_dnR+Cnml?ETBYQqE* zH4*c>fy!lBtMdDg(u*S3xLV$L(tr8>*eRwbE)O9?@!;0yfhk(-NBT(q&_7P316C!z zL3;-WcQ?|peWI(IbDSiev~^B!PqcM%l(^WsCAdg!U7e&d7bk~=1lSGy$pRkJe{}TB zCc`M=h^w8Wq2cy`IhrlW2wZ4OUM~`CU?ELp^;Gg8J{KL?t3|{KJh`SdJOvPR6(;wdmx*B74Fs;p^kM}hS zw0}h2-gNGAeRTKRf)RTchi@y*e?Rd^v4QrW-JiZz+toGAdW%wnTCaGwUsEw7bU{v_ z^>izd#PIUX4CTuGkAj-6pUw9UGWPekS(W!<_o!YYGyGoex^!l|e~PYk@%yTpMJDE} z7glwiA})Wwps`1OpX`K}R~C&L>Cl+N8JLhmEO9T}_+p`zf7&Wb2dmD@#wXf*;an=V zx0p8dW2EfI;`5I~L^D2I__pW#9x$&V&T=dHE&!NABpz4wsy70Evw{N#!IUd zSrM$jE!FN;kZ@p$m&P(n5qXsBLHni4!dl`*V;86F2O z*}k2Y1f6X&ZszT>0Ueh~@U+b|VH+Seab6$m6jB2;I zsKxXjjp%ERRgZFU`Qucs@UH2doNg`XR@ z(U7^#c%9#}NA>C35syygmKsGLaW;&-KHb!RlI^b5PTnnE=ruJ)G1r~@nV%>-r14^u z?u1_Hx&}cWL#?})D^9;nJ6iiJb5Z29$YC=kR+x0>_WgKrQIe*z%H_GOeY3+46t0cm z$=7#EDyk3NFwxOaW~Mvty55b1ck&ay=gu~JoVTC1>FgJqn=Qx9U#0oQpl#RH_v&vi zAK_aq9N;G#&^2gXw`W1mHxACbr0JxQ-l9O#@{Vr!_4}1y?)&MjPAK~kY-l%hH{U$} z&P>m?Df^~Ro_S>ArMc#7bfU{&EnHKQT&z9Nwt8?XGA&*G#&F07!(z+rV@?iS<|nbA zbM5XRkBew{oZsmaV~%Vy`mC#%Si8t$EvM_iA1QN7@8~Vl+vFN7y0FiKED{L8e!o=P zZ^LA~bq0r7{|@_2x{^-te{?uFJCg3$eoH6_|7{1rf8YE5KeFBnD$~~AyxM(QyP>Ie z&2QJ-xqD!Ch(++~6W5J`EE~Nzz4UazY9%Swe=0m5KC`L+43lot)|5q)ZLXlyM?-3! zjTJWfsLLyRHMXwhF-ObM^WMBmYGLzr$ip$FPaXy>s;spLJ38^R&q<9_{nwsa*NwNZ zeo5N&q>EP9e8bk2oVsu2Yu9#FNw40a+V{9NUj|N@LS~G9+lQR@dH97{8y}g^8vf~w z!CTSRu=LPPK2sKSM?L%!_1jt}E}M1lte~*R!upX*_5GS?6fGF}ym#(*VvcFBXcW>T zeV=c=Vc}c7-!^=~TC-eFNlx9|n;na%S4ugXO?B3P{Wy06aiUev@E`U3eS5`PYU{lc ztoPEtvfjUa6aLA1>oG87|+iJlpoI(~(ENJpO^II9eSo$wtUKHu&tv0Oe zQBk!zAS>#f(7;aiKgR0+t#@~5YrR?H_C<5OU9Lagv^wYNiM)_NV!fSmP``9-gOw+C z4Vk>n?p))A6Vl_hMRJY>i4B5hU(fG)C$f5N)SMQ#O^K3K)wyrRpL*7jcyVXfWKI6z ziQVtK3Tt}3*UD-49!?y1zM%HOj5h-NQQXH<+gY~C{PN-Jz1-P$Iv<61GItsU&6|{} zshGK~(!D&%_CSd4lep+EhGpZ$UG4~t9qQ{OJqAlW+AFjUKgsm?F-p_m=3Y(dq*oWW zHG3K~e#8Oi_Wc*_e!6p*R<|MN!W8B&$fMP{vgm$9GtDNtXRb6Ud*5k$V$?=k`-k~k+#Y`;M|A2-7AdpYbG1z?f+@jjH;ak=Z z^cY(?Sh^{r(qPH%6@IT8%fF3tNZauJX2{_Q7Dp0m=9!LeoWSw0UE62!wtMFHH?KPy zzbQAIf6mh`c-4$`RkSvHSoBR&WUVBNtTSP= zmxST=@7tK5wts)wH)+^?t|%h(@p?_QO|8L|XtOq-d9cIVusN+I(IwfTP4Q|_oscJi z)nN0W^VXd&W;B)Q?FoILdw<=t6JeEP;W}0x+LA)x%&#acE+{PcCy#ey;W$c09cKy zIpSHG#AoCc7uz%2x`kAqDXlM9qBzxVe~})qIB&(vp#B%MZ)POboP4yu>YU)&4x^e* z?}qf+y?uG9mwSE-AD2bEH+gfSSe6n?+<1$FiZr1(G68Q();+IzH*&wx;;~0S8ON zV@RV0skss@1_%jIZ$^Rnl16yb4vr$+B`(g+q)Xpl)VnU`puvkPgQvbs7;*X5#9@Q4 z8(tjE))m;f#kwNDtUt-;wD-RA8tW#uHrYRZ!T|Tnr-M7+I{&p}WO(tw_9eFEl0lPg z+C04OpV_J^CHHpaz_4@s^j^;vE~)CP*?C|2DcJ%P;@HMvfZduFPgmQfr|o~Ct93+B zI`*tZ3(rZRQ#yHE5c;l2SU10nYnmm|OI>`L=z7J)dz68FzkRo+um5!5wC%08@AU0T z`rgyn=6-+Lu;9V+x+6#Q&X%6mdAUPl`-?E{fUCv4^C1VCY`?g0>6f=Iwe=@oMh_Ml z&s=M5%RQrmZtM+h>hrZMDILQDorUz_(4r&s@VskKZ0%WA~zUn}r^F zR)=;ub{M93_|DYaqT0XbjUoGXD##+soQ5IKBP2zZNx+L|+8Q5*S%w2E7<5O{2shz? zlJ10z%j3XsBcmG2==F=}gsm6j(i{hH9>VCdqp`4PgPPd9sP{(iiE?6SSj zdOdai((G7Xm`O#E&U9F)>%&65zF}t>O&UFQainqV(azM0eGVxBkx-Y<;k#Grt$lptVO^WBeS5QZr(Zz#(Y40|lbpy8hRrq+RWpZ<-@e%9 z!T64OA1t)^D&9$y;dKKIp$)_rWx9OB>Z+`3Lp2a?mPjZKF54!I=*XmmD=$vjp$~WBaos_)8cJROviD7={ z{WR;`ZcH39tNE~^Q*Ay~O}bzCs(*ssz51tZ55Bo2I;Ha_Y0srM_Fu+cX}5>Fm+O}-a@=%jje zUjVE7q4ZWrYkaW9=zD;OP;X9f*;~yk4_|n`q3M|wlU~<7Pjma|)8o{*>c79$>`0Ol zhxT!#Ga2t9bG3DKagx}=VP>LjT)dMMHl3Z^Br+$7a{}r1)AmgFjD-8a{If+Xnz_2R z+MK@ZXf|i&pC7jU_AE@EnMIwqfqF9=!C0STF|j3GZAmw3i$u!uy9fDgmK{V8SDHThBvnemh9eRIjd5_-tOO0eQv^lu!l#}mieb7 z?y8#OIlIH9d1oRyAp<|}o?Ci#NtigQ8joycAoZHnR>$rHx;?IY#Ub@<0&F3ix7S+s@t?{*uw2rzk?N!>9 z_}7yi7Y=tD-2eJp=jW^Dbc`!J71Vra_o3^wCcD+y?mX`L(*m(}(1EwgPDGQe!;m+w~}3G;*>D;?dwYs|SidB~OyHKR(l)$JTc zkXwhCE{`#(sS9lOF~iUCeAk-;kJ^Q7+r0hcKHk}m_wPQ|oA7k$jvI^Z90yw4H|g=j zthSY#Gk?^}y*#9oT6?LqN%y8}hlj4)Hei3~<{m{`N3}!#?b;N#?dy4?=6s_6POb9X zObyt17v{qbe4KjsMt8~?YA)dZL0QPcG5?au0Cw2v$-uf{GWhc?`i5yi0y{l$>geoF z@AJ4&Py&}IV4vsTJ#7_ne!U36!51Moa1jE=+{#y<6?!e~R$t0kQKT2>wByZ|DDwr~ zOxmSB?i;*fo50PO=f7jbK5et>uBitbU($Nzws*E*-C_6hL=#E3vtxDg5=IZ7F~Bly z?R@|8$I1QA+?*S>LDOd6+RMw^ugTX~d$F|7(E-N%$BBa{m-IOi^@h;L+jw(ImycW(%F&PV4}`CC8K*;QeX zvulRO%P)7^_tk3|7-6+AUvaB(hpqnoFFk+mHMRKikPSmhOfGj`KOyGP*j^)z-&ET7 zxi_Vw?Hb3Z16w#=^r+G%dX&&(^Zc^?!p)!e!DKKG1-5n(&Z8?A0`G4j~E z9o&+MA7fvg3f(b)y)7G@GSh_s%nY87=+gASb zV#nNR9dp*aXXnuUn_=XVERWuuV`cUFdHO!9$u^U_y7sEQ zJ<5CRevNHyl`}tPe99F^*%-tOm^r6&FUOHr){SX)V}8)P(set1E7Ho&+`2Gk z0<+x(=lsND^4A@!hN~gJos9nCoZ+XfuwPC=@VzAUof3s@2aaTl*Y+m-pxaND9+I54 z80$p##SvQaU?w7aRRmV_Eb;&Qrw}lFVcfz&0i35XlU*$780+9bO?Lg&lN(HSp=2-_ zq{cAWb^Ckg5r2`tk}O<+g%|S*XOV?7$ik`2KA;^J)`?^nb#WZR(DAQ|!;^P{JU$C< z%cP{k&ql;&X4xex)5)$(1{~7K%t36*x;Gq4-J?!}JE`$-KQtC@i^3P*;lX!C>08}) zV$(kuRBHB3dQ(zWb}Ky3*zW8lWm2oTTBZ88LCw7fSFgFh;quj{V?unQ+#CkAH6F44UE5DL zY&wWj$~N>Fo17tEx>dQaD_^jLXlK>AsEa{hqSl^`f$wim9??SHbePZ5!S}nilP%g8 z6B<{t&otg;R>{pPZ$G^;ten&K_VKD&r(VRwd*1CQEFaxjkRv!PSfAap$u6mM^Q&tI zO?bO*dLGiXdT~Q$|7_NW%IMNd=t8A$O`o^3sx*3b*PC6?@)WW@uzqe;7oQw6=YwY! zE?khG-|BPsnJrg-@v|s+KmXJ2)U7>d-FcdwYy9kq>+C$EoHHZ@5dTENh_Y%Qujy2mCM|~hu;IQ_b49or0ikR zheJ&*e*|+s7kcg86ZQX(jkP_ErzCfrz3Edg^Mgr6uYJo_oXy@pc}Iupky~r!hf-7a zzTx~hZDUswp!>OFQmd*F(~kF(=sDPYi4Z7mcWUBTp8YI;dMZ$N7p|j)6d_F98q&SS-7#SS>jO_ty=RBEmzUrPf0|*fS|2Y+xhG3T9PHP)SwRBl~D_3Aozx^KJ`ItoME7 z=B3ASpI1MuK43AW*|J6Z#@W|AvrF5ydIC|Gdb*M$=o6ln(x|VI0nBC%`(v(l4y0>e zQV0bUaENymh1(YwZuy^iVYi}4_c-hc4T2koebmc;jly=+@}KjE+3LT~@}E>)({Y8j zdx;}#S>j_}XITCNbi$Av`Y(A=X+v7lFDj-DFDgG@>&7o9Bq-mni+}bl=;fw5J9G5M zbr3)MYB1~l=MgD0QkCI)=c_bP(Wo!ahbH&5i9N9IzI5;4t(_Cw_j}betSwK{($mCv zrs)X{gGocBWS{k#*7U2(!LnD%}uni+x6+IE@Y9BZHgB8=$v};-mmcZZp#4< zQ3HJ6MER9Cj5Je9lcvTNhOa+4Jz!ex{v|P|r3M*R2aW4X3aW2Pzxvj;HMLA?tS~ko zx3*`(*x{Je0+!Kagr%-y@m|+H96pz+;>!Z@4vca^Y<6O=RZUooBU{DbX@Xj zj~P??T|6A@^p3Ajp1-w^+GPbs*kKfUPn3J$YRpnu-)Z>)NQ;TvHMt6uya$iKDf6+Rdf zqI2iqt+FnKgSZ~^7FC+dH$Gib_g=E=B>&Fx@1G;no0A*&9!NYg@aFr6uX1Y+Et}u^ zZvD>Zso{~L_8~>yjlXOUn^5;|K;v

$-OJoO><0*^lV@{>_}rEF*dc#hclAJ*I}DwQh}?y|>RRlwDrFIrZM56CaM|BY98K+p<-slh3(TrIY(u z@7(f@cRO=|LyxxKdat$rzUBTT$LhG)IaedQK7M^-cH)!?KL*B)xPG9A*3>q4+@Ce? zF(`iC5cBkX<%A)$uOVZEWF0VKJ>UL?yyMtAlr6r4N<{Pi!bt~SsxnOQ9 zH}U4y_YFCrTWL_T+;QMQ*hwa@ujC;4l90j zyW=2@n=#6=RwC(@b-`xxn%B3{&4&`<;^`ee%KUO4eOlIi<;NR};nGxj&ho-zOEp%x zS3f&=>{8Jt#c|Vj+eQ&)1z$|YwhMRP(C^A&o!+zaM`v{uJt(t%GVzw9U1RI_d+fv8 zntwdJD(H&Uw)M-emTp+uZQ+rV%{>EemDIPJvq(RYJX@`F=y@}K$otvj>`e}tukEvW z%{A{%vw{a*tUPm|_uZ5mk+r99kbAz>JqY}wvpc5O<9TMy-RyUsjN;q9)Tsz|zVcF| zZHx08hdY~zc3g3}dNy|Q4dodB#xUVrfrE&>tb>RJNpChUvk>&d|DPH{3;sC!{CiD0 z`|CO`PSh=T_1ASU{GU1d|HFxDyXdt=`StxAd(NoJMQvv#)N{)lhj$4p>btG;(_tA# z2Nbn!&u3a|zbfr{Ve-gBhVF6mzpU4>7`gB+`SDD4u-4hjr%t{2Jgp`s*46#fL4|%o zd&febi$NuG^``3&AY)Ds-E=&fXg93>cuKQbd(VeYGauRJ{f>46i195>o?bd5A}*iI zJ2HP@=YSbqu_3sM_@>+m9H5_zlRjQE2$ zX6rAX*SL1n<<_&G5}$RGJxrF(?qWoKPCn6y*WZ5GtI_K}^f$3TQ5dk=T;I__G$LuN z5!XY@bLuHWzau7b7dN%DpK(R={^SXDVb{e-^QD?+BeL?Z}1Yc zo3|3rg+AU=U-8ok!f)rT|Kw$LSZTobbns<$dUk;`1j&EZ?D8jh|MBqPA6){XP88q^ zJTkr7wA7PL&DJ*R?(+1et=3M29!yO%4lb2#mo$=1SpHgh?9ju~PbP17Ilig;>RDcU z*t+b3(Pj2`SKcm38oAH}YGj1;JaLd|#*rdrrE`@W$eSbustbelUt)F@D zt5H{7H;(#hck=AqGbJaU7G(DGoLyMrc){q|%3HNl#f3iohpjbFIl-B_x9O-iD`#!W zd^|3B?4gHgmm@;=_#}MeMZK8zBJ|@t*M0TcSI4I;&b(0+y-~J)bn=CsGrqBJ zOCzs{kG$HQTD$!!i@1YftG7S(PJg%ZfA9;!!q%GbX5Vn9fZG(Mooy?6Q-68cvHIpW zruFQx`fBq=>3wM%*+y5m??>~H<wlJlK8+EOPrm& zB<)FSddc4E=Ow#1jQTNlaiA1_!B!#m!ast{o^jwp1BZ{UHT+j?sNp@&>*MxI_8?qg#smcI$`|-OX{Nj>miOSRb8Xao9r4)y{u+nlQa5m0d zHlp5KD>O+FPR}*GJD^hS7gmb@ATRYz5_41U#H~x`NDc(`@76&!^EPMJqqN4R)_#qf zTzGb{siEuU7UsQD3N`u;I($1T(QIAx_qc_j_xD{oixQm$J7?7{X}0Bv?coJmo?Fa! zoP03WGiSu;kBRL+n61bha^k3<(xm&gj~qk!x86YpXWAIub{n-N_SqJ+)@elCs%5)| z9**dB>rp;;><}Mun}9AiE|MmnN~KS@pL^@qo0B;!qxgX}%jet022ZbyJM^*2X=#_~ z&(|)0>aiwo=ycaTMai4f`gU?3kQ>@;|G5Pm!3p#xHInI#pkD7dW7EBAW~;`hpRd7VdTB0M&9&)?|UG< zm-d@w&Ch#j4x}-&-2u1Ibbi{#_wIQ z`Nu*VP4}a(ZCnRBcXPk_>3s+{>CGI6;g462o@ex~xctb3Ehl^X&#lZ#+hR(d=rV3r zj!m1Q@jZ7=?|Vu7zKvHXclN6$>wGtD^#16flQMCK&-?8^ynH53`H{RzW5$E{w3V`= z*%zBUcl>lnr11wd25M-6HpFoFH5J nH8*R}rZFpL?989k;?kV + + 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/packages/System.Numerics.Vectors.4.5.0/ref/uap10.0.16299/_._ b/packages/System.Numerics.Vectors.4.5.0/ref/uap10.0.16299/_._ new file mode 100755 index 0000000..e69de29 diff --git a/packages/System.Numerics.Vectors.4.5.0/ref/xamarinios10/_._ b/packages/System.Numerics.Vectors.4.5.0/ref/xamarinios10/_._ new file mode 100755 index 0000000..e69de29 diff --git a/packages/System.Numerics.Vectors.4.5.0/ref/xamarinmac20/_._ b/packages/System.Numerics.Vectors.4.5.0/ref/xamarinmac20/_._ new file mode 100755 index 0000000..e69de29 diff --git a/packages/System.Numerics.Vectors.4.5.0/ref/xamarintvos10/_._ b/packages/System.Numerics.Vectors.4.5.0/ref/xamarintvos10/_._ new file mode 100755 index 0000000..e69de29 diff --git a/packages/System.Numerics.Vectors.4.5.0/ref/xamarinwatchos10/_._ b/packages/System.Numerics.Vectors.4.5.0/ref/xamarinwatchos10/_._ new file mode 100755 index 0000000..e69de29 diff --git a/packages/System.Numerics.Vectors.4.5.0/useSharedDesignerContext.txt b/packages/System.Numerics.Vectors.4.5.0/useSharedDesignerContext.txt new file mode 100755 index 0000000..e69de29 diff --git a/packages/System.Numerics.Vectors.4.5.0/version.txt b/packages/System.Numerics.Vectors.4.5.0/version.txt new file mode 100755 index 0000000..9fd007e --- /dev/null +++ b/packages/System.Numerics.Vectors.4.5.0/version.txt @@ -0,0 +1 @@ +30ab651fcb4354552bd4891619a0bdd81e0ebdbf diff --git a/packages/System.Reflection.Metadata.5.0.0/.signature.p7s b/packages/System.Reflection.Metadata.5.0.0/.signature.p7s new file mode 100755 index 0000000000000000000000000000000000000000..2d2055c5fcaebd5e2e633730fd6726f96b4f272a GIT binary patch literal 18702 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 literal 0 HcmV?d00001 diff --git a/packages/System.Reflection.Metadata.5.0.0/Icon.png b/packages/System.Reflection.Metadata.5.0.0/Icon.png new file mode 100755 index 0000000000000000000000000000000000000000..a0f1fdbf4d5eae0e561018cccee74f6a454cdb9c GIT binary patch literal 7006 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 literal 0 HcmV?d00001 diff --git a/packages/System.Reflection.Metadata.5.0.0/LICENSE.TXT b/packages/System.Reflection.Metadata.5.0.0/LICENSE.TXT new file mode 100755 index 0000000..fa3121d --- /dev/null +++ b/packages/System.Reflection.Metadata.5.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/System.Reflection.Metadata.5.0.0/System.Reflection.Metadata.5.0.0.nupkg b/packages/System.Reflection.Metadata.5.0.0/System.Reflection.Metadata.5.0.0.nupkg new file mode 100755 index 0000000000000000000000000000000000000000..5b3d52e8d2d825ab494052c2b238b2dbf9c0651c GIT binary patch literal 1006081 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

RF{eI=gCp`63&yO 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 aok~A<-HE?W^)_`9L%-_>s-#m5X#WSf38Nzb literal 0 HcmV?d00001 diff --git a/packages/System.Numerics.Vectors.4.5.0/lib/netstandard2.0/System.Numerics.Vectors.xml b/packages/System.Numerics.Vectors.4.5.0/lib/netstandard2.0/System.Numerics.Vectors.xml new file mode 100755 index 0000000..3d093a1 --- /dev/null +++ b/packages/System.Numerics.Vectors.4.5.0/lib/netstandard2.0/System.Numerics.Vectors.xml @@ -0,0 +1,2621 @@ + + + System.Numerics.Vectors + + + +

&F)WSJ3p{tgsTe5>bk__rE6mWbi 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 KJ|ft6T@91LjE&c9cn%`cD`gI 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�cyw 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 literal 0 HcmV?d00001 diff --git a/packages/System.Memory.4.5.4/lib/net461/System.Memory.xml b/packages/System.Memory.4.5.4/lib/net461/System.Memory.xml new file mode 100755 index 0000000..de9af89 --- /dev/null +++ b/packages/System.Memory.4.5.4/lib/net461/System.Memory.xml @@ -0,0 +1,355 @@ + + + System.Memory + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/packages/System.Memory.4.5.4/lib/netcoreapp2.1/_._ b/packages/System.Memory.4.5.4/lib/netcoreapp2.1/_._ new file mode 100755 index 0000000..e69de29 diff --git a/packages/System.Memory.4.5.4/lib/netstandard1.1/System.Memory.dll b/packages/System.Memory.4.5.4/lib/netstandard1.1/System.Memory.dll new file mode 100755 index 0000000000000000000000000000000000000000..98f1c5d1534220aa2ba173d7b629146166ba8c12 GIT binary patch literal 137088 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 z z@JmR++HrajhwFKX>$X2EN0fKa+TTVR4%%mG)(|Mndw5I1Myd1^^4UT@H@%*M>t}^A zwtkAZ$_*??@jaz*kr=(UrDIhh%I=IznpC(6O1C6*!Z5SJZEK+ zr1c1ht?;bR)ECfMqH~fsyx?nTY7{NGV`Sbl)gtH9v$DikwxUZ`a6E>-Z#PO9J^hym zmdD_5c_p~=T;MXpze3c~U*ktz1tUQW;5ZYB>np;)!JFq)EoZ>cpid=1{}#cer}2Yb z$nMhL;U$+|`U)O3KfUx-Ji{7RcB^)=_o;%rG|q%CJ>|Jo$6Z>7z?Tc<40S=z09pyR zaa8Y@E5t?D+=h7UH${C90$>yueBj#^|C1;`j-Rp>ehm-L8CpDWJZlzQiFMpXEMlU@ z14d;WNtmUCdR=@q*GV)zF&(RfJ5t zi?g|Ap`VlXv<$AXa-2Vn(ZusA0rWBzN_Y)^&JJNk7Ix)YKGY(#W9iU003J?(tF_NC z4$G8g*o><-(OfHNm)RpNWPc&4YWP)ZnMmJP=M~r{4s|n7GA>h4c76xUnA+&>TqPQF^e9 zN9hHkc$Bt1;!)bZh)3y_xpa59Aho%gcs=KKe+~)Q4sRJ;3c)u6c zAbHaGB*RMS;OvDYel{BGhE&9&CGm^%%bS@;MIKj?$LAFyeDrG(<(Eg7zsU#ie~V9i zE8q^`FF_j49Kd&U%BOL*Ut;7Ee%#f8@6Ac-!BdRJ*=k7+297*gKGcH6ms6}@;E)Dd zIQ=5PZm9ViLo6{l%YToeHk@Hx*(*Rdsyj*cKql9C;bnj@m;P^ncu!dypE9g!4hz9@ z&rj8~@RbefEeNa8H(*$sAfs=xs_R4exSi^tdE%8g@MDGFMsE2I22NnBPYamkk1CiE z0g1j%VB%{8)>{O=Y!>wg3lMP&nela%W1Zv}(TOU@hG9F(6``_#3Xzf%`c2*OKuQ&s z^@3%z1IvbyRD>xiLSfo4j0C|pdioeyHFW~Z;&-nJFK44po%nn_u)&O_JQNSSKOXpE zJYZR|JUilnpNI!O7!Uk&JaCB}LvXYexa^4(l^qnTcSa~z`o15$xD0K~d*_3(BL_W4 zuAc|5dU)R&&wl&iKd{|#B(~5%%gW6FXBJp_eEGt%QUG5RiE zY8jkuMG0etGH?FAl}NK4c^0iSoiQ(&RVTO_vHBx*z&xi zhxuU9vpOBQ@Kq>9+Dt5eEsg8fQoQc1SblDBcKHX$xxqa3Z+OUl6bu)}Ud1O66#j1_ zej!?AL#~>&(l^@9Ov=SgYu1_@BRqd4_C0PK;3~efzuY(=CKDRv-+>{zDbNh}VUP)L z!Vk-#tp(YTzg3VdXe^7H*xW1y%^gD}W_hvvy;V>E!+(H|t@_47`7lPs65}?!nbdq| zmCP)kxfl7Rw2rL$J9N;C{I)30U=PXNM(WEkJmw8k47Ww#8!AG&EB9d5iux2bB}sUu zKeoeD*jv&zep}xyv6N;$xO^5wD85;=DdoEf-RTC!_XAkk;7h!l=NX33j=aSb>-e6t z+=E{rqfK^BTrW%D!c4u13oA*$g%e}yGd0j$@)fu-$dW1Fs-WGa%derUO5x43)3ao~ zPJJ*1BpM)`V}i)XHq=w&V7Y>Wg?8XzYJ`ITO&peS`>MR+eK@=@gI%m8zMzC0)E54i zLfA!>h5dif z`%Gsc%pz(z$E>`v2PP!06u|h3dZL9WKel{V_-et|3pierH)ssvqQgFfsx*39XnQk5 z^?oz6;POig5nh9z(!$im$yWYs&{l=`_^KvprEFqM0j&ebfTO9>Dx2VWV&!xVhE)wH z6D$ff(YJSk&;yE4(zzSBVDkf)&`BzLG?f)ydAW`5C%_e;5~2qCIb28wz`e;H`1^6; z;TUki@Yi&G;W4TuURi;w`@QfW$`l`?CErqpweOpSB`ota@1g~IRs?su^*D0TD6bi1 zDNES>j~%j%hDuTAXVDwTW8b=GElcS)B`;72S-X%ci*Gf$A+AE_sd!rG#SEK+sAT(@MLh#At@(Es4YopyxG1|n)u0oQibkPaa^#azlx+hhA zu9d3ySxY4Vr{s6CYAwM%Bel5zPkY-~DiP6VZ_8Mz1~%{86KU8E{Mt}OuA`(0nkYJa zS2Ie=|EPs)40GxrvsDOxx0x!mTDa6Fe0MWWa-6lQeTmyET-iUN-htG|1SXGw7lx90m=zC;)=!m~_>JIE@u&EaTF% z;d`60LaKrnaXCBWz)n>1qTbP;9OJSc!vN{NRalt9b+ii;_`1$k7NTVALNs z-C%M>WDn=6TGEFN5vb)3E_?X)y_bM+UO^!;l1~q&LrM*fhr?mGU~RfEZ5^A<4FWRF z@BQ(v3LD$^Gj@0pz_QbCBNkYRsqi96UD|+Xq+7^6R}8U~E0Rcp@cm4sG2l-GNWJKL zQaS=SZXRK*+ycMj+=4yf78ay>gFOVWkIhQ?mFY}+Zo!&xhg51Cc}z@XwbM~f(Pbev z^r~?vWpJ4p4NZPVtc2bmrPLo(ZP_Gio9qN@*=7RU##+>*vC)BFHVgp)F(6x<^xUGg z^S^;rn(FCazBvrWR%u!$=Ry7}2)wKyaRtu0eR}e|h=P)V_<}@F1nXCihQ=IG_ z>{ZdYbZx<22(iG)tCjE`R`e@kt9*Sg2Rd>W4@#jHN-dN0VS0dw+U0ga<60WVX|asS zIC?klSC7j$bhvrXGwKblHZjwX;8zUumc4HRM{jQO{3Lg!EqfoZ@ z)PXz;O*m)`+Tra`b5$>m!};oJNi{l({k1T`Z@1owEX$bcV(j}F%#|azK}*{Z35Ldb9%o-kD9zh%cR~VU%7lTuH?qo#Nfqj)^NYRQ1+L^&)$$2)?`!^}#R%5*n;{ zs_I(q!_>TDm!u3hiHuvwJ81sWJaOp8yE~y~g+A&A< zbzH8IuJ80yq9rNAP!Je79DF3XAaWw*Lpv*N><+q_a0~D~%<`t+3ZfHf{19-6oya=< zl}LBem?jaWTWk#5&b@1p5xmdL$$g`Or*g2x+t`gU8{Lt{1;_!m^hgd~s^&b(flaPJ zRCzA~#4w_kwxL)K7YcM5A-M-pp!jWT+xScD)}DPSvAtuT@A zxVWRm(X&190rt9uslDmK)CR>z#hp~9ni)*F!k{u<()dUMnNiN*R&}yK)jsk*xQYeM z)UHgpC|#H+DIRFY2C*g?QPwHhI4AJ&L?NKb2-@Z;<0Ne7}6ytN`Lwmf>% znfhgEB_FtwMb(YpV&pgs-2<6fNKMxLR8#lZB0d?HDRXfBaFFG#)(fc#Y!48tKkcNn z=23G5_>c@t;(VMzk^(rBA%4#R?u$~+0{0&YS}d+qZPRLe(X6KI7)CR7OeB=}Y|#h% zTlI>KlTkymzA#5R#!S{cZ$oMt1K^k%C9jlGvK&+6Sft3O6q{PA9J(GWoXTX0lzm*K z>-i5+zI2gK=C~q)TIexf`)czjM;sl%T70PR%%Pya<0`T#SXGngGK}Swm}#;EpXIM11f!_e4=chWb4@YsN+IkYE#a#`4Ai&$inA~BPS$$>NzfOV9l^HYw}pWzcw-xd|k zU#!#JHUwpcv7m*{vvh!@hz5=n8j(43%dn!nhnY>|wG8wn`Rl5b@Hu*pGb8n^awwuk zxYQ|DV3U60x38X?Nf1DVeq#|!B-Wg5&7HNlrgGWo4`GV4yaVuOu*;a9i^4&Co}dIO z&Kx9PE#qOlqa87S=ZXl;jJq&YpSl#_1==Rh#Y=C6x8v=?8?Gk7Ra6MYg1O-joV4@Hv+CBt}^H+c1TF@)VJp_9?+RWeV`}pTXi$@?siq0se#FA^c#=U?Ogo zhlgk*Y>YIVdIj~BQ##C;SZu&44)|>4#f9Et-mbi`AJZ-c6HLlL5M;I%!+pRX9DWp{ z*b`pKNhIde-UFGyo9Crnncy&BZt4ny)7em5KEDCS0;hg8^CYefiwKU^8}4A6V{u8o zJrI73wV{)iR5$B2209M`j@KbGf%hcyN&n8Lm_xqBYx3@X<1q0Fb7>)hV$I?xbO#pG zB-xT*UXx6ITJkH+pnPbEI9k*T$<^k5PZ`vdQ`+0WgCx7(fsyS#P)uLCI33pP|S6iEOZqQMiwVX01@OHTluxkmDug{K8$ zBvViv>YK}E^u=wttalkpi0V^9@*-b6x|&fNn>vc#s~4~=<-GzP_VX>KVH{-}gk`Bz2R4p;A2ZO z2UYA*fynylsgL@CZ1)^s;e=@9`s_=N;eC1$KTdjdPF*{f&p7Fk=-qSD!_j*dm*qw8 zIruR$G*~NFVshyCV!YxVo`zuX5Td*wcZeb1JBUy&xU_yVz_L0^7VkOzp7XP74`GiC zpa`1rv+^kH`Xcy?VSi-q(%-;avv!$S?J6(zvp{`)0(FEg!t*+XXLxS%Pzy;gaQMl6 z2x4QaFf%ibu#cVKP_*kY+n>4>MHlBLC)%jNPrA|BvqVHak!1|&+=RQQ)3na%MSlk1GmO?^6pU)}ntjMHp= zC*w3*-_79bG8%^4=2E)(Xtp`}9Wuw($83zPkC5*iL@13Wx&mOX2E%16*gdC&2jY#^ z2b29YL9qc(9)+paB2~RpY+;_%uM{yCm?|dW zIFedv+BfN$5oH&_CXzcP&AlF08pu1`4?C=0a^{G7>BX*HsflOl>R}C2#pEpALwX%> z#e?VfP&U2xP|nF5^xX78j2s7X!{!4fHZ*`TU4%s{bt%@9`;^YI447@kT`TFBxPnQS zu%Z0G);sJ=sW7xPgGWFi7udfmo3bKGR6IEF(|24Hz=sL z-bxsQ6y~o42`}Uqus)8u7qCJOx~VJfz!NRxn|rY{CX&?gLkA;SJ?L2wz{5&jvv|)P z4t5<-!5lVNw?Yu+W=bC04uB-X-8Q}*3?G73tIES#neG?K^3K1Q7UmLgU8?P6?75Ns z$mZVhL&W8^NFHs`i0=}DEabb?;4gE3vSgrpJjPLU!xJB;b+88wdxm3cu=_Cz_=YDw z){Lgum+Pmm!8m^AalX@TgE7r}LNJEYD1w^>V>}I^nu*=fs5sXNX^X*jz#X%detx@t zI|>OV_eCGAr!Y-@LtriLw=ittD`EZ9I53KxDg6g#ORs)4+!>y8v~>5~j6LGamfrt< zczIF>v;93hWI>$nllu@*uj5A|9bn5G^Toia&50tu^>sloxnRy_&A?l@bpS^Z6;Uq3 z^K(yvG!#~x_^bY&f~FSGf{;Fl1EB0BQlBQqY~@nHm}_EmC1bjYak!C(U$!{6A*(P} z_kkTUbwMOfwN8AnqcE2BT$FV@NqZ1XD$?61j}iViEnG3WF)qq}ALjQ!nB?b~88Xj7 z1TiENaSmqXM9uanXT*DAX!5GswanFXvffy;H7v@3b*pEajx|4bvz`N}H24i-X)`*_ zGS(v>W{r?Fvsy%zuq^h^5XWq~mT?CRid^MemKnjD283GpTlCD*nV5?0F5yh;;~C=JBi>c-!{6!I905l(5q+eG|kZGz@^cTN-$d zghmi5xusuwRS(lf5gK$$yD#f!Xbd6SSv!kf!#;z~Cw+!=5q?{*dZNt;ikfY!n9Tx9 zX1u^bGhU$0f|~Ou@GZhSw73=fIEkxt1kN}3Wzdxo1#lDF2PF#73tM5#AZna3LI1*5 z5!$G4KSBt~rxolCaS+S_-z!eAx6yBvj^1}-CVY(vWw54ln-jdGaht^5D{<8q*rQOz z1TBv0ezbX;Ra$<@9ao00M5f9pvy_`@W0H2Kr1kfVs$O(-pFI|RT+-&3xD;KsLAsVe z*J)}huip~&l*RKSps|___Hv$aEmRrIi|e=K++c4V4S0RMTDidu_SIcCcuC!_Tn?b? z0E9JT+$_M)6h=X8ca-4uNY$7CbXEf~)|AWZXY~%?7uSuW6Ic3R?O+IrI(1i;D;eIK114c$K{HUxc8yGuwiwftu2a-W zg0#hWR0YlQnP-RPEk@Ld@F1$Cl;iC9->ubRPnh zZ-m28jo}W4_3G6t+-t?v1cR zRBd2|xZ_6<3^IbQ6;_QTRtkEAbOgcA#<#G&MY>N;Lp`VRBa#j|JeLchPPK1%-1B6 zC-=c0P=RsM%Hliwl%E^3hdhSXO?SjogF14!mFLH>Vv|j69i~Jv9GDjQbSmfZ$%$`N zO7SE=tO|e=tpaQ;47O0tAP}}DeCJ(knPVTGRI0z#^ zH4ofhwTqq1oVaHy#SYkrW4<%>)yhaR*-!1`r$sW()bFGU&;2F#qGb7Ow=~v1Pp6!t zocm)tSt0LrE5!rR++miP`YJd5U_Vghsuq!1KU)hb?X^RDr&-x_YU*oj?|9YytdQoz z#l{U;si}9jcn{;rxNimCbEh=+GNjMixcU?q-h-83AwDxybdJsY-#ZdK8-F66dHK4eo|ppC0wIz}-f@@3DWUSRGC4hP+q% zYkHcC+#ZGPshHMO^y`cHDr4eDAs{bZO=n|aN9*iu0OkK8{%0bceE|aeZ{j~hF|M!& zV+vbqx_;|yfva0f7enqa&v4}H+xlSnVT|%w^)13&TDROLt=7=UBIn8i!SeMH0K-qO z*WuDrUs0kYHZE^*ykF`RTrP9CTspXX3w|!EkKwJ}SGhPHTvrd$!437n%DNIZ8l3Se zYfBqXp2BlYX=8XXp1GjpRa{ND^JJ1B+j(-v89(efPgaLw1{sa9qo52%GZHyU?Lln^ zd(2b+2o)Y#RC{~flmCpcRVbB8*iQc)j0o<@e`3sVJm&k18I8w$k1=aoF_4$x2rCo| z?4FD+zXHQ>T)#)wAHM40p8VI2g8!whU?7FcX&LQ3V=`GX%1C)n}7 zJ8=H{kA_p5rhDPYJ_)0`jqCr}hSWWImN5yg!;g^Qx_c6CM%x;1wS#-IhcSWIih^Wd zRDcysyBO9u&WV|e?1rNp`L8q=#Hv|fjNgo*$D$dt)m#{o9Fng3uwf4;)F7%a`I>BOnhZDT4er06=$o>@4T8$fHCL(F3p};{FxJr0L(yaqJM-f?Y zun<|AQH3ZfrMw@k8!RH@WvCl`VBBF07t&F5 z!#(Nn>_=(^{hA)C8SEP=;-ChqBQsSTi9Mb;QJf;;*5fb+nnd)bg$S-~2ZJ)Wu1pAr-x-W8MOebkfPe&Tqxcj(E-^X--vANk8m%})*qODl>~Kv zoL2quKK92;*&nZ}90Rg0{ZWm=R>4;N!_>oa*9f6Ff+&JW)gg73LKG1>{n$pZ7u5Pp zC?bY4V2G$&xPztO!1Z64Fbi1IoXw@G_?{jvMc2-vP1x8#!S2IQox-qb>M1_PEi6{a zuxYx5O?^mkRqOl%L=qd1@j*>#EG41rLzaPaPV%=}e-}A6anXy?2hvy2t#udQ66?{Z zrF7vg9anO_N{dvjt!v84fL(-%MZU1lNWV_@XKlk^xei^pkm$mXtb|vVX9O{DCUGaa zbywUiKG`y#j`iPL&)t6`lo@u}LR*)OcM`qsXv@7L&r+X_3dcGwx@n=Ko5stRP72Kv zkJB`zjGqDDCa6c0jA9BqvOgP>)L~rRG25HQhab5yV73>sD$}M8SsZ=XIuccR&C z+!?#(p7~*54ik3lHehLK^B5KuwOMSAVr@g#<}{LR_`ZdbqZh(9J_){H zedDlN-*AE%<*&a0Z&)K(gFSKe0(A{`Z`|8R1&3Q^@Hkf)=$y{?`F$9R*ZF-%_3L2i z%-=rW$gTg{|ML33$rKj0Vq&s$0lT}2P-1c3g(p^!)Q34g z($XpoyQnzB#o;QZxW|KGoa*5sT0S$3?M5EPYM4ZKH9S8HM+cTJ=Xf;}ZffcyNh7#= zJ6pu^>*e&U>5uVqg-s2g zqfamPKsARWh5(fWXPel;b}W(A_xUjG0hCQ-$#!H3wqq)OoS?&TNNk;G!%aY^J0L%7 zdU28x5P+VE@?#??LqMx!thEPs-DB8Mj3xKaz^txlrjDK|4E3f$MYpx+qL zDOWHh3LI^uu~cXkF(uH2kL`K{Gf88H^W+#T`4W(+-0GU?Tz#mUDc)6*QmH zb;Jp#X$s2D$`vUrVXkM@Tvjbt*^KL|6vd>z`HI6&hL9*md5!2X>ql}_5|;3JzB*-K zueWiU`d9A?9i71EV`fkp(0!ti9RZK|7r(gbQdaklesYmhi=R$FP9l*`9R93MV?)Uh%P z35)~erN~Ic(pI+uQBJEXA%vZ6LLxY@wOdvsg9R>Dn48^fqTUU#)!Bd*J3pg7g;0i^ z1slMO?q#G|Mux-5nC9|IWvp#AA}Ctd3L)=!E5ruVo@DNJ?_~>Y8N~kB%obcdC&cuw zM2si9d4EvK$*)w-Aj`>P zDw=j&NHt6nJKRJ`?pCE#ke`8~i0LSU_f^40GtNM^?VxX~*N1g0kPH2g3UfP8ZCHoYv z33SVHe;;py7+WxUF9S?|GQ)4{7!QLkOlRf5RG$MyA5O7$UY{3{>GZjM>Ap;#r+RQK zg?)Dnc+f?SS0wNZxA5TjimI;B=Q_*SmENK;N=nig82$B#M%#d|)%XeG21#k94KVf; z=Yrg}SOo6D#~gg^wt};Wt2>rZ2z)^;_*75?r<>XPY~g$>tXiTOHp9Dtq2`|cGguv! z)M@zD?W~E9#HUN(u`!<>-9MYgk%_r<>GcTjpLIdd&&}Gi#ktN zLY?Xv+eG2eBR8-0#R_3CU*C$~N_`T)wR#!H^kf+DanFd11MN*<2V?A)#WM3YYAyIe z0k@-K2IJH^v#gy-(eV@!vc5|v$1WH(%7Hxr$c%ajf+ar?ew4cLBVfaputjnP>-SDp`{tK{9+Nvozb+(7g%qv!S{Y+|D+kRQ&HPCVJ`8Rdk zx``Y(*c>OD3eLKN2CtSWR!GYetyL{cbPZrzJM6Rp>~PPF;|FJzu)JNW-h0PQTh{UA z*oiCab9`A`y0*SsC)Hn2xt6c@y=Z338cDqGrh1@b>i8BhUyt55Q_u6|$kAJ{nz9zV zq%SIB+w3q_97nv$@F-Rs$GpnGTC6xGYY@pc%>86SWGA8-A$+kmhUY+-PV+92M=UuQ zaxpF0fmJs&7)J9g+KPY;?vd)tQ*&x7FYiO~f@l50vjOtVKbRl%2TP@w+;{bs>-lo{ z=;d23=F5q@_w0Bz#wNbsb>E&HkLh;+?D#pnPxFU~hmKxZ-_MuDJFc!@#}^>0-&VPw zuP?vjTC@cd5qAY&PTX-Vx|m9;PgHK?>r0oet3Q`7_a44pCEk7Xruqey&Ba`0=Wwnv zJ%UNxXs$9jhA*?O%~is6IG-_|tDqm`Dr13{s}zE4uHpx|Tzh*Y)H+xZnW|_8YUP-c z#^rNyC0+1gDnbuYRp)%DYUm-T)wU+eYtws;Xqq9>GzGDVBU`nj$>NH;h%#e}d)SA{ zMmf-lZRHf%`QQbj6&z`8%4@ z+P!T&&7^rIjkk#44{IJW|BSQ7vBMKExRU%zMSBcW#`_`4Shev})oLo*IKd4QWBAW! zD%v=KxvSyeKcAH}G(rxVfnKR4x(Z?&+-wIfj5!j*GxFmy4M^7tz+O)Q8*W%ovEmfz z+z2<|%8s(uhByt*d+YXq1aYbmtK`=7#`9V!^N;8&| zeo^K{zKwIIzWpSez2Oo5mgIL>esKr4pTbErKlSADy_|Nk-dy|48Q9sudyoC#BDuo5 z2PbSai<}9xo??+|FROY{v(@c-TOvh()MA5&+)+pt*4kjwJO!hKfC?n7G`p;0x9);K{)b-ijUG zED?5iUvo@(w#&XOD*H-R_Dv}JrBXH}j9LSG5cPQWY?uAKsO-I}>=~4e9a5+_`wPp) znt!uwEIzEn^L;U%U)j!cv`dob7m??eM`b@>mA!B?3diz43a6a0a5yhnIM-EhkC?2( zYh_T}RX{`$*BJEUvRE-Ov3sc22!_-rk2Tny?}FeK1it+fR2pOQy`c!=vk8a-b^(Pb z{gOXGbUK)9R1&~%PXHsm{O^=S)_ba4nchW2o3P@g`fCg1p1^LZ|6JSil#P7N#7me=cll zfo14_5cKH@-kgBLM>}v!mp;1yWrAHkn1wG)$r|m#re4g-XZQ(>h54J|C$)L8f$wlN zM4zb8*rq-({S`C-F}i|LvsW!PFb?}fD>Df&mtXx(|j>A*U?tvkF1A9hu_=Jn6 z*>fv5-^u1E6Dzq=6zSq)SYTyx74JtYI9L1A=UFLmP#pWQFw$DM}MNQ5@#yAJLHkyOn z7`;UEJ?v9!&U>ESGGV5vx#qs;C7S19-`M}5GOv${x+!{z=69$6kCk~tRMbrL5>4x1 zBI|mZ#@Er7o8tWd*DV>i%`_VLaZR18Ov&Ftg3B2hZ;y!9P4~PRu`OVv*Pqt#w4V^3 z%f;b0-x~u~*8U-;2VQ#K<%}#BVcvXo2jny%xy?#Js>?yQj5c#%CZ^35g}F6`I5Sq7 zN4F@$rg0^@dZNxDBD&VO9|@gx?m=v`DD2g1)tNSFN1gY4F3BUs&ObtA_nNo!RKY*G zBK)(=(`WF}$8+(NBM*7{Ihiz(r*Pb~@e~o=d5VNCJVopZJXLLwl%qYLOSXaLDI!QljB-jUmiThpgS z*-;{N;<7`Pbv^jSzmYA2Zu7m-@4I91>Ij9{y^1?lF`>b1Dw-nwYHRMmnuu=uThN`* zZGVD@ct6B`mc|%cD?+p9R{;@gP*^P2X%&u*8J+5E^8;~U%m`fMxJ2cs-rj0%rJgr^ z1U6i92!KJ-WJ_a1oRrO&4Co|Lt6$YvyC`z%oc~YN6>9TYtZPESvaa80Z&wZ~tG6o$ z>^MK`_1ks3@^oV7Fr^$GE&jt0Wz$}%8{x&ed+(2T@9SFaU3vGj)XoV-z`9c{Vmi^( z1G}C&XWcovChLyR$BAS4ExPUt38CD>tt;^iy7K#Ui6?fCK1&d+4= zQ4Z7zhe5PE+Qs%nanuY?UPjGUYiYJPyvM61tPHKC%;+JUt&8+pq;)uASkj&kjQ`ZbvrFkG5>kiz-{t4+X91)>O3VzCUc~KFLD<(1X~8Kj=&6 zs@-KMqhtspd3P3lV)_-DMMTg=gn)n|)Iy*+G(Pp`oc#eIPdeJVS02==-Vv3xx9 zWCQmXww#BJuSRaf22L-iW9Wr_R^ikz)FFHqumhE|$M%#nn6hU3r785o^5`+W$Zq}3Ee3N=|^H385F1Bi!;B}Zb zynZS=n}E%hao8p*Txa)ep~6LY&lW28heuUkp@M0kx{WfCsK4+ETko-*lb1#X@p(pWCo>h->Rx;Zdw*K3o70@=}Bso#{HE#i%N1%W)lEn>nAd6 z2#uj~f0yje|HIyUfLB#zZ{vHPdvbHrd+#K~BtS@SfTYq45J-ZcXh^w0BqSjTO^Q)a z(ZLZEQIru>Ml3jrqN1XMf{rL)!x?Z;QPDxg&Nvp-?_F!}TS8HP<@uiP|2+S|dG~(T zTDzRx&ffc;vIxIFnT`w$sPjBS1j@z{OZHh~u`cpMTn;;Dq59f%$ESL*(0A$i&jW8U z2=Ew)TZ%?zCV=2Y2Do#mnI1`=ks0BE7a8!z@r9@$zG3JBho^x&*i!CQo11hk--j4) zs)X&x=)ly+mBL(_U>|I`=Je z_jpB4sj?#J6dchw0&#fZz{n#Ca10noizeRzgYX;~oK%~-Vcd5>tW79+an?@WH;|`vz2?E96~>cLWEw37iawyM7L!39!R@sefxl` zcm98%gFTbrcU?USqW`NHO7vS9o`=sV#%6*RzW`r`w~;YPeY>k6zR5@wSV%U+H&2_1 zk2a;vpne8-Cb_9be6tbXH2F33VN>)&DVb=K6!aI-fH%a$`K7@JcM;;I!lr4S@lAL@ zr)ApYj3#3?N7SB>hz}_wwrDn)=HQa=uScokoiCT8w|Fm|hgLBVFAr)$lJv%ShfNsU zU=Ve)X+FhfE!!;XW7Beq4Q@_CTFd*`Oh3h@oNcfn=9U%}g?oN1Y;#o~8!9GcWAI>r zyZi9WZ5sAk91(e0ETj0;YSla9``E4MV>c#^PLDqlK;s(?E;>Hkvg;OKbsC)_f0*DD zyKDQ{jZUM}JX5+@dbq`R9#__x(#7_yn_V@x3Z3qm>v7QUs7JE-t$HMz->OHl`K@{+ zo8PKOviZ$=#B||z)g#&co_Zv^-&2od_j~G*?0!!@s&wgeQIAck?_tVCeJ@bbHxIEB zH^5Cn6{Qr|dU01!?I;D-)9wnY5~aYx(Op6HpcI&)yDKO+N`a}GyTX+#T<6^tu3X_F z>8^0)3L}iW!j&rw8SV;Kt}srxD_ps{#ibZ@wz49HD_3r1MG9B0+{%g+u3Wj56)9Y~ zaw{uRxN_xIR-`y%S&_n(E4Q*Dg)3KXWkm{CuH4Fs6s}ykl@%#mx#F_I#>A26$>$}6 zwj}=IiHl3d#Som=uB6zz2@nl*X_%IQ=Tg`(p(XrhOUAkQlptp~#+wx*$o1}xr=#iTX-dJ?6rqXu`M>)WXG4RmYo<%l4h!}RWiaoQE& zz1!f+n65urYFV-jGFZs#Ff5bpE5R%s*OA2^N#Xcr6qUQNh(!2ilt)?`eqgnBkEb$J^X_Gf&&^TjbQFEcAMH!C;0m?R$bT`*D9EkyECAvVE1Rsw%*PgiUE3^4r8{udzzdO%iR zE4DwP7Olx6>ql2Y_agY={?L`Tbu^JN{tPT9&fjp?052M>evrBJ!8J;K7LKtv=*}55 z2eAta0$Kp0xzc)7Sm09rf^eYxL==vZI4Fz_M=1_J926HVn#qm9fe9{+QT*L8A^OLY z9DP&V7=9qbDz1$n92ZIWa@Z9aA)^046tY+oc6fkQgoLLhTZI`xSj3ngN&frTzl-s1 zw%Nt_PQ=o9tH=*aOZFGvMn9V2FYFPIBId?0ihoHYX@_PLej7}o{TOEzKQPKv zlH40Ycylq~+IYf$#1W1PC%hp13dA<#oWP=B(H40{MzA;$L6Ql^(s+Myd(fkh{5zE7 z@8XQCVg;x2lf2E_DuNJyxM)j#qMubHA^-lOBb;&=W!&Z+Ek>uNCF2!AX@>`Ri@nKI z0)Cw5A%2wZr|KI>8b zB$>^jLQ}~9msr9{Tzapt9l$aG?q$T?sIal9U$zRL$IN%)ee*xu!LBuSg7wko^uZ!!!OyLDqk94OnBi;9DOXKTd z=gnPUI?|g9R>a|Ud6OH6~-Eo}yO0aq{5#JrX z9G3G35v#@9jVblp*|JVN!|WB*`4ll(9ANejW*3UjIF`j6%f-T5Qa+cWHPz$GgMN}y zzde`2HHchhOAxMJOv5+7$a0`Bu|_e3bx)!vOaVKWbuW66Zl)+_)|L5eR6X*A7nEY` z_!w<;0>+gKB;|U2+@l%wU>7pmq8XmhhVE(9M+S7Atg{a)&#cF|*CX#h?RXhfS8ZaE zyc}^p2TRf|#YPa`F_l%GITuefUMZ<08lank@84X>c?k(1%emq~PGK5ismHtO9_LsJ znO!cP2f8WHz0R?`!+H6Gc$0J8Y{nMV zX zXrOtC1!%3r))~uSc^osGderke!yBv$vz#el>)qJj#RkIsbx)FV18I88)3U^7LaOF;xBr38KjU;hC zURQ0kj`U78CiPauz7{m8_u@jrswl!AiwK7W5vHaSuIWeUlS3GuPq-wHFtV8N3AVqT z{lTFmsZ4t4Rl*&{}eRkVCz}IE?M@W&Dt_oWoXfsHYhZa@cn{>`)GMkZ~H@|Ap}r#*rL$ z28Vi%F^)qWWh~=RZ!_B2{t-rB4pq(AhER^$OfF7FomR#s8xwj{_5q?KpZJqc7SBGK&-o{7%6CN57vC^SFNRA>CQPBylW@Z~^>MG^QT~ej4;W@SLEZaV~eH zQX76S)e=0R*VpGgoatpTln0+wiebDr;S$6!skhsoZ~^;2jVAx&EO{V_{BNcc4nb)Y zh%2(M_MO!GKqkfW=3v78{Rp3q^bAH{>vs(OXl=T8aBZ&#a6<2UX_W3i7|SL3XQIta z=nY0|nb6x5O4!M`6qqe;8{`+9E$#^=T*3a8@K5M{5&4K3 z5`JvS3{Dc8la^yqp!&$>q?JzpYmwiYNuq!H?EwX1-GFS*0&xRcdx4mQUL!?P7>!7i z3%)g__z%WOj5Fv{RxuqYMW=-%s$Hc7tU_DLDw>34YB|~HarKA1a@63>#e@ZEgtlnH zBPHc{nCxP|69Hs-3@u@D=y{ND2cl2;)c_@Ww^jU^aVJILy)Qr>d{PO!{RzJexd1sC zDXEXowh%^`gzFiN>$La_Z&~tS>t+XD4tA5) z&CDU)dacXPA>9L7x1m4jwrSmE{Ym$f)@2MJ-E&%ZB7=1MwXPwAbZ=^1dI;&>)4G{H zq&uc{IX=x$NcW@G-5fwV&wi>rbNL+n!KfYtpF_0PEjfq6C28I0b12*(t-C&r zba`4gJ&kmwTK9)&(v8%*3!+I^t94tGNq2$P-H)>N5sj={EB@L4MzA)`p6S0X*jFso z?Bf1+1^bH?%vOt`{T~kw5=Wi7y}_a4GpFv2;BXO`Oy{>&1oi)CaHNQ2wpx6cawIrP z4Ag9b^`qcuaXzyf#l_aof@8%Z%}y96g5$(J+On(UWN-pj%Bsvlg(W0OoYcDD97{+) zF)f93t3{%ZcSy2$mDyVHeQHQZf3c#!3U^IVOvpLn0JF7XPh3h!y6D9Gmhu^T4qkmC zS}@n9SjOZPh71x{Yu0I&g$x#}G+SCSG9+7k=wKP+L-NFznq3-H7m_b_4&YcKCuJ-N zE)eP1=RkkAoy@#2q(BVQ%yV!v*ci?JHh3RyJeaJQ*iZu{*hylNMvYWl z73wg97IGQbdzM16lNsrT7{wxoR=liB@f|8AIa!wPxuVy}t~biW&BVl7+pRe>Ln_4v zC+i8R5>GkV7|RH;SF=}3mWPZK?=!o~RvNPpJ40V;_EyPaFmo`)sd7D1tS2U~60iGT zhj0g-EZS$3NW^*pI-7seY-0@O6BO<$QJ#8p$Qa?9t=RC?X3KdZOS2!6?g*(CSvg9# zv^d|W7S+tuSXV7>(z>WY&6crZx7N|fH%@qBok4XQI&g~|Cjy;pj-^H?1V4Y^oM)oe`R-jHcxhtqOzNRvp!?mLCsMuN1W_L$P7_kpmYyH*D4M=*@=)@qLQ}i5$@eMkI>m-H!;LHDD^~0hv+O) zx<{hIL+6N-PL>?nEoK%g-Gk806(^i5Ids05hTTev^R?o<(1l{BlU0N+7HLBqx)UM2 zVvUp4gL`TrLeEKBJ_`9m6M$axj~$CvbxYU zVk)+Wm1T42&0@EcC5PT7vW6?&yKz0Ce-aOAHYhbYbc2{$s&w_S9-()L!%o%{dY715 zrgYWN{aGAyvYyb*qNf}>l;B69SBBmz4iG~=Z%JAedY?G#WPb|1Uwq_bTSEULj0%V4 z)1eQFJSTf4bgSqhhByb8ydSzvTkIoVI4kBjS^%s1>waj%obg*_$y>12b$ zo))o{D!ua5^01wv$jNHLo)aTA>!0Znx?9vc*~MWmh!$eVOaIKC&^np8e%-^UmqSUCp+0~ z;UTg|vsX**4-b{sGE?JxsJulp8s|gh7G`Rk50#bUICYHkC%r>uuajAQ!sM%pVVn>5 zh>+{?OPyn!kB~bxqj5e`9@UJ-`6zj`Mp@E0A0@>EVrra^l2y#E!VGtcC0h1q9gXub z(tVtdk&m;EM*TUKIQarGxlFte<8Mop@2FV#I@V8qq#2!GKlv52wYHl|#(VUWKQU9O zr%11fDle2?e;LM%uA zJXusnmTPU-;EeL+G-j&)3Z< zre&BcaI)j!=gK-=P~~l*>1q z>~&cs116J>`pPb2B;Ml4mMH54IYurg#$~<5<2-plvkz0HI8UyhqI8Av58KX@F&8RE z^-wJbYDV=iR?cEZ_3(wqIJru*TXSxdHF66xRVx!@>{P_Uwc_P9K~8nDdyI*4BQaeo zb@Bk~RISv>kc&vCYNbxbXhyYCCzF}cOy{6cCyShHhDW^|s~FF8CdqnYJhJZ&ndUB_8?!>?2)MGhzn)b#grah`=cWoWT$5Pz?$VfnmrPg5-~%zO;eT+BHSf%ual)j zw98dZO7~jvz=%2Wc#DJON6eKwW+=7~x=Ur`B@UJ!u~Z&wQ|#Ti;StN^_SuRJN{x=V zO7^xp*yxCB<(dw~9*L@r_@nggRO~^p)pCtyk3?MLTQ}gr zh&{50*=n&jWE)uIAC%6=@5zXlr_He#>*PO~QlJR7lJo?NLc7Y=wa;#Il$k6^f_ zeirvi#Ov}tV&ZbNo;M>7xUsh)-jv%|N8{kT5r3CEob1Dhe>in_=X@G*Q0~#XyK}yZ zI3!;qCfC}YE&eXzE$MMRr9kadio?>6*^Rc3lP(WFEJGC&xLG06sS^hyW#rp3R)w>D z61iBsBL`{rePkHeSk1l(+=pLnrfBw4pa)nNv(+~5G|$K*@;WeDhu@Or2eyiJH;O}1 zKgc8URn6YZT4ua2|Knsqkw<0vD$4bZ;=Qbh$d6=;lf_4VEVn9Vdp$Tc@-w+zv(BUe zV9#q-!R&R--tr~gyP7>!NbI;~cy~J3_nI{fAZA_7soNe;BNn3B5VlOzY+ygq4btpD zAh8n7o{A&2x>9o8m@}yjI1I3BeQrf!6 zpXFXB+Z-v3&>NMmF6fC!(@4?mMAS=>9>xX4&^uy$4n=wyYcz}WIU4D0ysz2du&*M0 zjf6GIa$wlck^aV1%_bNB6dGvk)ojB+pQsQc@+M`uVPJGrsL@0WIU8J(9u;PEYGw^6 zjtV!nIoXJ)2;)1=4j0x&MH($@Rk*{2%~4Uter6xp>{0tfwDG25VnJSaRJ5V?1dfU~ zL&I>NlDL_|snU%#Y{YPWo1&IR#Tt`YhyI?oG%DWMrgi11H%28IbWc$WpLP|QT>hW+VaV~7ozBQLHc{aeyMb@qLS-E1~}P|k$f{$LZ`y*_Mo%PG;&#| zTHRn{I5V10d@cqXBQ>M>#9*VA81@qG&LcKk>pm>}8f>m+uNUmI4K|i&w%d=`l^l-7 zvksrZ#wMi$I~J8|^t+XELuH+66dH9-HpD10);QVbkRitU+t?Db-%RhJ#_{zIR^olG zk$Ag zs_!Irxp?WEuSLC4bC+U&j-BaUZyW@pG4g}F-Ck3Sv`x^7%f%J3Q@t-Xb~{;}cZ0Fu z&!k%|MkL?s)oeUZ3~@de{Iz$h@h@hp#n(l5dbJwgY2B>&H@z+~M%}F}cc7-*jBUj5 zm8lhZdpz5W#LbFbRs5c3r?Eh@6HzBT=NRuYTP^H?hIfw}^YWf=99KFX!7ep^B8D~} zP&hus#eVb~AF{})ONDN+VcerE1O3N`EOD~03&w{mby^-lxXYZn!_f6Q*YP%$>xw{#*_}ZN>? z(c6rL#Dp4?A2YV}VRTm_r7$M<>*&Xf!rz6UJ1{{x~=|=4oS# zX3wSv$NbfZd{kNfad2$Rvqp<%4-HO@*<~Em>{hTBjKIf~Wt)F?%pPN)lNHD8HAZRn z&Y-fGSBwRkeKB}c%xgyA<0{-2gU80aZp_r|N9f)#wi83SypuIC=73SN-N71T4jRXt ztSjcQQS$`pR*Rc#%VLfgw>+uXpS+gE95wQGDE6|~nwVq8nx_?e#kMBqQ{%)l#3+S3 zV?H;sb}HRo&xd2aHnu&h*c97yG5;~Lb}9C>?X{R6jn%t}QMh+wem2%S+2^=@`5tDg z#r*|8#aJzipLbaL$9h{LUUaa8Sbs~hlV!#RyXl6-hFkKTy6V_yH{FG?@s^QJ-6gU8 zEcH&dFgDdP&B<28W>`9jp)Fl!-W;20sota5`JS6&b1j{k<>hXREwsp&l+H7EXKaZj zRrDt(VJUi9vDd&xSPm0Idf8r^V@F%WUd5J}3uDJx z4iiJTLeIUi6D-sADP3IdTd|WYPippM&PTCREU#afw-qFKL2vC z_v4>oQrTCf!F)E3ygbH&9GvuY; ziTIJ`Ex5yhEF+Ri6ULambn_qBEW|Rw+=J^S8264k^Lt|G9fvZVyWw&E1;)C2?26O!K&A-zMx&xWo*l*C`=|iHV02+RUMvJ)Y2(&~8rC z>|gP76FSW0nvG9bn$T(9quCV+S0~Id_iFZV{Hla5^GnU56V@eko1u{^g>4CUCiIv? zH9H#rK*Bt;MYHOJ?FkFam6~0auq)wGbDL%l#_vy9Y#!DuBH>WNQj<3GDc9d79!=;q zV>CNA@$-Z$%skC*P5drlxj9y|7ZZ)dtIX+|1t$6?t}rjttSvD-@mlj1&Av%YOk8Ph z)oe&&M&cjMmo&RMF)wkI`GIE7C!U*lgLzUjzr<0AYs|1{m9y5wiHU2?OwC?RIGS*a zIZ`u`@Oi?m<}}S_CVZE$-dw2J`UEWZ%o{Y@8}FOA(Y#-?yoB(?JI&pi?Mp~Z++@D3 z*-!BqiFcddYGzN!OT5Pnh*5c2mvC<4eP)_wd*VkWZZXR=%TAb>_!sj6V(3*j!E%eoV`eciUfGnIkD1l1`$*=ePPcA1dsw$xjK}X)Pna7N<6iuP z`I0jnzT{@AT@E!fe$qV3y7wgI>`AjVj#7Bf>p%G`z~(3>CuU2q1zI<#;5x7sTK8%C zI(e>px`%^0O*x9q^P{!i+38dp~7PQw(SOwb)_KRE*1P zhq+qo60&9`?l9MBHZbdm&kl2wwoFf&oA|UDnMmibT3nugdE!nJ#V0DW=?R_5Y2=^A zxHOjh3-Vp~mk{zRbjaxj@jXd|uSXh);c*|b2}dYHL>A-e9kC?u%#z!oHN?e*q;>Zz ziNX)CDlx<{AjR)MLoDXJk;L8K*Jgn~*{7UCHg645e#)VWN6FpeBncjs%Od-|1?0ck zoBZp5?tV<^Qc2>9N9DioS-8%~BC0sIl_*ub_14W#=jhNuy7vT^8{Ow;vUoOJa)EC=*8x9~kKJyKEd? z`4dJeN4>b8`{~+YK`u*oKb4F{q^6%)dnQX7-)@N_d-wBowPA}0=CRS0=hG$bd3I<& zw$izO4s>W$-c)R^(tv#^*|;R`{xfOMmN)nK3yLUCLPssT{Eiy@JvOJd1V`9kAJhIf zMl-6HiwkK~SL3StxTnTLl{eK6&z8?7v;;>CX=pQsIEpr=&H@7n{%{?^XsrGm9g-yppf2eeGS^(_^D65nY2QtSUVk zf6nB0T`?WK$u;Is>J*Q=#NiJNl%k5SxfxiAI<9xGW9@z>{~G-EL1jXDaQUSu;jvxi zuq2(Hs-~P<^n7D)0i|Mh!}E2DlqKs+;RpXEH z55Y*HMrKEw{QWkru#U0ahiChQsB_eX6kW+wJF`jx11;hR-qqofP}|5ZBFV*tR3;Rg zMNn8%ulPK9?uQ4vAgA_bvepAy6%WO4wj%slpz@%@GFV6lxM$sUhydxToeSj$XN$<=NI>kB7pZhg&-= zI<{sGwUuLQck^%H^52TP4OKZ9VkDQ$AznwTx;S(Wo$1k{z(7;rr3tWf$bXMtg>|=d zNk;I<|7bep^GeR!=@PXg@g1-IDc#d+mc|Norj$cfrz(g4RXOz?8dX&7IMOn>*PKc2 zh~H&-c8M!*YS+SLX>yzN5cOR0XVyCQKwP05wcwDr;{Sc;PCfd6Qda-nbpNaQ{GZxi z7uUB=J^GwAjRybIn*BYs|7$kCork_P<*=t3{5y8-JaixLTkpS?qNDEqZ`k~LZk2Wu zuJ0!IyEC7Qs|~0W*eG!Ce}(CT0sQA04Vu!z59Qf^Bz zl6&Y`)2A4_3^5NQxkZfOYh@QkHV<(F#w)9!wT34@yJ+JWyf_ALj=|@@6oY|#q^Oqh zT>S4&vEJXn8ri*n?XuJV0z{(ndE zzg2^0i|7Bf^ZlRXhuTsK=3}aLnc{Waa_S*A^6as1tN1;s{91|GFsfk9ixJEs-r%ui z9A;=9;sLZ|E5;22qeltP2~ST~_3Ph{juoHE^Vv|fM)&jj@A=Obzq|Z@C#|!sTmOH# zY8&czGJ7}F^1k35^Yvxu&n zuSZ(ZdK1NaB30ywG`Q(FGVms%40hM!`SWlw1ll3uV;uc(e2C*cF%&jK;d%*rULy$T zf%gTHKMClK@7&d71d3wDGRD!26Bws3HZry{&S6{#48uLeHCT?V1}5UYf)wW-;2`lm zFc+lA!a{OX^h{Gls6vG{y`n`DC@L6%MpgULZ<)`w~p$!z-Y*WnsGWG{K z5jliE8gC4wcnAZ<6vjrzR+je&x@)&b&^^D41wB>&9^-OB&z;RN=4TYhmAJdS6L*=? zb7CtYzf&$WzD?S~@`vR$MtkuNSe~E$JZx$*UdJsxl%kg`^8ZL~HSWv$43Z-MZ{!mO z-CawPALP9vDI~x+B=!bH8f*A{S8Mp~FKhTMM{5vIsGE}NU*MNn;g&gIYzQiqGbopIul4wAg+ObjAa`?`MCzzY`NE< z8d<|ncoJ^GdC|G=<##)6<4^~<#P%4Q{I9bd;Ich{yge)lJAw2R!C{skWu$bUwj4%0 zsRrQ?<2aYYaW04BTn;B#OZc9JaENh~B}e(ZPH_1g=K4Cy@y{_1W`Bz_`csrN>Fm52 z156V&RcapQXA`#?QG;ffTa8CTItZg~FnuMJ+Z4GV^*-}^n6EdkF|P1FZpKP_E7ct1si+^!ZCuyexURQxU2o%@ z6Am%9A?M*9ko8`cdcDejd z6tw}Le#?w?vdHf#&o;@=O7LChZIYgeX_NFUOpm1JBo_12&qD>>la6QKQJZyKhU8B* zmLpCNv0T#In?fZ$C%uwuVY%)XZ}{ZdPH@{eEa<7q0+CNE-vScMoR&s5w zL7cmc^^BW1{yJzS#yV9k3DCWYkh0qJ?4!|118Ueud1E!!kL zakNd+Gf79e{}Mhd>-c?Xb^N4My5;Jqa<3hTQ;OY^o+H`K@$8oLzO>zv-j}vp($g(_ zC5^p%C5^q?_#AgjdM0JJq^DN)N_y5}x1?uXc1wCXWw)fKO9;Jy^u!Ng3FAoM6|r@U zQ-Son47JjA-UpDA&5+O;?UwY6&2CB0!E8g$PcmA4c4Pbx@>v5(w9jtXclc~UDGf2m zp9-Y6yB+2hyBlq0zs~`*nXknGzLp)8bl1^gNpEi3E9uQ`dnLWOZLg#^x1rr)giM#Q zzKen5aZlzN#GK+wnB}{hOYCF0E%IvLujKsf2Y`{mj{tpuAIqCcp7Z@)PK(_qzLy!r zgs-I%wq_7s9Z7hB|32}tyes}W*n1569R7eod*RO;$ns3WYdD_a{_px`TW*N^kTCmG z#7y?fan|=3-^=@APxyM_3RUa3)yT}e(2wL^UWbgFsN?2BV|dXPT=g!^SmXDVEaAMN zkNbTrm-TxWSd(G;e+BenjQ9UuUJ|=SelOoj9Sna>Mjqr8f0^a^l8yfBAlc@>lE>1~ zmVYH=dk&QJ{ue?DD+4N7zJssG$0fZH?YN{jqUDK4LhcL5hiEG(3`lTKZI3VdwX=r2U7YAe(-ko+p(tFf)b00Y>>FsDXyf1ZUpiP8|=Yf&p zC19+01(+xf08_*vV48RbI8b~5%o4|ddEzr*k@y-oRQv~6Doz3`@y1D;7$vO0YT*N% zDFT6&G7LBs=q1+3Xy7d}0h0AH1-ON^+a={>hoqeBl$4X*l5%nY_BL^lZ4R@|5yqp8 z$5?xu@k^GRVE=bO4-sgj14E4gz&v9R;wdr)!#~u>1C|;Ez)GVCILasiRvSZsHO9HX zI-?XgnYB}4X%o{7%Fj%L&aTa%(&#kGgM37fF%oCAz^DoG7mJO0V6QO`VV4^>16LU9 zfGdsLfUAr@0oSnn7Gnea>y0~r8;!ew+l)U0w;P**JB)jQJB|B+yO9T*c#%`zYf#C& zYEZo#FsP0W8dM914XT$T#sjcCYEY>jWBcQ5|0Ua>VEgab{v_KA%fqlVEh)&qujO%I zpoMB-BjY9u)x|v)N^y&Y&ix_Ffj}>@16nV!)3O6$ea+|b`$nkwEbMY%J`YzPW%!g{r3l1 z@aap!B*w28WdO?=M>8&AypHitj1Mrz1(M|;#$k+O8KZ*s2W1K$^tepC*?DnNCfb-6PyY&& z^Qk0ODwAba%G)w4q#gzbvKz zSrYTI*qkh4SRO;|r!#0Ponc$zLv1% zWxHS*#DCFay`8`O=4aq@Fh*$X#jU5Tx=y{rX?{K6Zj&44)PsDV2cGJ&_K)8E&m5Z_=YPlyxPjTYkH*vS*(TkJ*)@gMBx3Gp3vqXqWM zY``D*TOB{*Iw8bKT(^YyiNEskGk?qD7l9v_kQU`q;=RFdo7#4_8m#j?%vqUB@D*Oqh41?H{hQ|3QUe^ z+~W?9r#;^FIO^eP4YlT3Ype~{HtRg=V(Zn`>#es~AGJPf{k!#j>j~=*R?{=ZGtYC5 zXRqf2o?AU1_59g0+LmO?v<pRT1-nYfK+xIfxmAL`Pz%v1R0)7gxVziYgQxhd>Lw#cw z244_n2f^4A4ac_tBQQsZ#9Q9uFbhuwqs0z8!d^Y zlsp6MtNq(4k|QOrLb5Ra5HLRI1K`2zXLThR=+74P&oStcxWfm1 z(GcgORp6-~^gjdNAn*fTgqC86R_S^H#BO{k%@EI{wc!3Dv>ZbmK)W%-n`k$N z_$R(SW?+9f3HT{yo4C6P?Z?1(7tR5Gj`m|c8hIXYf*cE+ zD8~b9JaV79x<7(jj#x=kPjXwY%Hm(D1Gpj{-BqcFPd-#&I5mH6Fu& z6Fr6l>paSUlRPSblRc_{7kG?Be;$GHx*qjw$IgB)e#f|1Y!y$S7C%DGM9E8}hv934 z8iR~lW1g|mSYWx@a*O59me(zBS#r$+bCdaw`K6iQ(crPr<9d%@JSJPyJsUh{dOqv< znP<2y)i%?%#J1e_2itwNeqJNJ#(7=fwZZ!ZpMySY0yYOc7Vt*EN{fLni0lQvDE6Av zl45Zm+DjtV(-1EUUmKpe5<`Le#8lvZ(FS})tOvd-_5xoMrWbzs7DIt=2(y=dqo<1z z{lgd$_%q)-0k8h^4P1fyE|ir^_A%~FJ5}~*#_6&=+^cq~-4p#zm!%~;WG3eWTYiD~ zV%KS5b8!!vijS_3^cNObj^At5ADzKx0|eG*-WX>CG0q0z7p@SD!t}+S5L~ZAFdB!T zCSx)7#$oL3hmpA-#@`f-%!4p8XJTZ|!pNM3y^<`9&N-;<9E{F6xR&Rj-{+v$=b+E$ z;M$#oc7U7J@E0k*^&&S~yYbph)NViRrf4@qyCvE^SG%R!t<>%)?T*oIjdts_+pJx? zc4ugJrgksUZW~-Gn>G=HyL>QeYxz9wF3|3!+Fh*OrP}>iyPs!n>E?fPjqK)XTO4bg6xb|bVKrQI0q#%VV} zyGhzj)^308o}=A#?GDiHAngv;Znk!FwVSWqLhTl7cZha}X?M7G%d}ge-74*lgiG}{ zQf3EHy^Yp)$r6#Z$kL;%y@x_k2Z)cQt>P zIp!qV{!{IKrrj^J`;~UT(eA&s8(^w(?uI)Z-*=jiEB1VGk-Spum&b6-$L{Cjc<%IN zk#0F?q+70Jm+Wq^%oiIh=NbpaTR4W|7=>d5jv9#r?nE4=ILdKU;uwRY8pk*s-yp3b z*p=ca#}R-dNLtMxxFck!SuGRIaX6~sk2c61h2I>T@#2GK^DU#<{8luZ@$g6EcwD?_ z4uKnhV-oT>8OIQrZutgz?S@+iz6kE)VxPx+@tQ{v{PRVcb-u{7#v<--aGo{Be%USe zV=b~@Zjkp|7a^|AIOdBNtsCS%>t^I@5st~o`)1h87b`sHi<@w)$8i^qdptKI|8F6l z4X`^1_eZ#oiwU;*Vv21D{M{VB!xkhvY>$f`{ML0)e1iBs$8j9T2^=lR^K-@`uV;|w z`QjSyFLAD4!vBq!;QJ%;;cr&>`I{sCn#4LB58`+R$Ibp-kaa=VBR-Ae#rMjz8~`akne{)0Od|=l{j1*<8dV5 zNW_tZqaRj@$#7F}^v98k;~X4mIMQ)s;23~oAdW#eGI0#Xk%c20M-C2k&GpAM*BjSd zZ(MV|an1F{HPT;<$4Y4;+&Z|E;a-5_Lg=RAxCjTnXooM?d5dW{8gVq?pk2@w9CjSj zVc&sV&%x1+`E?JDxj5$GSb$?8jwLvj;VL5qZ!jO;1D|5@LMpTtmmSr)ERaT9t%q=di$`&KX)@6%H*EqEj`8tQ?Z(sHQ>w9D>{&S$@F|_sE{Dy`c;V5~xYUiA*vqPqHM5j8VtXw*~ zTy=K2B0Ikb-6XH7tT?BjyrQD2ydZ~C%qcF*%c&@=%B?If%d5=Kp+F3| zjch2J05p`bKZgXl1bO)w#9A5`cGq=`?P%|rnOl&Lk9a|$tg{LzWC7(3NV$M>>Zn(~ zPz&8hJ{F=B5W!i`JvW!4XUO|CyPSMVv`;Q6V1YXGLdqgR4nZzK9zmf}7r~niIBPC) z$bupF*Ua+BjG>4+NJoo(L|4b``kv`UqN<%}T?do7B;kujF{Mn9Ly$|5S1c-Xb1GZs zjqPa3t^%<)yGTP*u^0-)Tnvw5XiZn^yv82;=-HiZb{aZx?dZU0(9_u3)_tzPKwh3( zTv?Qpo10aTU7S-`SzK08S(T3=IKQf(sH!kOH@_e^zf5Em=jT?A$j{3w%FW3s&acWV z%P-F^F3u?$QJjw^ojoEazp@NnQ*`%qF_epu71Z!*8oRpfb*;1QGzz&SYKW+GTJR|0 zqN<@XcW=2a18%u)dKc#eRTJxDo?TEWa>{eE^7E^5iz_g2RN(qFqCCF>y){3N%AqR1 ztgNCStFX!yu9j-RMV(A#3dPx#=Vs;PUSCLy(UXfRn zUzVGL!KAzp<6B{6c~O21a}tgc!O4Rl$X-6$~O=xOclZWN>2F@tMuLGq1a zoZa3swxi3g2!>U}6|>aV z#x|#r$2oj_zNWE-%7Z2!6glP!Vq#-^OULY5oPwx86d1SEnT_wne2?;0wV>JFNuGwP z_LiECZp7TtKCYt&ku=XlC?wJ`|GyfDPV>ysHKEkID^Mhua3XieX?;6NdPX}KPvKmY z=Hlfjl36Yh#albGu?xoC4c*E^GCcun?e6U8hEA0-mnY7+Mc{Ot!?jkIbxMIZ(us51+Yx$ndy9R+=~`7kr^)F|(M*KuJ?KSx zQcf}zM6Uq)s&wA^3VHh8SJcq$7GGUg>uid*th3V&hmt<86&}Y3!vqDORJE8$z}u}H zH5H(>L~DmCP}d}5bbC!(W3#=_T*Dz7-F^N{tV(d9hCw$fsd=XISG1u%%DYI6j@Yhz zwQa57Wi9g>vECAm+O2GC#}cSxZudxgk7L<2(T)WVt;z(1E<(M@ea$AE1t3&alliE| z?wJ*s73sN>&bJuRWw$#9F4ScYE@v3PW_Px>*}H1(UGtE&?#%l3?#AhMOrk37-RQE^ z_{XBzVT~qcYqxKo89%pY{B#UKGwiP3;}~OHIyJ^Pn!HQ?t6_dSA$^5$X5qJ!IW5HK zcFz1MBf%MS=omrjIy$NwyHFy1Mu6WJgc_xz7#f^ok~2n9*ETn{QCo8O9E)->+R-?; zX*)?nr(UXyI@gL#G&|Sq?kjfTz7ZfsSMqR5t9LP4T~c`|k9~mIO;}ZTRCdfIouXRG1Asjb}|?G6KW)d`*b3SQri;Z9CNa6>X|f? z#A&s(Vz=uQ;m~ul8ydPvYwu<)~2}>1^RSLi@n7q zp<<-bpQo-gjdH1+zIqz_oeXn}xjkKtZH`9VU5$}{ZXb)$-Q}2`POomA@rW$MV%2$bX`)Z`hJquZzRW)dfPniXbdGzmtj>D9#P zvEy>w+||mnc$c!$KD`k=0wXC#YnRxOBdsoLYi;ayX-Bj*&TymJsIsjM^Jh$oYk3Y+ z)7Uf9%}6yAZub-IZH)_54{*ilNU^31TPV#vrzsoG zshhN+UpZSZ28YJkJOgyeXi!n}A(zaN6&@nm-6GJJDVF!NHnq03_PA*s>C$+LvsmD! zqLFB9YddwJ*~;MsvA}Ro3rw}98D(F<1cp3-i}KdCHq`dm#s##DRk8-GIOpP`h85#H z`{?d&_^}iP@?h6J&OQSLJ5OEvN4sdN%iF_e7Y zXV0CjF5V7_8{@NUT;L|@ZkXMN(~74HbH5QZ(o*Ez1QgZy>B2eHn=YywyL)(X0C5?O z?T!m4rVq3-?#`r%DK2GnS#%5_YF&V7iNn*i5L!)IRQuMfc5YKQ#xjIQVPhaCAI5ER zT6i8qK0V@Awl?CD(2d`Gx-+?IQ6KG%UHGkoX6UC(_FR+D@feER8avTrX0+4Nacpb% z?8Y7h=rhy%9rjeJ&S~CRV;zMafz?U(Oi|lLI2OH5oS`RDfuSK`y^mRai(~Jz+TK0` z_DZMrL0i;DsMb&>w6_IU0`0}_gTu#5A186HU9YZrgL9Wd*wXFrO>gaT`qhRH71#8(j`=z~2@CShAj~c}MabRq6j?)?DkZE7 zyJ<0lg(z~Nyi`7XT}K@(>>k~&{Ih8<9`^utG+iRfJLV!>#Y}tiEc8_F06bD-p3}Kd z`LORYi~Ako7(e}dVye9&#j%auv-+-b9YQ@1b5I`F9E9ip9JChAkUca#q3O%yjxOdj zhL^XZO(6b>_>FBIv>4SLBJPC_qH@Eh&Gvm(-7c}tkxRgNa?#n87PlyxR}06qb}Y84 zXM#Io)od=WBlPaqsp|)|C+3WTXKcc;xuKYIe+}29cIt>|_-&XQp+~p##Rn^Wy26ppDVovUr$+8b7C&aU&NyQk z_L1uZ&t%P|cbc&(x;|p(`4r^!k?Ximkvh)g6tN@U*#&*#aK?R#T*rNi)DgG4xE+m% z`X2orM6F4!6=-qlkkn!#)#DWOI5ZT7O8 zy#-AajYeZnj5S7M>@`JWZ!ytmEV1kRo|$`>1vSaJ=-xYXX6DSynKNh3 zoGCX`S{xAgh%L=kQ9)?|p_G}u7%nj+EhIRzTX6(vQlzQD*qfRH63XgdaRiP*Zo*d> z(@N@KuZqA?a23>H5-iR^vUk9G{rbdg(4#qktofBn{ukjTD?moOm(ud}h>}4(85?J# zvd~a61u$bsh1LcxDTU^rMJ-vH*CP9?++=b>(MwH!c`=E%$7_vF#k@^S!HtVfHIdf? zS)-H=l}l9|9}8{hE?kviGq@}=fNrzbUZRSa%O#vA~Ul{01SpH&jGH7E2spO2WGvR~1-r-9nz(DKp z&KVhlvonQE=p9T*^}!4T*09djgiPjSD?36iK{2^WYl{^xp*yLam^EQm?;xY(l~k(O z49O2=gknk7Tg+UCrNUw;QL0UL>JakrmV8a0#ykbP;<)}qJGJ;skhku?mV_5cPR}NC zk_VJ-PkO%OO=R1-gji|mN0yheP_X&SE;$0VNNE_h!br#`l+z z6of8dg<(y=+A4Qs*atd@Q;G$#RF=#^F)*B_rlca`t623_@u;ve2fr#DrfX=;g9#(J zQF3xidk573%1itL|6 zS@|ci7wLe}_ADV2KWecKSSb|-(gP=Q!xC*m0)7&DCu;(Wi%vKMDo!$!D>lK3Iij?V z=tv?juo2T`Wn{|hYcfVTn3~af{Y~nsua&Ct7`kkBtd&6KV7%u`gtosC#ji<3wSF}^ zCX*y4Av;ep&77UG`x|3Elt75H(&;m@G3q-??9f^GvZYOEKV0tMHh(Eln$yK}_m_LR zO9ow21VEo{2JJ z4O$+~vasrdHl$J3#y9K`%YkKLON7wWo&v&bNvWwkGTD1zvg3rJ(Gx8xjiZjvDAiG3 zspOIs1Z5_9JMxtw#8$GK<~FjMi&fbdBa1MeDM=3Sp`_bG&4+;Ji;6sivmtk*N{A~h z`S6)-I_w96!+sqLUa;CZVlFvZGxKG634n2q7oB8S!ys&1wWngIV(HMo4CGVbzew6B zxKtqP7E&I(i{xZT&F2hlj~bQ)lbit?NRebZ0U}Rqq!7*!Y_#CafssZEO6E`+;lS!7 z03{MhRx1*}m>u(t-kf;6%^e_`Ydde8U`Aou>+OhvofK@JxJ`&2l1<$)9Z!ea3$5D@ ze=-b(LJykB$kM8l6%Z6EDZx&*#q{KaEJ<^qp6=|Gg&1!;QtTvGd)yR3G` zZ=8Rj!KPy#IFj?k4dE>Sp$46MS_ z4mEj!s^lVAsmQY7^zS0`3d*QohmyyVah8h3#Yk)hD=}B09eWF)88gkb7|NTkb2llV4K*$b&c ztF%m3LG1B&yYykHSs8523a0o3TQ>I1u(h(V=8!I^?$F@N3r9}+xB3rHGB0ef5E*-oOUuvmk zAa(|nl#_oQl`1Op(<^ad{njpE6_AmH*#-o*63G0t|CEjB%+UqQTg)Npm}Hufc}ddj z{244B+nnsoDl4EzV>NZSKvJP$P{}nxs1*!edQnk^mtI#S_$!tc35>N=rpY_TY3_sU z;0_`Krh1NTv#e4j0n`d$G9EvItQ0U%3exDuJxmE;jVAdi4R^wpLD4B6sN}FR(e_oc zNfVc3(nK43+H*;5VR0C*NNrBj39f5!DDA}t*JHZJ{jnL+n@K-~4PL_%d@##sqf~@60FQTE5NwUl#xz4)-!qRg~w;x}ffBhtom7ezwMnlQT^$*Dt zW|JJCqU4f$x#TS=$R%L&mJQ?M)7U{pIv@o7q%EqJOQ*rGAeLdXv3js67j}$Log&k% zw8@No>C%=Bm9~x?h7+=BI8~d08z2PtOuQ+~?g-Do3ELFF=tdKvUKlWB;T$f?4M-YdXTcqfH>Gcb zleZMx3aC(y?mLP>ZV3pn!rcNtp*le$fv+oI0}w_z4P)VEIZi+faAJN1Xd2EFJLl9K zw2g>Z5Y!M}Dm-JH$bm@1$Yat=bb ze+^Fr^04E!k_1o}yHk)yG9V=|_MsLYfZWm$l8)H%XsvX#5S1hq@nb>FOoa7fTr!Zg zeJYDdtxoOw>Y52nU&b5`Jk-vVo^t~6WGpbi(2f!kcY*7wICDTaV%r$ah$oZ5lTj!w zC9cO)ivI8Y=}+m-mts;9|TS@p8HdCkmAA zRj;K%vzPHWw|6x1CmLdpD&D1fDo*;9Zkd;3aoTlecm@E2(Dvn2QLMjZp*<5&(=gVq z13)9W#k(*Hb6O;!6@+^27+tBCJIe-MOWxBc9&e2vh-<~kdrm{n)iHn!aNw6YNQf!f zZ=9uv4gH>DF7CsGh5CWqp0DhS)hv(-IFyV#enN29Kx5o9&=hrS18xsTKWZ-suZ)oZ z377;vAfBPWlN)EQu9mNBGrgyxf4tY=8-mg-h$^!v>eP6+mm{Z%9tyQtA(~7K+D=o> zqrd3x#XJct0KuZ@k*1+Ud2?8}kDx8*k+(?X?KeDong8jPz6|ke*)PB$H03 zp@LNLMjOBloZhG-Zv{`m#CgS2V05E2h=bbt2;Mq_Sk5CB5PVZZa(U@krV`bVz2ss| z>M3|>^(Obc8Lm`nSMbgZ=5f#a1l7Y+rxz4}c)RDPf{DD;xIj|$0%;YlL{BgjvZAIT zq=Z4M&ZH|3NVoy>!(1sFA>#R1SE-4y=`^IS301;YA6( zcuEyMBdP=6cp-BgJq%t($`sv=x-wYUNAMAilsfN6=2rNKdWVP5dkUVS3rizMDI-WE zr<{RYiD(MYez^{{H<6>F)~M6DD%-g!rH3oX!ia#VI*Os!Dox-UkcD+cC5eIjQ4mcK zN&+OpXJ8nUNz1FH)N*bh7WeYfF=%s^5>L?0gj`IxR}{SvJfl=<7|OloyBx;NF#jjD}$gVNsM7zk1=`UFuFH1dM< zA`Vb#h-q2*s3x3`seC8kgS7BsVhe4FPN&mVbX9w~sVlnS0iLL6WN6jw>1EVvbQDT5 zNh=^DQLU%9n;LJef)xlA=>WVMD!q=z799x!joOU~J4i%=YL$8~VmWFswH|K0POH%~ z2Nj&UpqHztW&PbvjoMYDdRD9mtX^nk@PbZFIgs0co`V<+s5EL-tQ4-`E|ivc5nc{Z z2ZIH=3M3zf382uqYh8d&feNXOMm@<`Dw6@ciYmFOF)%3fM&4dNXfK5uL~9xwoILWj z;=h7~W&S%D4M}Kvq#4-Ibp|4Ls}9i|jxPxUWJW#k>nq}6tfb?;fCC%gX(U&VwVxp#|?2v zZiAZcU((z$BYkhUz;N2tPtg*U;KaBH+m9}tJgBvR#XAQRSZCX$Ju3@%h6 zF-<}Sq;F_%?1S;dwC4T*nC(PCCTjrZig^sF9;@<$!#h z2gN=_DvPn$%iW8|qZ&{|bRl;y6V=Y$3w5SGt$;W|Vt}cv94SdbWFn`g{^~GGi~m^YV}bno;zI#|}4d4D>&ZyBE=n8pBIVOt1_tiPCKJ z(3x})v*?CAsFK!5)zRs^y`^M~1W4lzrqWS;@Bs@iDa>1k(T^)gthoiy!VzR}H@lLO zftCg>kr0ZJ)j9 ztP%+cX${Do^eQhGvx*f3eiYC{3z^Oe$X-fl0j{J(IDyopawv(Q_fSx9u}EA@bwc+= zle(2?W}vODMg83K9wG+uG$+3NVzuQWn&`%(u_h-n=$LlFTso$sklMmvH?JEJj0i^|1|p+`hENlXln=(53XQ>_)hHo&X6toas?63vlg^v% zjk2gAn=pnb)o67nSe%8+U|^BmI!~>M1SABe&W*`=I3R;nCar-$Y6)n9ax6t7sF8@q z!;uA7epMRxy!*&g3Gt{iGBHC+ITcE&19MWL?vo0D7kfSdQNp+X>am)Zbv}GKAUQD&8 z)7es1?O60`?XjSg{I=MlhZM)}!TrQMh8CK1M)QO-d zXpJVb5qh+SkrWT;96BC=K~km014EYqHzOLrKX@37@EKguaztEI0{;}$4&+A=Mb_hI zG-%NZGzF755S>G-R##E8R^d)4t-8uucg8fV+Eg!0?qs$xf`!!ZQ{}*+?)h#Cg`O4v zK4l0XUIzT3ZW{dPt))o-Qx@5Hh+d3-`Xj~$PZ4^mNHa81;VFXZ(4jE4;4)4=9;0`& zp_0;K0zm!p2J8AB`Jdsf7cjao7n+e2acVcb6*`S95vUJ=JA@*yN(~)W7)L#KdtlIGxx(^eb%hV^t@>6$G$@bO>S)H zd|dgUY=^<=TYUSBU)m(XC;k4=1Jgc9XfAy5*!sQqq4WE%+)c84S6DS{Y>$sB->Pw- zPK7-`d0tu))-be+`loHj>NVMqVxWK`J*adlP)AS^P=!tpotGZ;-2j!29v}%U1N5M8 z2B^x=!-XCudfMgePY*Layy#Ju9^Uk*!A2|^b;(DMyo2Oo zNXn3{$eYxEjMxw}3U4)v>ux4RIThtZ@j+paRDyE#In^T#9)%lBEYdVb=jkT0F^3E| zd|dYt$^zz*%7(FGphh5j2&N_o78eK!{xVaVa0OL5$D;RXo3l!gju?2y}-{y=`aQJ!Sb5M2;QONs^t z7qpeDnpqA=n_!bLsFvhLKPR;utSPG|QUDowB&V9jyid5FG?X&jIt1GTX2vcw&&HcQ zl(==j*vDKD{~S~X)P#^CeHOZJv4>)D02>HNot%#7yT zrI0*2j$igk_{m!WzY{>h?+noqN)f1eL5h78iHhSWA=TH7VPI_{Q`1dH)sP4XjwY*1 z84MdTNkx;J!in6X6q`}6L~KT2IX3gaa6^-4FmE)kI8m5L=>}z=F$jCW*aAj!0w5T< z%Y4Oyod8b3;pm2WpCPpz3;>vpB{rdxaEHzya2AE0&q868;i2TSYI7bcs~ZQY|;bi{-HN70o~{oF)gAZp_W7H5dzl;LdJ3>E|~ax$-x z7zSQSLh;B##nQv*Nro-5)+tCplC*@KS6z`_Fx0S@7qgFeRa8NG=;>iZR1^(QFZXEX zCgB9zXEY?4do=w6)FYK!)OJE1139!;OgdqF^Y+$aWW>vxgmfB0O;u4`G%Ds{D5E5P zWorX*H)J(2k`&Gjk>~`@Fq(tAVzg$ll-v#>MWG;WtDv5$pi~Ux1EyC{3du(%3MLH5 zxI+Di;3kF>Y{XHLOyONj4MKA6R)d=4VG>6604;8zY$E{>hYG>V#ZaPl=1Y6zEc% zmb_((z2GAinfe{Ld0`J011Nz^ZRAZ}Rmo5o8W`=RP&S1@Q%GJ;K8Kf$X~m(O%#Kh) zF)FI0!6_IYqEZ;-f*4UnIWD=(4Pb`3FKmbJOVR7lOHo| z%GDVsvTy^~Q7UM&lr1%jREk^_s<;YeO88vhgT&GBxO~Kc2!k28IDOv1QniBL9Wy_M zUZJF(14wZWsuDS9O8Cf-TpZH?Ul|9vkgnK+WW^q&D)t~zF$OS>6FzMTpT2|-nz&P5 zNLP#z$%;KlRqR0`4>XoU$oi;vzRpeI+`{)uk_ujw2i8bt$^d2VLjb5S`xG@AJk+#u z0vj489V8xLT0j894hPehAd5sWGS~|abR_POCKgD+AO=Y_Q@d%3ozR)&Aa1+_&N1Mk5AA^Y6)T0bt2RDPH>DgB`K>j0qH5; zzCu+|sN@LxdX?F~Yr9x8j*p~Sb27393qnIt@c(+b*%8G#wZ9p+#G2XR0Gk=R6LHg} zHQ8Ulw^M{N!Tyc>gPPzHZ-0EkL4Zyp$^P;)Xqj1U;yAUwQhOjNJP zu3-`FERC8XJPTKO4h#iioO!cZ1A_bm&8=gylIRRqsCl5>o@omW2*3%*f!T@vNf~JY z$r<)^t34nIJLOY`2iS4SETC~COJGWHN~55l5KEJ$DJi(LJTN(_adJo#T!Np}I59CL zBq=007#m>lRScMlDuYl&0S5u(JFh_Ga-v|A4ja-LHC1dDu9sp^+;4!>caiCd8N($g zwF_%NILHDe2-HB~?b`Ifmkqm!LI-}%%&(3)Bi-!S{*DdA<{X^EGA9hl!D$#Xj?iV~ zm;toPw*>f`u>;lIqJsl4B*v8wabl0L^BGTnzOfVsd+BDJdawNUhR|CSy3=t&8wzh9Xr>$7 zl5w{a_((n?X~qdtGw$jz+i?FDyR8`X1hrFbW*m8=Yv#-uDdt=pw=#pT*eOzfv|<%} z^Qc6}a-4L+Cn|^$+}^_8V0JdZuTK4}gq%?VK1e92*qt}TTIHqGM2-?^!6h%o5SIkt zgQ-#^dH=P8JFqhr+kmYl5;j1Q*x{~F^IOs;cAG!H-Dwo$hDk+Ned^>8WJ5+!{GEaI z^U%Iq+lV)(;x|O5yL9fm_?$RpZ_TQ2PP3t34M|O`Z|=!S)FRm5LjUTUr33yg()k63 z_07?^+B7u@+mvH723ylxBsOlGfNlm^&@kAFZdm>0%=n$TIQ{~fCs|{xc9Lpjex<+Y zuyFdnZg;g?P9}06qf#b8rXXt-w1HQ(AmEp!CMWf3#^5 z=t5sk`cL;eRz>nAFDL(JTSf;War>7O|L^SC91B#vUqPIzdaOUPN@6OcXtj(bnm~~jJp64+P`l1>%X?Q`75A`{?}0b{q|;j<5H;m&-V+r zq3Hj7Lo0P2u?jz+W2Q6E>_P`~PJ#_0m0fS*FGkSWVO*#KxnWMhwf-47IF$i$YlV+K z17qelg_+ZEoXVVNH7A&H3jwa)AR+vgWt2H1%RB@pdHuzTPDf|V5Z3mL46}{S&-ja> zu|QWlqPC0@a+_`rPUd4kg4uEJ5Tz?2`u)WoZQ0FDW?Z;nwqxKh*G8_j{mpc!)y$4g zGB6)caB$iz-R)qbl9d`&93zUq*g!fzjhmGQfHVo|HuJ!QVODdRbn_vBanyldhv+ZX zaNLq)PU7VODR378?$rRTFchOu{-UK_dNT6o9~xj}rpjdT&kdN9v*{8?vlaA{K2YE< zdh;<8r^S%H4fM69oB5@V(AC6FFOB#(SX)vfd5K_52g$&J7`i9INf!~Dyn5jOdyHZu z+S$!6)m9&0P;MeOhLwBI`QU-6=G z-!&U+)($#g?-}Cj`@!6+3zlz-6USEx`B`0U_qgc|wvG6`x^bDkX4S)$Zx}!B*QLYZ z+P8lB;F~#`m0zZ3RG&6>W8Bv}b)$xN^y_I{{dQbG?@H(AZZi$Gycqgq$iZX3Ha@dw zQ`uQ7$4to5Dku3KUHePjIi~D^TS6oK>VH9n@LaKSx*&FmMo$sE(Zg?x3gPx8IHW&v z(ZU^l!m*4JUoXA_1tumuX4juz#@`wAW#l5;(k~~Rukt&^YZn?978g&Nc^p2R7H5m& z%5EHZJr3uQ<8b~bD#jnrw$VLs=9tkmP8x1GAH+dLChE~)>OlX%l7ar2$%)A2zxQ8E zhcNndl0=?4GI@y1lbX*L{r)_=IAU+#IsHIN`7fK?X4zNrJ-{g*K7EbJ5v~dCf;+SY zrt(;=?B+w3=0!~)aSLmMPZG6{=n&blQ|B&SqoTWYkBRNkvsdpveG?LslC3EN2Br=g zJR~hWBXcP3<;fnFGdy>MB`~OAa7d%ZO`6sVpw-xa_}3EgTJdzD&6>B6Qo+WrRAG0c zPH!-laWT2NxqEn)EmyvRS4AG7Qf2QdK2^=te5==}S*x~Rox1hvH}DUjBK*T_|Gm*b zO4au7D!;#QLuS2YpY2}o{fxFI_2fFMPb@wBBC_i6uOB}+_4WrNuKiG0cHZvtE7skb zA5?wLj?Y}jpMCFo-ggn3KfJp1__Ez!Dn40O;p&)ri^^}DvVGq8sf+#grSz!Xbn=7D z^Q{vK8i$nee^mdw=9gZ~>^>>6!uId)E}c4O(%DA~p8PiY)6rWN6m>irxpiW|pty=p zYaM$yc4Q6nx#;V*O9$@M2^g1u@$&mUdVRg`gEud9`DWYn8CQ2rZ`$rNpEZZAJ4dgH z8R_xWy6a7s)c$qMvJDmWgEzmqd)A7W>}L-Y>n9c-x8B|o()Q19E^kR5+5X6xn*}i= z(>L$?c2lA4^oQr~t&0)%H#uFq!s0pys>kMxeKECQ%O@?CpUoR9LXHPd^WRuSwH_h*@6<&nnHC z+$DU(#Y_KcYZbGPl#+AN>(TsO`0G>tUkQ=AbD{L!E4?4{ckB859leXcYusb+JnYP% zKl7Gt?Cm%BclLgym_hH>o7!%sx7(5vztFqxwQ)2}%DZR2x&iOPz~%9m4j$lt#veY; zY+?A}Ms2a(B_D)FG?YTN_W<)@H<&lhe0<|Kd=> zIQN_bE9NX&-zY3T^PR6x-rRcV`PI{k6*cx7U;MWE@Wkj0{edm-d70LCYUAmD!SlyB zeaO!>*8jZn^Uwz)t4tY$DgM~ujBrF`Q#BA|X@tjyz5vdrhSf{wI z@KMGnCn~op?E(;u@S$M_)!DFh9v~z7lmIse)1osqd8q) z{D$K<3qNX*6ZqZ550)pvf?rqs(xh}YlpQw@3wG2$2la=&NJv5bZBqS_?EkSpSQ=1b zFYsf@f^%Dw*8#uYW`%IVsU1$Jf&uL*#Nf<=Zj#GAYHqUVem&N#86^tk%%4A0@Ix#um6`0&u91G6K@_)fXB3zgqV%=9{CqB~z z`JA5(@RBF+oTqkz&{-(&NW)LR=7I_dEIk#8&Iu-=EOaW6P6^uuGs^*&oxx8vDXu{{ z%U`ZJpTtwzRKzWg_1EPIg%Lz_)VU`pNM|LbbIh!c{^)=HIQ`cI??9aU^GDrbjly3z zzAh{>iqnb2EKrZmvliFp^>pyZsX#h|ON`_X9G#J#&MgmNbfCF#HIAS_t05XN=+wd zi86HB*@|yc2O;l37BdE6Nv!?o#3#k2*0X~bZSV!)-vCh64rn%V_eb0e)HML*p|j0& zzSRyNK`D-AR@$g7S}g+j0tR8Q0B>rUt};em^&RTLIfe*>Vt3Q-JnwYX^XZ%*hST9qmV&NW!# zG=_Q_>=P?!tPoX&T`iq06`UZh7QIpw3RR00d4eUdR9cnUbg0_LiSCnvs}H$dW1lW1 zV*T0FA1-JzFP5#O(%Nq<%PA~y8E+}jC@lrb-wKrq?4t4nYl_|Hwf-o&=bY?`R2i{5 zp_K|t8_q1F1C18FM%hE9@l^DP3G}qMlSk)i=#{`eUt-Tl4|KDb2&nbccDE)&Z%YpJ zv3L{2;Q8t`%s@X&Eecn9R&`#bOtzZo26QqSMYjzz2U!9GEj|@o0-NG{wLw9F4I2kH z>RZ7j$l~O+*#9l%lgh7rP5CVaqOUWd(00lK(G_hi8WaVhD6A=Z=lGvRzu&uQpE!Tv z&hg()KR46E=UJmk_5K{*`TF$}A)n71KPIEoE$v&-mF~gXG-bzA zhC97)d)6$MTj4;}s^Kp_pZoMe-Jf>vjLNz2>%dcj4J1B>!U z)O;~~y4@}7g36`pwy&n8#dyls!pZKE88JG`AW3c& za{pWV!Bg96Osn;7g$mc(epuAv-Q+*IznymF_+7tq^EEeSoYGlG=E@F z{{gq|9l7W`f40U$cp9@}PP>KUhdsLOGc%<1jo%xuYjWepdi%W=ma-!oTKBb@7^R)D zyyod)F*o|`ysSNO%Dd|JLwC-8cIxV)#LcR;Qwpxvi@Nn`Zg^}JgLtCc!STkn_nQpw zR()Z;#KR?j)zRGW5Z0pBwURmq&bVuxjA*zX6R(~|* zQtX6>Pqlj@8jbcW_vq(MSJ$Upn|JlB4-a7j_t z&L>;fB~(7Mb?JtPmV4&jSg`TkpM!i_UOkrQ8TZlb$xoNL8T((mn^kSXxC@=uf6%Sk zm*f4e^n9n5ty1T3`|>d@pH1l2cTJb)6_&4?+$*H_MR8@FA)580+HZJK^kB^-^p7iTisDsax&IK$v7t;^idiiA6aOvZ6(XFvq|&oaaS!gEfmM;V;BPEP;rdXkIV>A@-s0-++~R>C z(9+n_1Rr2;YH3OX0lu^jZ=i*||M7vUK=JaBpr9cEXY#1et+@R-%gx*WvmetxEpY1+ zy!pwTj?{X)~Ek}7iZm|bOj&NLpp$Kyxi?IvH((R{wQ=}EC{V4LIb zxa20kJ$m|^HHNHS7&-s?z&DPan-{azP=D9zpO)8KHA27ohnao$y;(_pJ!RN0LEUS4 z1YBF8i$1(Ad{h4)zwuXQuNZiDf7;#9xJBjfwcmWcN%G3{Us@K=8YL}jVi$`Rg_Xyn-`NoeoZ?>H}_NTYjzBQrp zPc7HH*Z-GyqQ+IavnZg?5$q(XhAL+jRz3Fdn*-_12Gv3Q@EWuU0jbw~vnK7jUxrrOf`W-P-4@ zdnjDkvQkkHe|kr`bz3W+=+Ws~(?zb=t4D6}`XYQ}yUROwWsNwWb*;v^?d|96zV)?t zuhU~E-{=x)DO&OVxf}gHTK)9Q=P4I=&dPu5=Jz){U5l(!`X97z9JTYp`0#hW(Rbc`VoBQo`-}(a4~Lt3*Z1uI=8U;5 zqZ*Do_4&jKXBT$8H}mr??F)y@K6d{5iSHTZA@L@L#OoF}jb769%84o{V}jEd_{zbk zq9Z|Bg{q8?0X7ku^|ckkEJhOdt|~$^!Q$$W{c4L6LqLgPE~`PPB5+FEFUzXCUih`> z+rXpM-wC$#r4&_F7>O)Vgw=|3o z3SxuZ8}i_W!LGX{+R|0_W3X%USA$(Zl04G=1%A6F|062AS(QJ_l0V&&Kh;4bf2AdV ztfiHlokA?%@UOC?!8HgWUk_5Sczu_B)V=a z36tD-OnK>QFMb^y89MBOzqv{&fyzeT0e2=WnSDMsx03(yAMFEt=NV_ZUr3rZr_Ib! z$8yU|*=ddUuix_FuB@YJW1nwp^^0L&v+WVfKfarKI%&Ia$dXz8t>dPQdbfRaj~~lS z8+oi!C-1w>+q~QT$mh=nUuvoKuQTszi^@w*Y^ahmz3Ij4$=`*y7(Sxc{c|>9_T-#ux_imgL_9NRn@1a_nkfS^4NPjKDgVy-r1+k zj%*FNm0okzmDROx9yxQ@w0e%;tl3>mEsS?`?|ff%SCH4m+q)Ya>bG!xWK+W)!`FL0 zTXkjaPp8XG?AES#lc1rsD~(xmulB>U^+V06v)A@{XJC3p(I)$@)@sdCv94dsf>xeg zQj9y+b-91xgE8J2ZhImc1ul;=BQ>(cGa@m5)wAt{&`Pj)wXkC-KWh!RG3(DoaWj7uzF*XS zYoEKbmgqZmaGR4?^@vbs_nLW2TD8mZ3E6XO@#2q0jPQNjVMf&zPa>-4-Cy`{``}HT zW?lR(dw8WAzc!we>(%MS_v@+;%)Yw%@zZyIGv@u8+HCbx%S~11_s^ZnPD`5F;^=~& zU8A<=_3~Xb+&!q;h+AQXHLad3JMc;Wor@;U>ov4z*ADG=wE1q{uzrTT4uhZNezbFI zTH2uRy4yTmMnoSBEGXB{Qc$iJrhu0G8UN{l>$S5$r-^A{{wfOukTfsUD+9|o6nRWk zG1n`ewi*LX&_9d)aN{=zw+n0H=lLYxjvt|JMMDS;5G`ufAoQFeXGyD*Qrd? zN8!&hww%A0G_sZMPL<8q$E=&WV&yx%&*v@B?hU&ZRetKu7CXBf%(_3n_C<~L4Y!sj z*DmgMAW3X{toxZZ%6nPU#(dEsRM93>oHES)@GlLXu333Ha&edWZUd}!r{CK&;J4tx zF-^>o%_A($j+ih1T6Czu^hcw@{9v2+MRVu~60*|AB9dxu1*(W@<0kjz>dtSCr6o}n4Mwtt6+@!ETYz^8r z$B@9gtGuHCG7^=h{fK@n56`Z<=7l~&&#o6xGD+0&} zV(ZBE7xw0N`L&9y*j5ImDmbaJSGK=V?~4k*R5%!MrD|^Q^Im(a^)QyuMo%V%#!U*G za<}bUBimQr-Ed&v@o7CQJ-Id-Wr5kH5M~#LP2`_xqu^HbE-)&YT`bJ(638^szOp6< zO_U6)9c4c>(Uz|pM#!#Htckt`cWHZzC)J>)s*J@TXQ9-U>b@`*ibA8YgMK)*{NvNg zfa{URw!F3b%z?A3ADn#_QuE#JyCMpYv@5E6zg*z_?b>@C7FT_%bK$1_&6oBOl03_f zK3OZ&wk>q%tnR8qpIzCz>%E(6ejT`R)7zO_TU@$&?Zy>N{kxT}Et)c^!S~&D6PiCW zk34yy|GsJ2=OX3|KQON7=tmt6)p6H%e*A&=hGV;Tgha;vHumeb8(TmB&T89yzDCDM zF_kMv7Jc~hXXEPyZoAg6mtVEtZ?4fzYq@Yuxww6!hQ`)DX%qa?Go!XFU9x{k{2wtR z#(e+ao=Ndj(6mOUh6wqawtKEL?+u=`H+%1ePQJdev&DMPeY?NEVfWq7vhCH%md*B_ zXzZETC-Ft14z}o_5PW@PBZNM`E;B+XN)hY7j}d|kJ`1c4kaP_jg@lmc3*p{i^8Sa# z^503S_>)M?8aOL+lORri5 zAGdQk^6UMG{Da$TycyK{&GvVCM@$GB=VMP8Ff~3ucFo}rJ5SsB&C>oy6Fk%X_EdT_ zA@8em2~XSatX-wX0FSIn)h4a(l>AO~;+p=?a;mnt-79vIk^zZMX_x#-@{$y+}W zcbfGd4nO#G%Z~5D`@d0szNn7!?IKI6tB_O||8ffcO40ORG6g^RXV3i~{IWPMap2Jw z)2H0f%}2m4y!LNfBv{vT1CscuXm?>H|X5`Yqy7Q{dU>HnwK7Jxj8tt zm#$v7f^d%~U&g$5;NF`alZG8=-8yXE&v6xA#65bWLdfhIJv-TNwQ<|Kdi$6?W9~E_ z)wh-RojJK3r*;=sH*u|SKOi^X`qT0agD-!3=+Av4gp5v>@EX3&58qTSnfXDVI$JhA zQ(egXD5zuYXFXO2Jl}Zb{f1v9#?L+7tM&Ci4$VoK^4^OtfRz6*~@1 zTJTo2v|aN*Uflfgm{BtaO&Pv4?bwC+kE%Rv^5gV-dzKhxPWWW&!b+=DZN`4FA#a{< z6Z3|eSCVf$xVL?DQlFZxBmA588n$@orT^?9^U#@0VB2E_%9Eaby)G>Y}V+6!5KNr^Y<6& zS2q3X#-9B@7Oc-YSmoXq<3*pmCzao+8{2ekzf*f%ddwN|wyl}&>g)!;PCnnz-=og` z9Rabmt3BAevg;|oFV-wSJ#%eQo5kN9t{B$k{Den!=YH&-VmbbmJ*d;Uq_^(RnG{g@ z+iI)(Y*_Vkc=K7&Lw{IwYyxpbW&v&8<->uxYpv(^~A0N1JW@g($*v9hnJ{kQV9< zZ#%X$)MZ^!@3_ZPTn5#heQ4=(eR#neo$J>AJ!^(0RbgLv{Fm5whJJovX646YkLdRI zJTq@UFt-*->=wSAZS>+bwAHn2eHg1MufarB4(*%sxtq*qK`ooz`4 zVn<6Qhs6QLB$pC4g_rC_FOpYHn~|#axj@2g(4 z^X2Pi;}D?%0jg^h2$_hMcBeHra{FRZt1!h4Gg z^W$$+9ho*SKdDyOyH}rI60*Pj_HxsC`;M$UHac?XT1Ap&(!$fVo0^qRbE18F&CQ=z zBvv|A`-ZBP>*^D+Uk!h;(^B6xC34mK4L*%bd{!9hKTmbNsODacXTYYbk5k^wTM{-u zb<>Q`|D1U6P-NWt5oNv^zy0TXtyg$gF34{B;qIoDHpWlb(!R}+k^a6@#+(S;_Heb^ zp39?u{JCfOEg7p;=;tkMJ$lgMX+0)SwAQ+KAji;t?||GtdQ2bu=frJW?>~q;lGXp) g)xj}Ok0*W=^SHOrzD3*k^XXT1Csx8$F8uF*0admHApigX literal 0 HcmV?d00001 diff --git a/packages/System.Memory.4.5.4/lib/netstandard1.1/System.Memory.xml b/packages/System.Memory.4.5.4/lib/netstandard1.1/System.Memory.xml new file mode 100755 index 0000000..de9af89 --- /dev/null +++ b/packages/System.Memory.4.5.4/lib/netstandard1.1/System.Memory.xml @@ -0,0 +1,355 @@ + + + System.Memory + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/packages/System.Memory.4.5.4/lib/netstandard2.0/System.Memory.dll b/packages/System.Memory.4.5.4/lib/netstandard2.0/System.Memory.dll new file mode 100755 index 0000000000000000000000000000000000000000..953a9d2e3926e4b91f396529b4751605a0b6ca4e GIT binary patch literal 141688 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

7=ue!+T%+z0Xku#a8 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