瀏覽代碼

添加下载模块COS 和Minio 未接入

胡佳骏 1 年之前
父節點
當前提交
0c7c696f37
共有 100 個文件被更改,包括 11310 次插入0 次删除
  1. 8 0
      Assets/DownLoadXR.meta
  2. 11 0
      Assets/DownLoadXR/DownLoadCOSXRItem.cs
  3. 11 0
      Assets/DownLoadXR/DownLoadCOSXRItem.cs.meta
  4. 11 0
      Assets/DownLoadXR/DownLoadMinIOXRItem.cs
  5. 11 0
      Assets/DownLoadXR/DownLoadMinIOXRItem.cs.meta
  6. 48 0
      Assets/DownLoadXR/DownLoadURLXRItem.cs
  7. 11 0
      Assets/DownLoadXR/DownLoadURLXRItem.cs.meta
  8. 166 0
      Assets/DownLoadXR/DownLoadXRManager.cs
  9. 11 0
      Assets/DownLoadXR/DownLoadXRManager.cs.meta
  10. 342 0
      Assets/DownLoadXR/MinIoXR.cs
  11. 11 0
      Assets/DownLoadXR/MinIoXR.cs.meta
  12. 16 0
      Assets/DownLoadXR/NuGet.config
  13. 23 0
      Assets/DownLoadXR/NuGet.config.meta
  14. 8 0
      Assets/DownLoadXR/NuGet.meta
  15. 9 0
      Assets/DownLoadXR/NuGet/Editor.meta
  16. 二進制
      Assets/DownLoadXR/NuGet/Editor/NugetForUnity.dll
  17. 33 0
      Assets/DownLoadXR/NuGet/Editor/NugetForUnity.dll.meta
  18. 21 0
      Assets/DownLoadXR/NuGet/LICENSE
  19. 8 0
      Assets/DownLoadXR/NuGet/LICENSE.meta
  20. 二進制
      Assets/DownLoadXR/NuGet/README.pdf
  21. 8 0
      Assets/DownLoadXR/NuGet/README.pdf.meta
  22. 9 0
      Assets/DownLoadXR/NuGet/Resources.meta
  23. 二進制
      Assets/DownLoadXR/NuGet/Resources/defaultIcon.png
  24. 88 0
      Assets/DownLoadXR/NuGet/Resources/defaultIcon.png.meta
  25. 8 0
      Assets/DownLoadXR/Packages.meta
  26. 8 0
      Assets/DownLoadXR/Packages/CommunityToolkit.HighPerformance.8.2.2.meta
  27. 二進制
      Assets/DownLoadXR/Packages/CommunityToolkit.HighPerformance.8.2.2/.signature.p7s
  28. 46 0
      Assets/DownLoadXR/Packages/CommunityToolkit.HighPerformance.8.2.2/CommunityToolkit.HighPerformance.nuspec
  29. 7 0
      Assets/DownLoadXR/Packages/CommunityToolkit.HighPerformance.8.2.2/CommunityToolkit.HighPerformance.nuspec.meta
  30. 二進制
      Assets/DownLoadXR/Packages/CommunityToolkit.HighPerformance.8.2.2/Icon.png
  31. 135 0
      Assets/DownLoadXR/Packages/CommunityToolkit.HighPerformance.8.2.2/Icon.png.meta
  32. 13 0
      Assets/DownLoadXR/Packages/CommunityToolkit.HighPerformance.8.2.2/License.md
  33. 7 0
      Assets/DownLoadXR/Packages/CommunityToolkit.HighPerformance.8.2.2/License.md.meta
  34. 143 0
      Assets/DownLoadXR/Packages/CommunityToolkit.HighPerformance.8.2.2/ThirdPartyNotices.txt
  35. 7 0
      Assets/DownLoadXR/Packages/CommunityToolkit.HighPerformance.8.2.2/ThirdPartyNotices.txt.meta
  36. 8 0
      Assets/DownLoadXR/Packages/CommunityToolkit.HighPerformance.8.2.2/lib.meta
  37. 8 0
      Assets/DownLoadXR/Packages/CommunityToolkit.HighPerformance.8.2.2/lib/netstandard2.1.meta
  38. 二進制
      Assets/DownLoadXR/Packages/CommunityToolkit.HighPerformance.8.2.2/lib/netstandard2.1/CommunityToolkit.HighPerformance.dll
  39. 23 0
      Assets/DownLoadXR/Packages/CommunityToolkit.HighPerformance.8.2.2/lib/netstandard2.1/CommunityToolkit.HighPerformance.dll.meta
  40. 6373 0
      Assets/DownLoadXR/Packages/CommunityToolkit.HighPerformance.8.2.2/lib/netstandard2.1/CommunityToolkit.HighPerformance.xml
  41. 7 0
      Assets/DownLoadXR/Packages/CommunityToolkit.HighPerformance.8.2.2/lib/netstandard2.1/CommunityToolkit.HighPerformance.xml.meta
  42. 8 0
      Assets/DownLoadXR/Packages/Microsoft.Bcl.AsyncInterfaces.7.0.0.meta
  43. 二進制
      Assets/DownLoadXR/Packages/Microsoft.Bcl.AsyncInterfaces.7.0.0/.signature.p7s
  44. 二進制
      Assets/DownLoadXR/Packages/Microsoft.Bcl.AsyncInterfaces.7.0.0/Icon.png
  45. 135 0
      Assets/DownLoadXR/Packages/Microsoft.Bcl.AsyncInterfaces.7.0.0/Icon.png.meta
  46. 23 0
      Assets/DownLoadXR/Packages/Microsoft.Bcl.AsyncInterfaces.7.0.0/LICENSE.TXT
  47. 7 0
      Assets/DownLoadXR/Packages/Microsoft.Bcl.AsyncInterfaces.7.0.0/LICENSE.TXT.meta
  48. 31 0
      Assets/DownLoadXR/Packages/Microsoft.Bcl.AsyncInterfaces.7.0.0/Microsoft.Bcl.AsyncInterfaces.nuspec
  49. 7 0
      Assets/DownLoadXR/Packages/Microsoft.Bcl.AsyncInterfaces.7.0.0/Microsoft.Bcl.AsyncInterfaces.nuspec.meta
  50. 1145 0
      Assets/DownLoadXR/Packages/Microsoft.Bcl.AsyncInterfaces.7.0.0/THIRD-PARTY-NOTICES.TXT
  51. 7 0
      Assets/DownLoadXR/Packages/Microsoft.Bcl.AsyncInterfaces.7.0.0/THIRD-PARTY-NOTICES.TXT.meta
  52. 8 0
      Assets/DownLoadXR/Packages/Microsoft.Bcl.AsyncInterfaces.7.0.0/buildTransitive.meta
  53. 8 0
      Assets/DownLoadXR/Packages/Microsoft.Bcl.AsyncInterfaces.7.0.0/buildTransitive/net461.meta
  54. 6 0
      Assets/DownLoadXR/Packages/Microsoft.Bcl.AsyncInterfaces.7.0.0/buildTransitive/net461/Microsoft.Bcl.AsyncInterfaces.targets
  55. 7 0
      Assets/DownLoadXR/Packages/Microsoft.Bcl.AsyncInterfaces.7.0.0/buildTransitive/net461/Microsoft.Bcl.AsyncInterfaces.targets.meta
  56. 8 0
      Assets/DownLoadXR/Packages/Microsoft.Bcl.AsyncInterfaces.7.0.0/buildTransitive/net462.meta
  57. 0 0
      Assets/DownLoadXR/Packages/Microsoft.Bcl.AsyncInterfaces.7.0.0/buildTransitive/net462/_._
  58. 7 0
      Assets/DownLoadXR/Packages/Microsoft.Bcl.AsyncInterfaces.7.0.0/buildTransitive/net462/_._.meta
  59. 8 0
      Assets/DownLoadXR/Packages/Microsoft.Bcl.AsyncInterfaces.7.0.0/lib.meta
  60. 8 0
      Assets/DownLoadXR/Packages/Microsoft.Bcl.AsyncInterfaces.7.0.0/lib/netstandard2.1.meta
  61. 二進制
      Assets/DownLoadXR/Packages/Microsoft.Bcl.AsyncInterfaces.7.0.0/lib/netstandard2.1/Microsoft.Bcl.AsyncInterfaces.dll
  62. 23 0
      Assets/DownLoadXR/Packages/Microsoft.Bcl.AsyncInterfaces.7.0.0/lib/netstandard2.1/Microsoft.Bcl.AsyncInterfaces.dll.meta
  63. 124 0
      Assets/DownLoadXR/Packages/Microsoft.Bcl.AsyncInterfaces.7.0.0/lib/netstandard2.1/Microsoft.Bcl.AsyncInterfaces.xml
  64. 7 0
      Assets/DownLoadXR/Packages/Microsoft.Bcl.AsyncInterfaces.7.0.0/lib/netstandard2.1/Microsoft.Bcl.AsyncInterfaces.xml.meta
  65. 0 0
      Assets/DownLoadXR/Packages/Microsoft.Bcl.AsyncInterfaces.7.0.0/useSharedDesignerContext.txt
  66. 7 0
      Assets/DownLoadXR/Packages/Microsoft.Bcl.AsyncInterfaces.7.0.0/useSharedDesignerContext.txt.meta
  67. 8 0
      Assets/DownLoadXR/Packages/Microsoft.Extensions.DependencyInjection.7.0.0.meta
  68. 二進制
      Assets/DownLoadXR/Packages/Microsoft.Extensions.DependencyInjection.7.0.0/.signature.p7s
  69. 二進制
      Assets/DownLoadXR/Packages/Microsoft.Extensions.DependencyInjection.7.0.0/Icon.png
  70. 135 0
      Assets/DownLoadXR/Packages/Microsoft.Extensions.DependencyInjection.7.0.0/Icon.png.meta
  71. 23 0
      Assets/DownLoadXR/Packages/Microsoft.Extensions.DependencyInjection.7.0.0/LICENSE.TXT
  72. 7 0
      Assets/DownLoadXR/Packages/Microsoft.Extensions.DependencyInjection.7.0.0/LICENSE.TXT.meta
  73. 38 0
      Assets/DownLoadXR/Packages/Microsoft.Extensions.DependencyInjection.7.0.0/Microsoft.Extensions.DependencyInjection.nuspec
  74. 7 0
      Assets/DownLoadXR/Packages/Microsoft.Extensions.DependencyInjection.7.0.0/Microsoft.Extensions.DependencyInjection.nuspec.meta
  75. 1145 0
      Assets/DownLoadXR/Packages/Microsoft.Extensions.DependencyInjection.7.0.0/THIRD-PARTY-NOTICES.TXT
  76. 7 0
      Assets/DownLoadXR/Packages/Microsoft.Extensions.DependencyInjection.7.0.0/THIRD-PARTY-NOTICES.TXT.meta
  77. 8 0
      Assets/DownLoadXR/Packages/Microsoft.Extensions.DependencyInjection.7.0.0/buildTransitive.meta
  78. 8 0
      Assets/DownLoadXR/Packages/Microsoft.Extensions.DependencyInjection.7.0.0/buildTransitive/net461.meta
  79. 6 0
      Assets/DownLoadXR/Packages/Microsoft.Extensions.DependencyInjection.7.0.0/buildTransitive/net461/Microsoft.Extensions.DependencyInjection.targets
  80. 7 0
      Assets/DownLoadXR/Packages/Microsoft.Extensions.DependencyInjection.7.0.0/buildTransitive/net461/Microsoft.Extensions.DependencyInjection.targets.meta
  81. 8 0
      Assets/DownLoadXR/Packages/Microsoft.Extensions.DependencyInjection.7.0.0/buildTransitive/net462.meta
  82. 0 0
      Assets/DownLoadXR/Packages/Microsoft.Extensions.DependencyInjection.7.0.0/buildTransitive/net462/_._
  83. 7 0
      Assets/DownLoadXR/Packages/Microsoft.Extensions.DependencyInjection.7.0.0/buildTransitive/net462/_._.meta
  84. 8 0
      Assets/DownLoadXR/Packages/Microsoft.Extensions.DependencyInjection.7.0.0/buildTransitive/net6.0.meta
  85. 0 0
      Assets/DownLoadXR/Packages/Microsoft.Extensions.DependencyInjection.7.0.0/buildTransitive/net6.0/_._
  86. 7 0
      Assets/DownLoadXR/Packages/Microsoft.Extensions.DependencyInjection.7.0.0/buildTransitive/net6.0/_._.meta
  87. 8 0
      Assets/DownLoadXR/Packages/Microsoft.Extensions.DependencyInjection.7.0.0/buildTransitive/netcoreapp2.0.meta
  88. 6 0
      Assets/DownLoadXR/Packages/Microsoft.Extensions.DependencyInjection.7.0.0/buildTransitive/netcoreapp2.0/Microsoft.Extensions.DependencyInjection.targets
  89. 7 0
      Assets/DownLoadXR/Packages/Microsoft.Extensions.DependencyInjection.7.0.0/buildTransitive/netcoreapp2.0/Microsoft.Extensions.DependencyInjection.targets.meta
  90. 8 0
      Assets/DownLoadXR/Packages/Microsoft.Extensions.DependencyInjection.7.0.0/lib.meta
  91. 8 0
      Assets/DownLoadXR/Packages/Microsoft.Extensions.DependencyInjection.7.0.0/lib/netstandard2.1.meta
  92. 二進制
      Assets/DownLoadXR/Packages/Microsoft.Extensions.DependencyInjection.7.0.0/lib/netstandard2.1/Microsoft.Extensions.DependencyInjection.dll
  93. 23 0
      Assets/DownLoadXR/Packages/Microsoft.Extensions.DependencyInjection.7.0.0/lib/netstandard2.1/Microsoft.Extensions.DependencyInjection.dll.meta
  94. 558 0
      Assets/DownLoadXR/Packages/Microsoft.Extensions.DependencyInjection.7.0.0/lib/netstandard2.1/Microsoft.Extensions.DependencyInjection.xml
  95. 7 0
      Assets/DownLoadXR/Packages/Microsoft.Extensions.DependencyInjection.7.0.0/lib/netstandard2.1/Microsoft.Extensions.DependencyInjection.xml.meta
  96. 0 0
      Assets/DownLoadXR/Packages/Microsoft.Extensions.DependencyInjection.7.0.0/useSharedDesignerContext.txt
  97. 7 0
      Assets/DownLoadXR/Packages/Microsoft.Extensions.DependencyInjection.7.0.0/useSharedDesignerContext.txt.meta
  98. 8 0
      Assets/DownLoadXR/Packages/Microsoft.Extensions.DependencyInjection.Abstractions.7.0.0.meta
  99. 二進制
      Assets/DownLoadXR/Packages/Microsoft.Extensions.DependencyInjection.Abstractions.7.0.0/.signature.p7s
  100. 二進制
      Assets/DownLoadXR/Packages/Microsoft.Extensions.DependencyInjection.Abstractions.7.0.0/Icon.png

+ 8 - 0
Assets/DownLoadXR.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 8bc0e9634681798499e14ea19db45ecb
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 11 - 0
Assets/DownLoadXR/DownLoadCOSXRItem.cs

@@ -0,0 +1,11 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+public class DownLoadCOSXRItem : MonoBehaviour
+{
+    public void startDownload()
+    {
+
+    }
+}

+ 11 - 0
Assets/DownLoadXR/DownLoadCOSXRItem.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 778a4cf6f5d84204084a1c1859a07d3e
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 11 - 0
Assets/DownLoadXR/DownLoadMinIOXRItem.cs

@@ -0,0 +1,11 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+public class DownLoadMinIOXRItem : MonoBehaviour
+{
+    public void startDownload()
+    {
+
+    }
+}

+ 11 - 0
Assets/DownLoadXR/DownLoadMinIOXRItem.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: c621ffef7259b284c87d8fadc2446eaf
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 48 - 0
Assets/DownLoadXR/DownLoadURLXRItem.cs

@@ -0,0 +1,48 @@
+using System.Collections;
+using System.Collections.Generic;
+using System.IO;
+using UnityEngine;
+using UnityEngine.Networking;
+using static DownLoadXRManager;
+
+public class DownLoadURLXRItem : MonoBehaviour
+{
+    public void startDownload(DownLoadCosConfig config)
+    {
+        StartCoroutine(ReadStreamingAssetsFile(config));
+    }
+    IEnumerator ReadStreamingAssetsFile(DownLoadCosConfig config)
+    {
+        if (DownLoadXRManager.downLoadCache.ContainsKey(config.url))
+        {
+            yield return null;
+            config.bytes?.Invoke(DownLoadXRManager.downLoadCache[config.url]);
+        }
+        else
+        {
+            string filePath = config.url;
+            Debug.Log("×¼±¸ÏÂÔØ" + filePath);
+            UnityWebRequest www = UnityWebRequest.Get(filePath);
+            www.SendWebRequest();
+
+            while (!www.isDone)
+            {
+                config.presson?.Invoke(www.downloadProgress);
+                yield return null;
+            }
+
+            if (www.result != UnityWebRequest.Result.ConnectionError && www.isDone)
+            {
+                byte[] bytes = www.downloadHandler.data;
+                config.bytes?.Invoke(bytes);
+                if(!DownLoadXRManager.downLoadCache.ContainsKey(config.url))
+                DownLoadXRManager.downLoadCache.Add(config.url, bytes);
+            }
+            else
+            {
+                config.bytes?.Invoke(null);
+            }
+        }
+        Destroy(this.gameObject);
+    }
+}

+ 11 - 0
Assets/DownLoadXR/DownLoadURLXRItem.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 3bf299d5a07c506458363c8891e5afcb
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 166 - 0
Assets/DownLoadXR/DownLoadXRManager.cs

@@ -0,0 +1,166 @@
+using LitJson;
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using System.IO;
+using UnityEngine;
+
+public class DownLoadXRManager
+{
+    public static Dictionary<string, byte[]> downLoadCache = new Dictionary<string, byte[]>();
+    public static bool DownLoadForBytes(string msg, Action<byte[]> bytes, Action<float> presson)
+    {
+        JsonData data = JsonMapper.ToObject(msg);
+        if(data["drive"].ToString()== "minio")
+        {
+            return false;
+        }
+        else if (data["drive"].ToString() == "COS")
+        {
+            return false;
+        }
+        else
+        {
+
+            DownLoadCosConfig config = new DownLoadCosConfig();
+            config.url = data["url"].ToString();
+            config.bytes = bytes;
+            config.presson = presson;
+            GameObject go = GameObject.Instantiate(Resources.Load<GameObject>("DownLoadURLXRingItem"));
+            DownLoadURLXRItem dlitem = go.GetComponent<DownLoadURLXRItem>();
+            dlitem.startDownload(config);
+        }
+        return true;
+    }
+
+    public static bool DownLoadForFilePath(string msg, Action<string> bytes, Action<float> presson)
+    {
+        string Url = "";
+        JsonData data = JsonMapper.ToObject(msg);
+        if (data["drive"].ToString() == "minio")
+        {
+            return false;
+        }
+        else if (data["drive"].ToString() == "COS")
+        { 
+            return false;
+        }
+        else
+        {
+            Url = data["url"].ToString();
+        }
+        if (PlayerPrefs.HasKey(Url))
+        {
+            bytes?.Invoke(PlayerPrefs.GetString("DownLoadXR_" + Url));
+            return true;
+        }
+
+       
+        return DownLoadForBytes(msg, (byte[] fileBytes) => { 
+            if(fileBytes!=null)
+            {
+                if (PlayerPrefs.HasKey(Url))
+                {
+                    bytes?.Invoke(PlayerPrefs.GetString("DownLoadXR_" + Url));
+                }else
+                {
+                    //文件流信息  
+                    //StreamWriter sw;  
+                    Stream sw;
+                    string path = Application.persistentDataPath + "/DownLoadXR/" + Url.Split("/")[Url.Split("/").Length - 1];
+                    Debug.Log("准备存文件===》"+path);
+                    FileInfo file = new FileInfo(path);
+                    if (file.Exists)
+                    {
+                        file.Delete();
+                    }
+                    if (!Directory.Exists(Application.persistentDataPath + "/DownLoadXR"))
+                    {
+                        Directory.CreateDirectory(Application.persistentDataPath + "/DownLoadXR");
+                    }
+                    //如果此文件存在则打开  
+                    //sw = file .Append();  
+                    //如果此文件不存在则创建  
+                    sw = file.Create();
+
+                    //以行的形式写入信息  
+                    //sw.WriteLine(info);  
+                    sw.Write(fileBytes, 0, fileBytes.Length);
+                    sw.Close();
+                    sw.Dispose();
+
+                    bytes?.Invoke(path);
+                    PlayerPrefs.SetString("DownLoadXR_" + Url, path);
+                }
+            }
+            else
+            {
+                bytes?.Invoke(null);
+            }
+        
+        
+        }, presson);
+    }
+
+
+    public static bool DownLoadForTexture(string msg, Action<Texture2D> bytes, Action<float> presson)
+    {
+        string Url = "";
+        JsonData data = JsonMapper.ToObject(msg);
+        if (data["drive"].ToString() == "minio")
+        {
+            return false;
+        }
+        else if (data["drive"].ToString() == "COS")
+        {
+            return false;
+        }
+        else
+        {
+            Url = data["url"].ToString();
+        }
+
+        return DownLoadForBytes(msg, (byte[] fileBytes) => {
+            if (fileBytes != null)
+            {
+                Texture2D tex = new Texture2D(10,10);
+                tex.LoadImage(fileBytes);
+                bytes?.Invoke(tex);
+            }
+            else
+            {
+                bytes?.Invoke(null);
+            }
+
+
+        }, presson);
+    }
+
+    public static string getTestData(string url)
+    {
+        JsonData data = new JsonData();
+        data["drive"] = "URL";
+        data["url"] = url;
+        return data.ToJson();
+    }
+    public class DownLoadUrlConfig
+    {
+        public string url;
+        public Action<byte[]> bytes;
+        public Action<float> presson;
+    }
+
+    public class DownLoadMinIoConfig
+    {
+        public string url;
+        public Action<byte[]> bytes;
+        public Action<float> presson;
+    }
+
+    public class DownLoadCosConfig
+    {
+        public string url;
+        public Action<byte[]> bytes;
+        public Action<float> presson;
+    }
+}

+ 11 - 0
Assets/DownLoadXR/DownLoadXRManager.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 10acf8ebfeaf4164691581df0c67a0eb
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 342 - 0
Assets/DownLoadXR/MinIoXR.cs

@@ -0,0 +1,342 @@
+
+using Minio;
+using Minio.DataModel.Args;
+using Minio.Exceptions;
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using System.IO;
+using System.Threading;
+using System.Threading.Tasks;
+using UnityEngine;
+using UnityEngine.Networking;
+
+public class MinIoXR 
+{
+    IMinioClient minio;
+    MinIOConfig minioconfig;
+
+    int projectId;
+    Thread thread;
+    private void Start()
+    {
+        thread = new Thread(DoSomeWork);
+        thread.Start();
+    }
+    int miao = 0;
+    bool isminioUpdate;
+    bool isUpdate;
+    void DoSomeWork()
+    {
+        while (true)
+        {
+            if (minio == null)
+            {
+            }
+            else
+            {
+                if (Nowfd != null && !isUpdate)
+                {
+                    isUpdate = true;
+                    Run().Wait();
+                }
+                if ( gfdQueue.Count > 0 && !isDownLoad)
+                {
+                    isDownLoad = true;
+                    nowgfd = gfdQueue.Dequeue();
+                    RunFile().Wait();
+                }
+            }
+            Thread.Sleep(1000);
+            miao++;
+            if(miao>2400)
+            {
+                miao = 0;
+                minio = null;
+            }
+        }
+    }
+
+    public class MinIOConfig
+    {
+        public string token;
+        public string tmpSecretId;
+        public string tmpSecretKey;
+        public string host;
+        public string bucket;
+        public string path;
+    }
+
+    void initMinIo(MinIOConfig d,Action<bool> isSuccess)
+    {
+        minioconfig = d;
+        try
+        {
+            bool isHttps = d.host.Contains("https");
+            var endpoint = d.host.Split("//")[1];
+            var accessKey = d.tmpSecretId;//"tr6Nh5D8bnlGaLJE6vb5";
+            var secretKey = d.tmpSecretKey;// "aVOYdXLnX4MCiKbit8aomZNWvAx8YSpzhiwzFhrI";
+            minio = new MinioClient()
+                                .WithEndpoint(endpoint)
+                                .WithCredentials(accessKey, secretKey)
+                                .WithSessionToken(d.token)
+                                .WithSSL(isHttps)
+                                .Build();
+            isSuccess.Invoke(true);
+        }
+        catch
+        {
+
+            isSuccess.Invoke(false);
+        }
+    }
+
+    Queue<FileData> fdQueue = new Queue<FileData>();
+    void putFile(string filePath, string fileName, Action<string> callBack)
+    {
+        FileData fd = new FileData();
+        fd.filePath = filePath;
+        fd.fileName = fileName;
+        fd.callBack = callBack;
+        fdQueue.Enqueue(fd);
+    }
+    string DicName = "XunJian";
+    public void saveFile(byte[] bytes, int projectId, string Index, int imgIndex, Action<string> callBack)
+    {
+        this.projectId = projectId;
+        if (!Directory.Exists(Application.persistentDataPath + "/" + DicName))
+            Directory.CreateDirectory(Application.persistentDataPath + "/" + DicName);
+
+        string fileName = DicName + "_" + projectId + "_" + Index + "_" + imgIndex + ".png";
+        string filePathname = Application.persistentDataPath + "/" + DicName + "/" + fileName;
+      //  if (File.Exists(filePathname))
+      //      File.Delete(filePathname);
+        File.WriteAllBytes(filePathname, bytes);
+
+       // PlayerPrefs.SetString(fileName, filePathname);
+        putFile(filePathname, fileName, callBack);
+
+    }
+    /// <summary>
+    /// 运行模式下Texture转换成Texture2D
+    /// </summary>
+    /// <param name="texture"></param>
+    /// <returns></returns>
+    private Texture2D TextureToTexture2D(Texture texture)
+    {
+        Texture2D texture2D = new Texture2D(texture.width, texture.height, TextureFormat.RGBA32, false);
+        RenderTexture currentRT = RenderTexture.active;
+        RenderTexture renderTexture = RenderTexture.GetTemporary(texture.width, texture.height, 32);
+        Graphics.Blit(texture, renderTexture);
+
+        RenderTexture.active = renderTexture;
+        texture2D.ReadPixels(new Rect(0, 0, renderTexture.width, renderTexture.height), 0, 0);
+        texture2D.Apply();
+
+        RenderTexture.active = currentRT;
+        RenderTexture.ReleaseTemporary(renderTexture);
+
+        return texture2D;
+    }
+
+    /// <summary>
+    /// 获取文件
+    /// </summary>
+    /// <param name="projectId">巡检ID</param>
+    /// <param name="Index">步骤ID</param>
+    /// <param name="imgIndex">步骤ID内图片ID</param>
+    /// <param name="callBack"></param>
+    public void getFile(int projectId, string Index, int imgIndex, Action<Texture2D> callBack)//, string path
+    {
+        this.projectId = projectId;
+
+
+
+       
+        string fileName = DicName + "_" + projectId + "_" + Index + "_" + imgIndex + ".png";
+        string filePathname = PlayerPrefs.GetString(fileName);
+        if (filePathname != "")
+        {
+           // StartCoroutine(_GetTexture(filePathname, callBack));
+        }
+        else
+        {
+            GetFileData gfd = new GetFileData();
+            gfd.bucket = minioconfig.bucket;
+            gfd.objectName = DicName + "_" + projectId + "_" + Index + "_" + imgIndex + ".png";
+            gfd.callBack = callBack;
+            gfdQueue.Enqueue(gfd);
+        }
+    }
+    GetFileData nowgfd;
+    Queue<byte[]> backQueue = new Queue<byte[]>();
+    Queue<GetFileData> gfdQueue = new Queue<GetFileData>();
+    // File uploader task.
+    private async Task RunFile()
+    {
+        try
+        {
+
+            StatObjectArgs statObjectArgs = new StatObjectArgs()
+                                              .WithBucket(minioconfig.bucket)
+                                              .WithObject(minioconfig.path + "/" + nowgfd.objectName);
+            await minio.StatObjectAsync(statObjectArgs);
+
+            // Get input stream to have content of 'my-objectname' from 'my-bucketname'
+            GetObjectArgs getObjectArgs = new GetObjectArgs()
+                                              .WithBucket(minioconfig.bucket)
+                                              .WithObject(minioconfig.path + "/" + nowgfd.objectName)
+                                             // .WithHeaders(metaData)
+                                              .WithCallbackStream(async (stream) =>
+                                              {
+                                                  backQueue.Enqueue(StreamToBytes(stream));
+
+                                              });
+            await minio.GetObjectAsync(getObjectArgs);
+
+        }
+        catch
+        {
+            backQueue.Enqueue(null);
+
+        }
+    }
+     static byte[] StreamToBytes(Stream stream)
+    {
+        byte[] bytes = new byte[stream.Length];
+        stream.Read(bytes, 0, bytes.Length);
+        stream.Seek(0, SeekOrigin.Begin);
+        return bytes;
+    }
+    /// <summary>
+    /// 请求图片
+    /// </summary>
+    /// <param name="url">图片地址,like 'http://www.my-server.com/image.png '</param>
+    /// <param name="action">请求发起后处理回调结果的委托,处理请求结果的图片</param>
+    /// <returns></returns>
+    IEnumerator _GetTexture(string url, Action<Texture2D> actionResult)
+    {
+#if UNITY_ANDROID
+        //Debug.LogError("请求图片:"+url);
+        WWW w = new WWW("file://" + url);
+        yield return w;
+        if (w.isDone)
+            actionResult?.Invoke(w.texture);
+#else
+
+        UnityWebRequest uwr = new UnityWebRequest(url);
+        DownloadHandlerTexture downloadTexture = new DownloadHandlerTexture(true);
+        uwr.downloadHandler = downloadTexture;
+        yield return uwr.SendWebRequest();
+        Texture2D t = null;
+        if (!(uwr.isNetworkError || uwr.isHttpError))
+        {
+            t = downloadTexture.texture;
+        }
+        else
+        {
+            Debug.Log("下载失败,请检查网络,或者下载地址是否正确: " + uwr.error);
+        }
+
+        if (actionResult != null)
+        {
+            actionResult(t);
+        }
+#endif
+    }
+    // File uploader task.
+    private async Task Run()
+    {
+        try
+        {
+
+            var getListBucketsTask = await minio.ListBucketsAsync().ConfigureAwait(false);
+            var bucketName = minioconfig.bucket;
+            var objectName = minioconfig.path + "/" + Nowfd.fileName;
+            var filePath = Nowfd.filePath;
+            var contentType = "application/octet-stream";
+
+            // Make a bucket on the server, if not already present.
+
+            // Upload a file to bucket.
+            var putObjectArgs = new PutObjectArgs()
+                .WithBucket(bucketName)
+                .WithObject(objectName)
+                .WithFileName(filePath)
+                .WithContentType(contentType);
+            await minio.PutObjectAsync(putObjectArgs).ConfigureAwait(false);
+            Debug.Log("33333333333333333");
+
+            PlayerPrefs.SetString(Nowfd.fileName, Nowfd.filePath);
+            isUpdate = false;
+            Nowfd.callBack?.Invoke(Nowfd.fileName);
+            Nowfd = null;
+        }
+        catch
+        {
+
+            Nowfd.callBack?.Invoke(null);
+            isUpdate = false;
+            Nowfd = null;
+        }
+    }
+    bool isDownLoad;
+    FileData Nowfd;
+    private void Update()
+    {
+        if (fdQueue.Count > 0 && Nowfd == null)
+        {
+            Nowfd = fdQueue.Dequeue();
+        }
+        if (minio == null)
+        {
+            if (projectId != 0 && !isminioUpdate)
+            {
+                isminioUpdate = true;
+                initMinIo(minioconfig,(bool b) =>
+                {
+                    isminioUpdate = false;
+                });
+            }
+        }
+        if(backQueue.Count>0)
+        {
+            byte[] bytes = backQueue.Dequeue();
+         
+                if(bytes!=null)
+                {
+
+                    Debug.Log("444444444444");
+                    Texture2D t2d = new Texture2D(10, 10);
+                    t2d.LoadImage(bytes);
+                    t2d.Apply();
+                    nowgfd.callBack?.Invoke(t2d);
+                }else
+
+                {
+                    Debug.Log("55555555555555");
+                    nowgfd.callBack?.Invoke(null);
+
+                }
+
+          
+            isDownLoad = false;
+            nowgfd = null;
+        }
+    }
+
+    public class FileData
+    {
+        public string filePath;
+        public string fileName;
+        public Action<string> callBack;
+    }
+
+    public class GetFileData
+    {
+        public string bucket;
+        public string objectName;
+        public Action<Texture2D> callBack;
+    }
+
+}

+ 11 - 0
Assets/DownLoadXR/MinIoXR.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 846d10ee3776f7445ba95c012126b4d8
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 16 - 0
Assets/DownLoadXR/NuGet.config

@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="utf-8"?>
+<configuration>
+  <packageSources>
+    <clear />
+    <add key="nuget.org" value="https://api.nuget.org/v3/index.json" />
+  </packageSources>
+  <disabledPackageSources />
+  <activePackageSource>
+    <add key="All" value="(Aggregate source)" />
+  </activePackageSource>
+  <config>
+    <add key="repositoryPath" value="./Packages" />
+    <add key="PackagesConfigDirectoryPath" value="." />
+    <add key="slimRestore" value="true" />
+  </config>
+</configuration>

+ 23 - 0
Assets/DownLoadXR/NuGet.config.meta

@@ -0,0 +1,23 @@
+fileFormatVersion: 2
+guid: 377430e2174b3ce4cb2a8af5cbf08b59
+labels:
+- NuGetForUnity
+PluginImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  iconMap: {}
+  executionOrder: {}
+  defineConstraints: []
+  isPreloaded: 0
+  isOverridable: 0
+  isExplicitlyReferenced: 0
+  validateReferences: 1
+  platformData:
+  - first:
+      Any: 
+    second:
+      enabled: 1
+      settings: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 8 - 0
Assets/DownLoadXR/NuGet.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: dbf134857daf7df428aa31cdd055514f
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 9 - 0
Assets/DownLoadXR/NuGet/Editor.meta

@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: b3fad56c531ac5a4db190a745f589a8e
+folderAsset: yes
+timeCreated: 1510280304
+licenseType: Free
+DefaultImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

二進制
Assets/DownLoadXR/NuGet/Editor/NugetForUnity.dll


+ 33 - 0
Assets/DownLoadXR/NuGet/Editor/NugetForUnity.dll.meta

@@ -0,0 +1,33 @@
+fileFormatVersion: 2
+guid: 8dc1be91775c4bb469f6b74cef450eaa
+PluginImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  iconMap: {}
+  executionOrder: {}
+  defineConstraints: []
+  isPreloaded: 0
+  isOverridable: 0
+  isExplicitlyReferenced: 0
+  validateReferences: 1
+  platformData:
+  - first:
+      Any: 
+    second:
+      enabled: 0
+      settings: {}
+  - first:
+      Editor: Editor
+    second:
+      enabled: 1
+      settings:
+        DefaultValueInitialized: true
+  - first:
+      Windows Store Apps: WindowsStoreApps
+    second:
+      enabled: 0
+      settings:
+        CPU: AnyCPU
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 21 - 0
Assets/DownLoadXR/NuGet/LICENSE

@@ -0,0 +1,21 @@
+MIT License
+
+Copyright (c) 2018 Patrick McCarthy
+
+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.

+ 8 - 0
Assets/DownLoadXR/NuGet/LICENSE.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 1d9014b99ad06af428514a5902d29ff3
+timeCreated: 1573248500
+licenseType: Pro
+DefaultImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

二進制
Assets/DownLoadXR/NuGet/README.pdf


+ 8 - 0
Assets/DownLoadXR/NuGet/README.pdf.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 83c5d2001771f15429a88d67e81366d6
+timeCreated: 1517876157
+licenseType: Free
+DefaultImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 9 - 0
Assets/DownLoadXR/NuGet/Resources.meta

@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 1738075a39a390447b7a620ca6962142
+folderAsset: yes
+timeCreated: 1510280362
+licenseType: Free
+DefaultImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

二進制
Assets/DownLoadXR/NuGet/Resources/defaultIcon.png


+ 88 - 0
Assets/DownLoadXR/NuGet/Resources/defaultIcon.png.meta

@@ -0,0 +1,88 @@
+fileFormatVersion: 2
+guid: eec19781926cd2248b7c9abfde8db555
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 9
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 1
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: -1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -100
+    wrapU: 1
+    wrapV: 1
+    wrapW: 1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - serializedVersion: 2
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: 215e43cda847e6d44af8b40376eeed8a
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 8 - 0
Assets/DownLoadXR/Packages.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: c1d2cbb3afff5a74c83083db77fa00a2
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 8 - 0
Assets/DownLoadXR/Packages/CommunityToolkit.HighPerformance.8.2.2.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 282d0e94491552549833ecec1610e4f0
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

二進制
Assets/DownLoadXR/Packages/CommunityToolkit.HighPerformance.8.2.2/.signature.p7s


+ 46 - 0
Assets/DownLoadXR/Packages/CommunityToolkit.HighPerformance.8.2.2/CommunityToolkit.HighPerformance.nuspec

@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="utf-8"?>
+<package xmlns="http://schemas.microsoft.com/packaging/2013/05/nuspec.xsd">
+  <metadata>
+    <id>CommunityToolkit.HighPerformance</id>
+    <version>8.2.2</version>
+    <title>.NET Community Toolkit - High Performance</title>
+    <authors>Microsoft</authors>
+    <requireLicenseAcceptance>true</requireLicenseAcceptance>
+    <license type="expression">MIT</license>
+    <licenseUrl>https://licenses.nuget.org/MIT</licenseUrl>
+    <icon>Icon.png</icon>
+    <projectUrl>https://github.com/CommunityToolkit/dotnet</projectUrl>
+    <iconUrl>https://raw.githubusercontent.com/CommunityToolkit/dotnet/main/build/nuget.png</iconUrl>
+    <description>This package includes high performance .NET helpers such as:
+      - Memory2D&lt;T&gt; and Span2D&lt;T&gt;: two types providing fast and allocation-free abstraction over 2D memory areas.
+      - ArrayPoolBufferWriter&lt;T&gt;: an IBufferWriter&lt;T&gt; implementation using pooled arrays, which also supports IMemoryOwner&lt;T&gt;.
+      - MemoryBufferWriter&lt;T&gt;: an IBufferWriter&lt;T&gt;: implementation that can wrap external Memory&lt;T&gt;: instances.
+      - MemoryOwner&lt;T&gt;: an IMemoryOwner&lt;T&gt; implementation with an embedded length and a fast Span&lt;T&gt; accessor.
+      - SpanOwner&lt;T&gt;: a stack-only type with the ability to rent a buffer of a specified length and getting a Span&lt;T&gt; from it.
+      - StringPool: a configurable pool for string instances that be used to minimize allocations when creating multiple strings from char buffers.
+      - String, array, Memory&lt;T&gt;, Span&lt;T&gt; extensions and more, all focused on high performance.
+      - HashCode&lt;T&gt;: a SIMD-enabled extension of HashCode to quickly process sequences of values.
+      - BitHelper: a class with helper methods to perform bit operations on numeric types.
+      - ParallelHelper: helpers to work with parallel code in a highly optimized manner.
+      - Box&lt;T&gt;: a type mapping boxed value types and exposing some utility and high performance methods.
+      - Ref&lt;T&gt;: a stack-only struct that can store a reference to a value of a specified type.
+      - NullableRef&lt;T&gt;: a stack-only struct similar to Ref&lt;T&gt;, which also supports nullable references.</description>
+    <releaseNotes>https://github.com/CommunityToolkit/dotnet/releases</releaseNotes>
+    <copyright>(c) .NET Foundation and Contributors. All rights reserved.</copyright>
+    <tags>dotnet Community Toolkit .NET Parallel Performance Unsafe Span Memory String StringPool Array Stream Buffer Extensions Helpers</tags>
+    <repository type="git" url="https://github.com/CommunityToolkit/dotnet" commit="4c21e0294bd39f307219259b830485f14f5086ce" />
+    <dependencies>
+      <group targetFramework="net6.0" />
+      <group targetFramework="net7.0" />
+      <group targetFramework=".NETStandard2.0">
+        <dependency id="Microsoft.Bcl.HashCode" version="1.1.1" exclude="Build,Analyzers" />
+        <dependency id="System.Memory" version="4.5.5" exclude="Build,Analyzers" />
+        <dependency id="System.Runtime.CompilerServices.Unsafe" version="6.0.0" exclude="Build,Analyzers" />
+        <dependency id="System.Threading.Tasks.Extensions" version="4.5.4" exclude="Build,Analyzers" />
+      </group>
+      <group targetFramework=".NETStandard2.1">
+        <dependency id="System.Runtime.CompilerServices.Unsafe" version="6.0.0" exclude="Build,Analyzers" />
+      </group>
+    </dependencies>
+  </metadata>
+</package>

+ 7 - 0
Assets/DownLoadXR/Packages/CommunityToolkit.HighPerformance.8.2.2/CommunityToolkit.HighPerformance.nuspec.meta

@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: ca982040ef073b64e9a56db69ad5b3e1
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

二進制
Assets/DownLoadXR/Packages/CommunityToolkit.HighPerformance.8.2.2/Icon.png


+ 135 - 0
Assets/DownLoadXR/Packages/CommunityToolkit.HighPerformance.8.2.2/Icon.png.meta

@@ -0,0 +1,135 @@
+fileFormatVersion: 2
+guid: f1020036bebfd7741b3171ec1c2a0dad
+TextureImporter:
+  internalIDToNameTable: []
+  externalObjects: {}
+  serializedVersion: 12
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 1
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  vTOnly: 0
+  ignoreMasterTextureLimit: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: 1
+    aniso: 1
+    mipBias: 0
+    wrapU: 0
+    wrapV: 0
+    wrapW: 0
+  nPOTScale: 1
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 0
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 0
+  spriteTessellationDetail: -1
+  textureType: 0
+  textureShape: 1
+  singleChannelComponent: 0
+  flipbookRows: 1
+  flipbookColumns: 1
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  ignorePngGamma: 0
+  applyGammaDecoding: 0
+  cookieLightType: 0
+  platformSettings:
+  - serializedVersion: 3
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  - serializedVersion: 3
+    buildTarget: Standalone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  - serializedVersion: 3
+    buildTarget: Server
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  - serializedVersion: 3
+    buildTarget: Android
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: 
+    internalID: 0
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+    secondaryTextures: []
+    nameFileIdTable: {}
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 13 - 0
Assets/DownLoadXR/Packages/CommunityToolkit.HighPerformance.8.2.2/License.md

@@ -0,0 +1,13 @@
+# .NET Community Toolkit
+
+Copyright © .NET Foundation and Contributors
+
+All rights reserved.
+
+## MIT License (MIT)
+
+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 NON-INFRINGEMENT. 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.

+ 7 - 0
Assets/DownLoadXR/Packages/CommunityToolkit.HighPerformance.8.2.2/License.md.meta

@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: d9326e82262fc6d4582a04b1ab214074
+TextScriptImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 143 - 0
Assets/DownLoadXR/Packages/CommunityToolkit.HighPerformance.8.2.2/ThirdPartyNotices.txt

@@ -0,0 +1,143 @@
+.NET-Community-Toolkit
+
+THIRD-PARTY SOFTWARE NOTICES AND INFORMATION
+Do Not Translate or Localize
+
+This project incorporates components from the projects listed below. The original copyright notices and the licenses under which the .NET Foundation received such components are set forth below. The .NET Foundation reserves all rights not expressly granted herein, whether by implication, estoppel or otherwise.
+
+1.	PedroLamas/DeferredEvents version 1.0.4 (https://github.com/PedroLamas/DeferredEvents), included in CommunityToolkit.Common/Deferred.
+2.	MichaeIDietrich/UwpNotificationNetCoreTest commit 5c1a4a3 (https://github.com/MichaeIDietrich/UwpNotificationNetCoreTest), used in DesktopNotificationManagerCompat.cs to support .NET Core 3.0.
+3.	lbugnion/mvvmlight commit 4cbf77c (https://github.com/lbugnion/mvvmlight), from which some APIs from the `CommunityToolkit.Mvvm` package take inspiration from.
+4.  PrivateObject/PrivateType (https://github.com/microsoft/testfx/tree/664ac7c2ac9dbfbee9d2a0ef560cfd72449dfe34/src/TestFramework/Extension.Desktop), included in UnitTests.
+5.  QuinnDamerell/UniversalMarkdown (https://github.com/QuinnDamerell/UniversalMarkdown) contributed by Quinn Damerell and Paul Bartrum for the MarkdownTextBlock control, relicensed to this .NET Foundation project under the MIT license upon contribution in https://github.com/CommunityToolkit/WindowsCommunityToolkit/pull/772.
+6.  qmatteoq/DesktopBridgeHelpers commit e278153 (https://github.com/qmatteoq/DesktopBridgeHelpers), contributed by Matteo Pagani to identify if running with identity in DesktopNotificationManagerCompat.cs and DesktopBridgeHelpers.cs, relicensed to this .NET Foundation project under the MIT license upon contribution in https://github.com/CommunityToolkit/WindowsCommunityToolkit/pull/3457.
+7.  Sergio0694/ComputeSharp (https://github.com/Sergio0694/ComputeSharp), contributed by Sergio Pedri to reuse some helpers to support incremental generators in the MVVM Toolkit.
+
+%% PedroLamas/DeferredEvents NOTICES AND INFORMATION BEGIN HERE
+=========================================
+Copyright (C) 2017 Pedro Lamas, http://www.pedrolamas.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.
+=========================================
+END OF PedroLamas/DeferredEvents NOTICES AND INFORMATION
+
+%% MichaeIDietrich/UwpNotificationNetCoreTest NOTICES AND INFORMATION BEGIN HERE
+=========================================
+The MIT License (MIT)
+
+Copyright (c) 2020 Michael Dietrich
+
+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.
+=========================================
+END OF MichaeIDietrich/UwpNotificationNetCoreTest NOTICES AND INFORMATION
+
+%% lbugnion/mvvmlight NOTICES AND INFORMATION BEGIN HERE
+=========================================
+The MIT License (MIT)
+
+Copyright (c) 2009 - 2018 Laurent Bugnion
+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.
+=========================================
+END OF lbugnion/mvvmlight NOTICES AND INFORMATION
+
+%% PrivateOject/PrivateType NOTICED AND INFORMATION BEGIN HERE
+=========================================
+MSTest Framework
+
+Copyright (c) Microsoft Corporation. All rights reserved.
+
+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.
+=========================================
+END OF PrivateOject/PrivateType NOTICES AND INFORMATION
+
+%% Sergio0694/ComputeSharp NOTICES AND INFORMATION BEGIN HERE
+=========================================
+MIT License
+
+Copyright (c) 2021 Sergio Pedri
+
+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.
+=========================================
+END OF Sergio0694/ComputeSharp NOTICES AND INFORMATION

+ 7 - 0
Assets/DownLoadXR/Packages/CommunityToolkit.HighPerformance.8.2.2/ThirdPartyNotices.txt.meta

@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 1da980326b495a340a2e40d93a1051c5
+TextScriptImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 8 - 0
Assets/DownLoadXR/Packages/CommunityToolkit.HighPerformance.8.2.2/lib.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 5e910e0dc8e3076488046bb555f168da
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 8 - 0
Assets/DownLoadXR/Packages/CommunityToolkit.HighPerformance.8.2.2/lib/netstandard2.1.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: e796fdbda94232a4992de96f53560f9b
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

二進制
Assets/DownLoadXR/Packages/CommunityToolkit.HighPerformance.8.2.2/lib/netstandard2.1/CommunityToolkit.HighPerformance.dll


+ 23 - 0
Assets/DownLoadXR/Packages/CommunityToolkit.HighPerformance.8.2.2/lib/netstandard2.1/CommunityToolkit.HighPerformance.dll.meta

@@ -0,0 +1,23 @@
+fileFormatVersion: 2
+guid: 41bb71ddd0fe83341951863abe81fae6
+labels:
+- NuGetForUnity
+PluginImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  iconMap: {}
+  executionOrder: {}
+  defineConstraints: []
+  isPreloaded: 0
+  isOverridable: 0
+  isExplicitlyReferenced: 0
+  validateReferences: 1
+  platformData:
+  - first:
+      Any: 
+    second:
+      enabled: 1
+      settings: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 6373 - 0
Assets/DownLoadXR/Packages/CommunityToolkit.HighPerformance.8.2.2/lib/netstandard2.1/CommunityToolkit.HighPerformance.xml

@@ -0,0 +1,6373 @@
+<?xml version="1.0"?>
+<doc>
+    <assembly>
+        <name>CommunityToolkit.HighPerformance</name>
+    </assembly>
+    <members>
+        <member name="T:CommunityToolkit.HighPerformance.Box`1">
+             <summary>
+             A <see langword="class"/> that represents a boxed <typeparamref name="T"/> value on the managed heap.
+             This is a "shadow" type that can be used in place of a non-generic <see cref="T:System.Object"/> reference to a
+             boxed value type, to make the code more expressive and reduce the chances of errors.
+             Consider this example:
+             <code>
+             object obj = 42;
+            
+             // Manual, error prone unboxing
+             int sum = (int)obj + 1;
+             </code>
+             In this example, it is not possible to know in advance what type is actually being boxed in a given
+             <see cref="T:System.Object"/> instance, making the code less robust at build time. The <see cref="T:CommunityToolkit.HighPerformance.Box`1"/>
+             type can be used as a drop-in replacement in this case, like so:
+             <code>
+             Box&lt;int> box = 42;
+            
+             // Build-time validation, automatic unboxing
+             int sum = box.Value + 1;
+             </code>
+             This type can also be useful when dealing with large custom value types that are also boxed, as
+             it allows to retrieve a mutable reference to the boxing value. This means that a given boxed
+             value can be mutated in-place, instead of having to allocate a new updated boxed instance.
+             </summary>
+             <typeparam name="T">The type of value being boxed.</typeparam>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Box`1.#ctor">
+            <summary>
+            Initializes a new instance of the <see cref="T:CommunityToolkit.HighPerformance.Box`1"/> class.
+            </summary>
+            <remarks>
+            This constructor is never used, it is only declared in order to mark it with
+            the <see langword="private"/> visibility modifier and prevent direct use.
+            </remarks>
+            <exception cref="T:System.InvalidOperationException">Always thrown when this constructor is used (eg. from reflection).</exception>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Box`1.GetFrom(System.Object)">
+            <summary>
+            Returns a <see cref="T:CommunityToolkit.HighPerformance.Box`1"/> reference from the input <see cref="T:System.Object"/> instance.
+            </summary>
+            <param name="obj">The input <see cref="T:System.Object"/> instance, representing a boxed <typeparamref name="T"/> value.</param>
+            <returns>A <see cref="T:CommunityToolkit.HighPerformance.Box`1"/> reference pointing to <paramref name="obj"/>.</returns>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Box`1.DangerousGetFrom(System.Object)">
+            <summary>
+            Returns a <see cref="T:CommunityToolkit.HighPerformance.Box`1"/> reference from the input <see cref="T:System.Object"/> instance.
+            </summary>
+            <param name="obj">The input <see cref="T:System.Object"/> instance, representing a boxed <typeparamref name="T"/> value.</param>
+            <returns>A <see cref="T:CommunityToolkit.HighPerformance.Box`1"/> reference pointing to <paramref name="obj"/>.</returns>
+            <remarks>
+            This method doesn't check the actual type of <paramref name="obj"/>, so it is responsibility of the caller
+            to ensure it actually represents a boxed <typeparamref name="T"/> value and not some other instance.
+            </remarks>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Box`1.TryGetFrom(System.Object,CommunityToolkit.HighPerformance.Box{`0}@)">
+            <summary>
+            Tries to get a <see cref="T:CommunityToolkit.HighPerformance.Box`1"/> reference from an input <see cref="T:System.Object"/> representing a boxed <typeparamref name="T"/> value.
+            </summary>
+            <param name="obj">The input <see cref="T:System.Object"/> instance to check.</param>
+            <param name="box">The resulting <see cref="T:CommunityToolkit.HighPerformance.Box`1"/> reference, if <paramref name="obj"/> was a boxed <typeparamref name="T"/> value.</param>
+            <returns><see langword="true"/> if a <see cref="T:CommunityToolkit.HighPerformance.Box`1"/> instance was retrieved correctly, <see langword="false"/> otherwise.</returns>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Box`1.op_Implicit(CommunityToolkit.HighPerformance.Box{`0})~`0">
+            <summary>
+            Implicitly gets the <typeparamref name="T"/> value from a given <see cref="T:CommunityToolkit.HighPerformance.Box`1"/> instance.
+            </summary>
+            <param name="box">The input <see cref="T:CommunityToolkit.HighPerformance.Box`1"/> instance.</param>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Box`1.op_Implicit(`0)~CommunityToolkit.HighPerformance.Box{`0}">
+            <summary>
+            Implicitly creates a new <see cref="T:CommunityToolkit.HighPerformance.Box`1"/> instance from a given <typeparamref name="T"/> value.
+            </summary>
+            <param name="value">The input <typeparamref name="T"/> value to wrap.</param>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Box`1.ToString">
+            <inheritdoc/>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Box`1.Equals(System.Object)">
+            <inheritdoc/>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Box`1.GetHashCode">
+            <inheritdoc/>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Box`1.ThrowInvalidCastExceptionForGetFrom">
+            <summary>
+            Throws an <see cref="T:System.InvalidCastException"/> when a cast from an invalid <see cref="T:System.Object"/> is attempted.
+            </summary>
+        </member>
+        <member name="T:CommunityToolkit.HighPerformance.BoxExtensions">
+            <summary>
+            Helpers for working with the <see cref="T:CommunityToolkit.HighPerformance.Box`1"/> type.
+            </summary>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.BoxExtensions.GetReference``1(CommunityToolkit.HighPerformance.Box{``0})">
+            <summary>
+            Gets a <typeparamref name="T"/> reference from a <see cref="T:CommunityToolkit.HighPerformance.Box`1"/> instance.
+            </summary>
+            <typeparam name="T">The type of reference to retrieve.</typeparam>
+            <param name="box">The input <see cref="T:CommunityToolkit.HighPerformance.Box`1"/> instance.</param>
+            <returns>A <typeparamref name="T"/> reference to the boxed value within <paramref name="box"/>.</returns>
+        </member>
+        <member name="T:CommunityToolkit.HighPerformance.Buffers.ArrayPoolBufferWriter`1">
+            <summary>
+            Represents a heap-based, array-backed output sink into which <typeparamref name="T"/> data can be written.
+            </summary>
+            <typeparam name="T">The type of items to write to the current instance.</typeparam>
+            <remarks>
+            This is a custom <see cref="T:System.Buffers.IBufferWriter`1"/> implementation that replicates the
+            functionality and API surface of the array-based buffer writer available in
+            .NET Standard 2.1, with the main difference being the fact that in this case
+            the arrays in use are rented from the shared <see cref="T:System.Buffers.ArrayPool`1"/> instance,
+            and that <see cref="T:CommunityToolkit.HighPerformance.Buffers.ArrayPoolBufferWriter`1"/> is also available on .NET Standard 2.0.
+            </remarks>
+        </member>
+        <member name="F:CommunityToolkit.HighPerformance.Buffers.ArrayPoolBufferWriter`1.DefaultInitialBufferSize">
+            <summary>
+            The default buffer size to use to expand empty arrays.
+            </summary>
+        </member>
+        <member name="F:CommunityToolkit.HighPerformance.Buffers.ArrayPoolBufferWriter`1.pool">
+            <summary>
+            The <see cref="T:System.Buffers.ArrayPool`1"/> instance used to rent <see cref="F:CommunityToolkit.HighPerformance.Buffers.ArrayPoolBufferWriter`1.array"/>.
+            </summary>
+        </member>
+        <member name="F:CommunityToolkit.HighPerformance.Buffers.ArrayPoolBufferWriter`1.array">
+            <summary>
+            The underlying <typeparamref name="T"/> array.
+            </summary>
+        </member>
+        <member name="F:CommunityToolkit.HighPerformance.Buffers.ArrayPoolBufferWriter`1.index">
+            <summary>
+            The starting offset within <see cref="F:CommunityToolkit.HighPerformance.Buffers.ArrayPoolBufferWriter`1.array"/>.
+            </summary>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Buffers.ArrayPoolBufferWriter`1.#ctor">
+            <summary>
+            Initializes a new instance of the <see cref="T:CommunityToolkit.HighPerformance.Buffers.ArrayPoolBufferWriter`1"/> class.
+            </summary>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Buffers.ArrayPoolBufferWriter`1.#ctor(System.Buffers.ArrayPool{`0})">
+            <summary>
+            Initializes a new instance of the <see cref="T:CommunityToolkit.HighPerformance.Buffers.ArrayPoolBufferWriter`1"/> class.
+            </summary>
+            <param name="pool">The <see cref="T:System.Buffers.ArrayPool`1"/> instance to use.</param>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Buffers.ArrayPoolBufferWriter`1.#ctor(System.Int32)">
+            <summary>
+            Initializes a new instance of the <see cref="T:CommunityToolkit.HighPerformance.Buffers.ArrayPoolBufferWriter`1"/> class.
+            </summary>
+            <param name="initialCapacity">The minimum capacity with which to initialize the underlying buffer.</param>
+            <exception cref="T:System.ArgumentOutOfRangeException">Thrown when <paramref name="initialCapacity"/> is not valid.</exception>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Buffers.ArrayPoolBufferWriter`1.#ctor(System.Buffers.ArrayPool{`0},System.Int32)">
+            <summary>
+            Initializes a new instance of the <see cref="T:CommunityToolkit.HighPerformance.Buffers.ArrayPoolBufferWriter`1"/> class.
+            </summary>
+            <param name="pool">The <see cref="T:System.Buffers.ArrayPool`1"/> instance to use.</param>
+            <param name="initialCapacity">The minimum capacity with which to initialize the underlying buffer.</param>
+            <exception cref="T:System.ArgumentOutOfRangeException">Thrown when <paramref name="initialCapacity"/> is not valid.</exception>
+        </member>
+        <member name="P:CommunityToolkit.HighPerformance.Buffers.ArrayPoolBufferWriter`1.System#Buffers#IMemoryOwner{T}#Memory">
+            <inheritdoc/>
+        </member>
+        <member name="P:CommunityToolkit.HighPerformance.Buffers.ArrayPoolBufferWriter`1.WrittenMemory">
+            <inheritdoc/>
+        </member>
+        <member name="P:CommunityToolkit.HighPerformance.Buffers.ArrayPoolBufferWriter`1.WrittenSpan">
+            <inheritdoc/>
+        </member>
+        <member name="P:CommunityToolkit.HighPerformance.Buffers.ArrayPoolBufferWriter`1.WrittenCount">
+            <inheritdoc/>
+        </member>
+        <member name="P:CommunityToolkit.HighPerformance.Buffers.ArrayPoolBufferWriter`1.Capacity">
+            <inheritdoc/>
+        </member>
+        <member name="P:CommunityToolkit.HighPerformance.Buffers.ArrayPoolBufferWriter`1.FreeCapacity">
+            <inheritdoc/>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Buffers.ArrayPoolBufferWriter`1.Clear">
+            <inheritdoc/>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Buffers.ArrayPoolBufferWriter`1.Advance(System.Int32)">
+            <inheritdoc/>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Buffers.ArrayPoolBufferWriter`1.GetMemory(System.Int32)">
+            <inheritdoc/>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Buffers.ArrayPoolBufferWriter`1.GetSpan(System.Int32)">
+            <inheritdoc/>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Buffers.ArrayPoolBufferWriter`1.DangerousGetArray">
+            <summary>
+            Gets an <see cref="T:System.ArraySegment`1"/> instance wrapping the underlying <typeparamref name="T"/> array in use.
+            </summary>
+            <returns>An <see cref="T:System.ArraySegment`1"/> instance wrapping the underlying <typeparamref name="T"/> array in use.</returns>
+            <exception cref="T:System.ObjectDisposedException">Thrown when the buffer in use has already been disposed.</exception>
+            <remarks>
+            This method is meant to be used when working with APIs that only accept an array as input, and should be used with caution.
+            In particular, the returned array is rented from an array pool, and it is responsibility of the caller to ensure that it's
+            not used after the current <see cref="T:CommunityToolkit.HighPerformance.Buffers.ArrayPoolBufferWriter`1"/> instance is disposed. Doing so is considered undefined
+            behavior, as the same array might be in use within another <see cref="T:CommunityToolkit.HighPerformance.Buffers.ArrayPoolBufferWriter`1"/> instance.
+            </remarks>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Buffers.ArrayPoolBufferWriter`1.Dispose">
+            <inheritdoc/>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Buffers.ArrayPoolBufferWriter`1.ToString">
+            <inheritdoc/>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Buffers.ArrayPoolBufferWriter`1.CheckBufferAndEnsureCapacity(System.Int32)">
+            <summary>
+            Ensures that <see cref="F:CommunityToolkit.HighPerformance.Buffers.ArrayPoolBufferWriter`1.array"/> has enough free space to contain a given number of new items.
+            </summary>
+            <param name="sizeHint">The minimum number of items to ensure space for in <see cref="F:CommunityToolkit.HighPerformance.Buffers.ArrayPoolBufferWriter`1.array"/>.</param>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Buffers.ArrayPoolBufferWriter`1.ResizeBuffer(System.Int32)">
+            <summary>
+            Resizes <see cref="F:CommunityToolkit.HighPerformance.Buffers.ArrayPoolBufferWriter`1.array"/> to ensure it can fit the specified number of new items.
+            </summary>
+            <param name="sizeHint">The minimum number of items to ensure space for in <see cref="F:CommunityToolkit.HighPerformance.Buffers.ArrayPoolBufferWriter`1.array"/>.</param>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Buffers.ArrayPoolBufferWriter`1.ThrowArgumentOutOfRangeExceptionForNegativeCount">
+            <summary>
+            Throws an <see cref="T:System.ArgumentOutOfRangeException"/> when the requested count is negative.
+            </summary>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Buffers.ArrayPoolBufferWriter`1.ThrowArgumentOutOfRangeExceptionForNegativeSizeHint">
+            <summary>
+            Throws an <see cref="T:System.ArgumentOutOfRangeException"/> when the size hint is negative.
+            </summary>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Buffers.ArrayPoolBufferWriter`1.ThrowArgumentExceptionForAdvancedTooFar">
+            <summary>
+            Throws an <see cref="T:System.ArgumentOutOfRangeException"/> when the requested count is negative.
+            </summary>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Buffers.ArrayPoolBufferWriter`1.ThrowObjectDisposedException">
+            <summary>
+            Throws an <see cref="T:System.ObjectDisposedException"/> when <see cref="F:CommunityToolkit.HighPerformance.Buffers.ArrayPoolBufferWriter`1.array"/> is <see langword="null"/>.
+            </summary>
+        </member>
+        <member name="T:CommunityToolkit.HighPerformance.Buffers.AllocationMode">
+            <summary>
+            An <see langword="enum"/> that indicates a mode to use when allocating buffers.
+            </summary>
+        </member>
+        <member name="F:CommunityToolkit.HighPerformance.Buffers.AllocationMode.Default">
+            <summary>
+            The default allocation mode for pooled memory (rented buffers are not cleared).
+            </summary>
+        </member>
+        <member name="F:CommunityToolkit.HighPerformance.Buffers.AllocationMode.Clear">
+            <summary>
+            Clear pooled buffers when renting them.
+            </summary>
+        </member>
+        <member name="T:CommunityToolkit.HighPerformance.Buffers.IBuffer`1">
+            <summary>
+            An interface that expands <see cref="T:System.Buffers.IBufferWriter`1"/> with the ability to also inspect
+            the written data, and to reset the underlying buffer to write again from the start.
+            </summary>
+            <typeparam name="T">The type of items in the current buffer.</typeparam>
+        </member>
+        <member name="P:CommunityToolkit.HighPerformance.Buffers.IBuffer`1.WrittenMemory">
+            <summary>
+            Gets the data written to the underlying buffer so far, as a <see cref="T:System.ReadOnlyMemory`1"/>.
+            </summary>
+        </member>
+        <member name="P:CommunityToolkit.HighPerformance.Buffers.IBuffer`1.WrittenSpan">
+            <summary>
+            Gets the data written to the underlying buffer so far, as a <see cref="T:System.ReadOnlySpan`1"/>.
+            </summary>
+        </member>
+        <member name="P:CommunityToolkit.HighPerformance.Buffers.IBuffer`1.WrittenCount">
+            <summary>
+            Gets the amount of data written to the underlying buffer so far.
+            </summary>
+        </member>
+        <member name="P:CommunityToolkit.HighPerformance.Buffers.IBuffer`1.Capacity">
+            <summary>
+            Gets the total amount of space within the underlying buffer.
+            </summary>
+        </member>
+        <member name="P:CommunityToolkit.HighPerformance.Buffers.IBuffer`1.FreeCapacity">
+            <summary>
+            Gets the amount of space available that can still be written into without forcing the underlying buffer to grow.
+            </summary>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Buffers.IBuffer`1.Clear">
+            <summary>
+            Clears the data written to the underlying buffer.
+            </summary>
+            <remarks>
+            You must clear the <see cref="T:CommunityToolkit.HighPerformance.Buffers.IBuffer`1"/> instance before trying to re-use it.
+            </remarks>
+        </member>
+        <member name="T:CommunityToolkit.HighPerformance.Buffers.Internals.ArrayMemoryManager`2">
+            <summary>
+            A custom <see cref="T:System.Buffers.MemoryManager`1"/> that casts data from a <typeparamref name="TFrom"/> array, to <typeparamref name="TTo"/> values.
+            </summary>
+            <typeparam name="TFrom">The source type of items to read.</typeparam>
+            <typeparam name="TTo">The target type to cast the source items to.</typeparam>
+        </member>
+        <member name="F:CommunityToolkit.HighPerformance.Buffers.Internals.ArrayMemoryManager`2.array">
+            <summary>
+            The source <typeparamref name="TFrom"/> array to read data from.
+            </summary>
+        </member>
+        <member name="F:CommunityToolkit.HighPerformance.Buffers.Internals.ArrayMemoryManager`2.offset">
+            <summary>
+            The starting offset within <see name="array"/>.
+            </summary>
+        </member>
+        <member name="F:CommunityToolkit.HighPerformance.Buffers.Internals.ArrayMemoryManager`2.length">
+            <summary>
+            The original used length for <see name="array"/>.
+            </summary>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Buffers.Internals.ArrayMemoryManager`2.#ctor(`0[],System.Int32,System.Int32)">
+            <summary>
+            Initializes a new instance of the <see cref="T:CommunityToolkit.HighPerformance.Buffers.Internals.ArrayMemoryManager`2"/> class.
+            </summary>
+            <param name="array">The source <typeparamref name="TFrom"/> array to read data from.</param>
+            <param name="offset">The starting offset within <paramref name="array"/>.</param>
+            <param name="length">The original used length for <paramref name="array"/>.</param>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Buffers.Internals.ArrayMemoryManager`2.GetSpan">
+            <inheritdoc/>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Buffers.Internals.ArrayMemoryManager`2.Pin(System.Int32)">
+            <inheritdoc/>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Buffers.Internals.ArrayMemoryManager`2.Unpin">
+            <inheritdoc/>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Buffers.Internals.ArrayMemoryManager`2.Dispose(System.Boolean)">
+            <inheritdoc/>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Buffers.Internals.ArrayMemoryManager`2.GetMemory``1(System.Int32,System.Int32)">
+            <inheritdoc/>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Buffers.Internals.ArrayMemoryManager`2.ThrowArgumentOutOfRangeExceptionForInvalidIndex">
+            <summary>
+            Throws an <see cref="T:System.ArgumentOutOfRangeException"/> when the target index for <see cref="M:CommunityToolkit.HighPerformance.Buffers.Internals.ArrayMemoryManager`2.Pin(System.Int32)"/> is invalid.
+            </summary>
+        </member>
+        <member name="T:CommunityToolkit.HighPerformance.Buffers.Internals.Interfaces.IMemoryManager">
+            <summary>
+            An interface for a <see cref="T:System.Buffers.MemoryManager`1"/> instance that can reinterpret its underlying data.
+            </summary>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Buffers.Internals.Interfaces.IMemoryManager.GetMemory``1(System.Int32,System.Int32)">
+            <summary>
+            Creates a new <see cref="T:System.Memory`1"/> that reinterprets the underlying data for the current instance.
+            </summary>
+            <typeparam name="T">The target type to cast the items to.</typeparam>
+            <param name="offset">The starting offset within the data store.</param>
+            <param name="length">The original used length for the data store.</param>
+            <returns>A new <see cref="T:System.Memory`1"/> instance of the specified type, reinterpreting the current items.</returns>
+        </member>
+        <member name="T:CommunityToolkit.HighPerformance.Buffers.Internals.ProxyMemoryManager`2">
+            <summary>
+            A custom <see cref="T:System.Buffers.MemoryManager`1"/> that casts data from a <see cref="T:System.Buffers.MemoryManager`1"/> of <typeparamref name="TFrom"/>, to <typeparamref name="TTo"/> values.
+            </summary>
+            <typeparam name="TFrom">The source type of items to read.</typeparam>
+            <typeparam name="TTo">The target type to cast the source items to.</typeparam>
+        </member>
+        <member name="F:CommunityToolkit.HighPerformance.Buffers.Internals.ProxyMemoryManager`2.memoryManager">
+            <summary>
+            The source <see cref="T:System.Buffers.MemoryManager`1"/> to read data from.
+            </summary>
+        </member>
+        <member name="F:CommunityToolkit.HighPerformance.Buffers.Internals.ProxyMemoryManager`2.offset">
+            <summary>
+            The starting offset within <see name="memoryManager"/>.
+            </summary>
+        </member>
+        <member name="F:CommunityToolkit.HighPerformance.Buffers.Internals.ProxyMemoryManager`2.length">
+            <summary>
+            The original used length for <see name="memoryManager"/>.
+            </summary>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Buffers.Internals.ProxyMemoryManager`2.#ctor(System.Buffers.MemoryManager{`0},System.Int32,System.Int32)">
+            <summary>
+            Initializes a new instance of the <see cref="T:CommunityToolkit.HighPerformance.Buffers.Internals.ProxyMemoryManager`2"/> class.
+            </summary>
+            <param name="memoryManager">The source <see cref="T:System.Buffers.MemoryManager`1"/> to read data from.</param>
+            <param name="offset">The starting offset within <paramref name="memoryManager"/>.</param>
+            <param name="length">The original used length for <paramref name="memoryManager"/>.</param>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Buffers.Internals.ProxyMemoryManager`2.GetSpan">
+            <inheritdoc/>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Buffers.Internals.ProxyMemoryManager`2.Pin(System.Int32)">
+            <inheritdoc/>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Buffers.Internals.ProxyMemoryManager`2.Unpin">
+            <inheritdoc/>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Buffers.Internals.ProxyMemoryManager`2.Dispose(System.Boolean)">
+            <inheritdoc/>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Buffers.Internals.ProxyMemoryManager`2.GetMemory``1(System.Int32,System.Int32)">
+            <inheritdoc/>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Buffers.Internals.ProxyMemoryManager`2.ThrowArgumentExceptionForInvalidIndex">
+            <summary>
+            Throws an <see cref="T:System.ArgumentOutOfRangeException"/> when the target index for <see cref="M:CommunityToolkit.HighPerformance.Buffers.Internals.ProxyMemoryManager`2.Pin(System.Int32)"/> is invalid.
+            </summary>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Buffers.Internals.ProxyMemoryManager`2.ThrowArgumentExceptionForInvalidAlignment">
+            <summary>
+            Throws an <see cref="T:System.ArgumentOutOfRangeException"/> when <see cref="M:CommunityToolkit.HighPerformance.Buffers.Internals.ProxyMemoryManager`2.Pin(System.Int32)"/> receives an invalid target index.
+            </summary>
+        </member>
+        <member name="T:CommunityToolkit.HighPerformance.Buffers.Internals.RawObjectMemoryManager`1">
+            <summary>
+            A custom <see cref="T:System.Buffers.MemoryManager`1"/> that can wrap arbitrary <see cref="T:System.Object"/> instances.
+            </summary>
+            <typeparam name="T">The type of elements in the target memory area.</typeparam>
+        </member>
+        <member name="F:CommunityToolkit.HighPerformance.Buffers.Internals.RawObjectMemoryManager`1.instance">
+            <summary>
+            The target <see cref="T:System.Object"/> instance.
+            </summary>
+        </member>
+        <member name="F:CommunityToolkit.HighPerformance.Buffers.Internals.RawObjectMemoryManager`1.offset">
+            <summary>
+            The initial offset within <see cref="F:CommunityToolkit.HighPerformance.Buffers.Internals.RawObjectMemoryManager`1.instance"/>.
+            </summary>
+        </member>
+        <member name="F:CommunityToolkit.HighPerformance.Buffers.Internals.RawObjectMemoryManager`1.length">
+            <summary>
+            The length of the target memory area.
+            </summary>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Buffers.Internals.RawObjectMemoryManager`1.#ctor(System.Object,System.IntPtr,System.Int32)">
+            <summary>
+            Initializes a new instance of the <see cref="T:CommunityToolkit.HighPerformance.Buffers.Internals.RawObjectMemoryManager`1"/> class.
+            </summary>
+            <param name="instance">The target <see cref="T:System.Object"/> instance.</param>
+            <param name="offset">The starting offset within <paramref name="instance"/>.</param>
+            <param name="length">The usable length within <paramref name="instance"/>.</param>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Buffers.Internals.RawObjectMemoryManager`1.GetSpan">
+            <inheritdoc/>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Buffers.Internals.RawObjectMemoryManager`1.Pin(System.Int32)">
+            <inheritdoc/>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Buffers.Internals.RawObjectMemoryManager`1.Unpin">
+            <inheritdoc/>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Buffers.Internals.RawObjectMemoryManager`1.Dispose(System.Boolean)">
+            <inheritdoc/>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Buffers.Internals.RawObjectMemoryManager`1.ThrowArgumentOutOfRangeExceptionForInvalidElementIndex">
+            <summary>
+            Throws an <see cref="T:System.ArgumentOutOfRangeException"/> when the input index for <see cref="M:CommunityToolkit.HighPerformance.Buffers.Internals.RawObjectMemoryManager`1.Pin(System.Int32)"/> is not valid.
+            </summary>
+        </member>
+        <member name="T:CommunityToolkit.HighPerformance.Buffers.Internals.StringMemoryManager`1">
+            <summary>
+            A custom <see cref="T:System.Buffers.MemoryManager`1"/> that casts data from a <see cref="T:System.String"/> to <typeparamref name="TTo"/> values.
+            </summary>
+            <typeparam name="TTo">The target type to cast the source characters to.</typeparam>
+        </member>
+        <member name="F:CommunityToolkit.HighPerformance.Buffers.Internals.StringMemoryManager`1.text">
+            <summary>
+            The source <see cref="T:System.String"/> to read data from.
+            </summary>
+        </member>
+        <member name="F:CommunityToolkit.HighPerformance.Buffers.Internals.StringMemoryManager`1.offset">
+            <summary>
+            The starting offset within <see name="array"/>.
+            </summary>
+        </member>
+        <member name="F:CommunityToolkit.HighPerformance.Buffers.Internals.StringMemoryManager`1.length">
+            <summary>
+            The original used length for <see name="array"/>.
+            </summary>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Buffers.Internals.StringMemoryManager`1.#ctor(System.String,System.Int32,System.Int32)">
+            <summary>
+            Initializes a new instance of the <see cref="T:CommunityToolkit.HighPerformance.Buffers.Internals.StringMemoryManager`1"/> class.
+            </summary>
+            <param name="text">The source <see cref="T:System.String"/> to read data from.</param>
+            <param name="offset">The starting offset within <paramref name="text"/>.</param>
+            <param name="length">The original used length for <paramref name="text"/>.</param>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Buffers.Internals.StringMemoryManager`1.GetSpan">
+            <inheritdoc/>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Buffers.Internals.StringMemoryManager`1.Pin(System.Int32)">
+            <inheritdoc/>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Buffers.Internals.StringMemoryManager`1.Unpin">
+            <inheritdoc/>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Buffers.Internals.StringMemoryManager`1.Dispose(System.Boolean)">
+            <inheritdoc/>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Buffers.Internals.StringMemoryManager`1.GetMemory``1(System.Int32,System.Int32)">
+            <inheritdoc/>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Buffers.Internals.StringMemoryManager`1.ThrowArgumentOutOfRangeExceptionForInvalidIndex">
+            <summary>
+            Throws an <see cref="T:System.ArgumentOutOfRangeException"/> when the target index for <see cref="M:CommunityToolkit.HighPerformance.Buffers.Internals.StringMemoryManager`1.Pin(System.Int32)"/> is invalid.
+            </summary>
+        </member>
+        <member name="T:CommunityToolkit.HighPerformance.Buffers.MemoryBufferWriter`1">
+            <summary>
+            Represents an output sink into which <typeparamref name="T"/> data can be written, backed by a <see cref="T:System.Memory`1"/> instance.
+            </summary>
+            <typeparam name="T">The type of items to write to the current instance.</typeparam>
+            <remarks>
+            This is a custom <see cref="T:System.Buffers.IBufferWriter`1"/> implementation that wraps a <see cref="T:System.Memory`1"/> instance.
+            It can be used to bridge APIs consuming an <see cref="T:System.Buffers.IBufferWriter`1"/> with existing <see cref="T:System.Memory`1"/>
+            instances (or objects that can be converted to a <see cref="T:System.Memory`1"/>), to ensure the data is written directly
+            to the intended buffer, with no possibility of doing additional allocations or expanding the available capacity.
+            </remarks>
+        </member>
+        <member name="F:CommunityToolkit.HighPerformance.Buffers.MemoryBufferWriter`1.memory">
+            <summary>
+            The underlying <see cref="T:System.Memory`1"/> instance.
+            </summary>
+        </member>
+        <member name="F:CommunityToolkit.HighPerformance.Buffers.MemoryBufferWriter`1.index">
+            <summary>
+            The starting offset within <see cref="F:CommunityToolkit.HighPerformance.Buffers.MemoryBufferWriter`1.memory"/>.
+            </summary>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Buffers.MemoryBufferWriter`1.#ctor(System.Memory{`0})">
+            <summary>
+            Initializes a new instance of the <see cref="T:CommunityToolkit.HighPerformance.Buffers.MemoryBufferWriter`1"/> class.
+            </summary>
+            <param name="memory">The target <see cref="T:System.Memory`1"/> instance to write to.</param>
+        </member>
+        <member name="P:CommunityToolkit.HighPerformance.Buffers.MemoryBufferWriter`1.WrittenMemory">
+            <inheritdoc/>
+        </member>
+        <member name="P:CommunityToolkit.HighPerformance.Buffers.MemoryBufferWriter`1.WrittenSpan">
+            <inheritdoc/>
+        </member>
+        <member name="P:CommunityToolkit.HighPerformance.Buffers.MemoryBufferWriter`1.WrittenCount">
+            <inheritdoc/>
+        </member>
+        <member name="P:CommunityToolkit.HighPerformance.Buffers.MemoryBufferWriter`1.Capacity">
+            <inheritdoc/>
+        </member>
+        <member name="P:CommunityToolkit.HighPerformance.Buffers.MemoryBufferWriter`1.FreeCapacity">
+            <inheritdoc/>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Buffers.MemoryBufferWriter`1.Clear">
+            <inheritdoc/>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Buffers.MemoryBufferWriter`1.Advance(System.Int32)">
+            <inheritdoc/>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Buffers.MemoryBufferWriter`1.GetMemory(System.Int32)">
+            <inheritdoc/>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Buffers.MemoryBufferWriter`1.GetSpan(System.Int32)">
+            <inheritdoc/>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Buffers.MemoryBufferWriter`1.ValidateSizeHint(System.Int32)">
+            <summary>
+            Validates the requested size for either <see cref="M:CommunityToolkit.HighPerformance.Buffers.MemoryBufferWriter`1.GetMemory(System.Int32)"/> or <see cref="M:CommunityToolkit.HighPerformance.Buffers.MemoryBufferWriter`1.GetSpan(System.Int32)"/>.
+            </summary>
+            <param name="sizeHint">The minimum number of items to ensure space for in <see cref="F:CommunityToolkit.HighPerformance.Buffers.MemoryBufferWriter`1.memory"/>.</param>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Buffers.MemoryBufferWriter`1.ToString">
+            <inheritdoc/>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Buffers.MemoryBufferWriter`1.ThrowArgumentOutOfRangeExceptionForNegativeCount">
+            <summary>
+            Throws an <see cref="T:System.ArgumentOutOfRangeException"/> when the requested count is negative.
+            </summary>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Buffers.MemoryBufferWriter`1.ThrowArgumentOutOfRangeExceptionForNegativeSizeHint">
+            <summary>
+            Throws an <see cref="T:System.ArgumentOutOfRangeException"/> when the size hint is negative.
+            </summary>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Buffers.MemoryBufferWriter`1.ThrowArgumentExceptionForAdvancedTooFar">
+            <summary>
+            Throws an <see cref="T:System.ArgumentOutOfRangeException"/> when the requested count is negative.
+            </summary>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Buffers.MemoryBufferWriter`1.ThrowArgumentExceptionForCapacityExceeded">
+            <summary>
+            Throws an <see cref="T:System.ArgumentException"/> when the requested size exceeds the capacity.
+            </summary>
+        </member>
+        <member name="T:CommunityToolkit.HighPerformance.Buffers.MemoryOwner`1">
+            <summary>
+            An <see cref="T:System.Buffers.IMemoryOwner`1"/> implementation with an embedded length and a fast <see cref="T:System.Span`1"/> accessor.
+            </summary>
+            <typeparam name="T">The type of items to store in the current instance.</typeparam>
+        </member>
+        <member name="F:CommunityToolkit.HighPerformance.Buffers.MemoryOwner`1.start">
+            <summary>
+            The starting offset within <see cref="F:CommunityToolkit.HighPerformance.Buffers.MemoryOwner`1.array"/>.
+            </summary>
+        </member>
+        <member name="F:CommunityToolkit.HighPerformance.Buffers.MemoryOwner`1.length">
+            <summary>
+            The usable length within <see cref="F:CommunityToolkit.HighPerformance.Buffers.MemoryOwner`1.array"/> (starting from <see cref="F:CommunityToolkit.HighPerformance.Buffers.MemoryOwner`1.start"/>).
+            </summary>
+        </member>
+        <member name="F:CommunityToolkit.HighPerformance.Buffers.MemoryOwner`1.pool">
+            <summary>
+            The <see cref="T:System.Buffers.ArrayPool`1"/> instance used to rent <see cref="F:CommunityToolkit.HighPerformance.Buffers.MemoryOwner`1.array"/>.
+            </summary>
+        </member>
+        <member name="F:CommunityToolkit.HighPerformance.Buffers.MemoryOwner`1.array">
+            <summary>
+            The underlying <typeparamref name="T"/> array.
+            </summary>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Buffers.MemoryOwner`1.#ctor(System.Int32,System.Buffers.ArrayPool{`0},CommunityToolkit.HighPerformance.Buffers.AllocationMode)">
+            <summary>
+            Initializes a new instance of the <see cref="T:CommunityToolkit.HighPerformance.Buffers.MemoryOwner`1"/> class with the specified parameters.
+            </summary>
+            <param name="length">The length of the new memory buffer to use.</param>
+            <param name="pool">The <see cref="T:System.Buffers.ArrayPool`1"/> instance to use.</param>
+            <param name="mode">Indicates the allocation mode to use for the new buffer to rent.</param>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Buffers.MemoryOwner`1.#ctor(System.Int32,System.Int32,System.Buffers.ArrayPool{`0},`0[])">
+            <summary>
+            Initializes a new instance of the <see cref="T:CommunityToolkit.HighPerformance.Buffers.MemoryOwner`1"/> class with the specified parameters.
+            </summary>
+            <param name="start">The starting offset within <paramref name="array"/>.</param>
+            <param name="length">The length of the array to use.</param>
+            <param name="pool">The <see cref="T:System.Buffers.ArrayPool`1"/> instance currently in use.</param>
+            <param name="array">The input <typeparamref name="T"/> array to use.</param>
+        </member>
+        <member name="P:CommunityToolkit.HighPerformance.Buffers.MemoryOwner`1.Empty">
+            <summary>
+            Gets an empty <see cref="T:CommunityToolkit.HighPerformance.Buffers.MemoryOwner`1"/> instance.
+            </summary>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Buffers.MemoryOwner`1.Allocate(System.Int32)">
+            <summary>
+            Creates a new <see cref="T:CommunityToolkit.HighPerformance.Buffers.MemoryOwner`1"/> instance with the specified parameters.
+            </summary>
+            <param name="size">The length of the new memory buffer to use.</param>
+            <returns>A <see cref="T:CommunityToolkit.HighPerformance.Buffers.MemoryOwner`1"/> instance of the requested length.</returns>
+            <exception cref="T:System.ArgumentOutOfRangeException">Thrown when <paramref name="size"/> is not valid.</exception>
+            <remarks>This method is just a proxy for the <see langword="private"/> constructor, for clarity.</remarks>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Buffers.MemoryOwner`1.Allocate(System.Int32,System.Buffers.ArrayPool{`0})">
+            <summary>
+            Creates a new <see cref="T:CommunityToolkit.HighPerformance.Buffers.MemoryOwner`1"/> instance with the specified parameters.
+            </summary>
+            <param name="size">The length of the new memory buffer to use.</param>
+            <param name="pool">The <see cref="T:System.Buffers.ArrayPool`1"/> instance currently in use.</param>
+            <returns>A <see cref="T:CommunityToolkit.HighPerformance.Buffers.MemoryOwner`1"/> instance of the requested length.</returns>
+            <exception cref="T:System.ArgumentOutOfRangeException">Thrown when <paramref name="size"/> is not valid.</exception>
+            <remarks>This method is just a proxy for the <see langword="private"/> constructor, for clarity.</remarks>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Buffers.MemoryOwner`1.Allocate(System.Int32,CommunityToolkit.HighPerformance.Buffers.AllocationMode)">
+            <summary>
+            Creates a new <see cref="T:CommunityToolkit.HighPerformance.Buffers.MemoryOwner`1"/> instance with the specified parameters.
+            </summary>
+            <param name="size">The length of the new memory buffer to use.</param>
+            <param name="mode">Indicates the allocation mode to use for the new buffer to rent.</param>
+            <returns>A <see cref="T:CommunityToolkit.HighPerformance.Buffers.MemoryOwner`1"/> instance of the requested length.</returns>
+            <exception cref="T:System.ArgumentOutOfRangeException">Thrown when <paramref name="size"/> is not valid.</exception>
+            <remarks>This method is just a proxy for the <see langword="private"/> constructor, for clarity.</remarks>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Buffers.MemoryOwner`1.Allocate(System.Int32,System.Buffers.ArrayPool{`0},CommunityToolkit.HighPerformance.Buffers.AllocationMode)">
+            <summary>
+            Creates a new <see cref="T:CommunityToolkit.HighPerformance.Buffers.MemoryOwner`1"/> instance with the specified parameters.
+            </summary>
+            <param name="size">The length of the new memory buffer to use.</param>
+            <param name="pool">The <see cref="T:System.Buffers.ArrayPool`1"/> instance currently in use.</param>
+            <param name="mode">Indicates the allocation mode to use for the new buffer to rent.</param>
+            <returns>A <see cref="T:CommunityToolkit.HighPerformance.Buffers.MemoryOwner`1"/> instance of the requested length.</returns>
+            <exception cref="T:System.ArgumentOutOfRangeException">Thrown when <paramref name="size"/> is not valid.</exception>
+            <remarks>This method is just a proxy for the <see langword="private"/> constructor, for clarity.</remarks>
+        </member>
+        <member name="P:CommunityToolkit.HighPerformance.Buffers.MemoryOwner`1.Length">
+            <summary>
+            Gets the number of items in the current instance
+            </summary>
+        </member>
+        <member name="P:CommunityToolkit.HighPerformance.Buffers.MemoryOwner`1.Memory">
+            <inheritdoc/>
+        </member>
+        <member name="P:CommunityToolkit.HighPerformance.Buffers.MemoryOwner`1.Span">
+            <summary>
+            Gets a <see cref="T:System.Span`1"/> wrapping the memory belonging to the current instance.
+            </summary>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Buffers.MemoryOwner`1.DangerousGetReference">
+            <summary>
+            Returns a reference to the first element within the current instance, with no bounds check.
+            </summary>
+            <returns>A reference to the first element within the current instance.</returns>
+            <exception cref="T:System.ObjectDisposedException">Thrown when the buffer in use has already been disposed.</exception>
+            <remarks>
+            This method does not perform bounds checks on the underlying buffer, but does check whether
+            the buffer itself has been disposed or not. This check should not be removed, and it's also
+            the reason why the method to get a reference at a specified offset is not present.
+            </remarks>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Buffers.MemoryOwner`1.DangerousGetArray">
+            <summary>
+            Gets an <see cref="T:System.ArraySegment`1"/> instance wrapping the underlying <typeparamref name="T"/> array in use.
+            </summary>
+            <returns>An <see cref="T:System.ArraySegment`1"/> instance wrapping the underlying <typeparamref name="T"/> array in use.</returns>
+            <exception cref="T:System.ObjectDisposedException">Thrown when the buffer in use has already been disposed.</exception>
+            <remarks>
+            This method is meant to be used when working with APIs that only accept an array as input, and should be used with caution.
+            In particular, the returned array is rented from an array pool, and it is responsibility of the caller to ensure that it's
+            not used after the current <see cref="T:CommunityToolkit.HighPerformance.Buffers.MemoryOwner`1"/> instance is disposed. Doing so is considered undefined behavior,
+            as the same array might be in use within another <see cref="T:CommunityToolkit.HighPerformance.Buffers.MemoryOwner`1"/> instance.
+            </remarks>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Buffers.MemoryOwner`1.Slice(System.Int32,System.Int32)">
+            <summary>
+            Slices the buffer currently in use and returns a new <see cref="T:CommunityToolkit.HighPerformance.Buffers.MemoryOwner`1"/> instance.
+            </summary>
+            <param name="start">The starting offset within the current buffer.</param>
+            <param name="length">The length of the buffer to use.</param>
+            <returns>A new <see cref="T:CommunityToolkit.HighPerformance.Buffers.MemoryOwner`1"/> instance using the target range of items.</returns>
+            <exception cref="T:System.ObjectDisposedException">Thrown when the buffer in use has already been disposed.</exception>
+            <exception cref="T:System.ArgumentOutOfRangeException">Thrown when <paramref name="start"/> or <paramref name="length"/> are not valid.</exception>
+            <remarks>
+            Using this method will dispose the current instance, and should only be used when an oversized
+            buffer is rented and then adjusted in size, to avoid having to rent a new buffer of the new
+            size and copy the previous items into the new one, or needing an additional variable/field
+            to manually handle to track the used range within a given <see cref="T:CommunityToolkit.HighPerformance.Buffers.MemoryOwner`1"/> instance.
+            </remarks>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Buffers.MemoryOwner`1.Dispose">
+            <inheritdoc/>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Buffers.MemoryOwner`1.ToString">
+            <inheritdoc/>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Buffers.MemoryOwner`1.ThrowObjectDisposedException">
+            <summary>
+            Throws an <see cref="T:System.ObjectDisposedException"/> when <see cref="F:CommunityToolkit.HighPerformance.Buffers.MemoryOwner`1.array"/> is <see langword="null"/>.
+            </summary>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Buffers.MemoryOwner`1.ThrowInvalidOffsetException">
+            <summary>
+            Throws an <see cref="T:System.ArgumentOutOfRangeException"/> when the <see cref="F:CommunityToolkit.HighPerformance.Buffers.MemoryOwner`1.start"/> is invalid.
+            </summary>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Buffers.MemoryOwner`1.ThrowInvalidLengthException">
+            <summary>
+            Throws an <see cref="T:System.ArgumentOutOfRangeException"/> when the <see cref="F:CommunityToolkit.HighPerformance.Buffers.MemoryOwner`1.length"/> is invalid.
+            </summary>
+        </member>
+        <member name="T:CommunityToolkit.HighPerformance.Buffers.SpanOwner`1">
+            <summary>
+            A stack-only type with the ability to rent a buffer of a specified length and getting a <see cref="T:System.Span`1"/> from it.
+            This type mirrors <see cref="T:CommunityToolkit.HighPerformance.Buffers.MemoryOwner`1"/> but without allocations and with further optimizations.
+            As this is a stack-only type, it relies on the duck-typed <see cref="T:System.IDisposable"/> pattern introduced with C# 8.
+            It should be used like so:
+            <code>
+            using (SpanOwner&lt;byte> buffer = SpanOwner&lt;byte>.Allocate(1024))
+            {
+                // Use the buffer here...
+            }
+            </code>
+            As soon as the code leaves the scope of that <see langword="using"/> block, the underlying buffer will automatically
+            be disposed. The APIs in <see cref="T:CommunityToolkit.HighPerformance.Buffers.SpanOwner`1"/> rely on this pattern for extra performance, eg. they don't perform
+            the additional checks that are done in <see cref="T:CommunityToolkit.HighPerformance.Buffers.MemoryOwner`1"/> to ensure that the buffer hasn't been disposed
+            before returning a <see cref="T:System.Memory`1"/> or <see cref="T:System.Span`1"/> instance from it.
+            As such, this type should always be used with a <see langword="using"/> block or expression.
+            Not doing so will cause the underlying buffer not to be returned to the shared pool.
+            </summary>
+            <typeparam name="T">The type of items to store in the current instance.</typeparam>
+        </member>
+        <member name="F:CommunityToolkit.HighPerformance.Buffers.SpanOwner`1.length">
+            <summary>
+            The usable length within <see cref="F:CommunityToolkit.HighPerformance.Buffers.SpanOwner`1.array"/>.
+            </summary>
+        </member>
+        <member name="F:CommunityToolkit.HighPerformance.Buffers.SpanOwner`1.pool">
+            <summary>
+            The <see cref="T:System.Buffers.ArrayPool`1"/> instance used to rent <see cref="F:CommunityToolkit.HighPerformance.Buffers.SpanOwner`1.array"/>.
+            </summary>
+        </member>
+        <member name="F:CommunityToolkit.HighPerformance.Buffers.SpanOwner`1.array">
+            <summary>
+            The underlying <typeparamref name="T"/> array.
+            </summary>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Buffers.SpanOwner`1.#ctor(System.Int32,System.Buffers.ArrayPool{`0},CommunityToolkit.HighPerformance.Buffers.AllocationMode)">
+            <summary>
+            Initializes a new instance of the <see cref="T:CommunityToolkit.HighPerformance.Buffers.SpanOwner`1"/> struct with the specified parameters.
+            </summary>
+            <param name="length">The length of the new memory buffer to use.</param>
+            <param name="pool">The <see cref="T:System.Buffers.ArrayPool`1"/> instance to use.</param>
+            <param name="mode">Indicates the allocation mode to use for the new buffer to rent.</param>
+        </member>
+        <member name="P:CommunityToolkit.HighPerformance.Buffers.SpanOwner`1.Empty">
+            <summary>
+            Gets an empty <see cref="T:CommunityToolkit.HighPerformance.Buffers.SpanOwner`1"/> instance.
+            </summary>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Buffers.SpanOwner`1.Allocate(System.Int32)">
+            <summary>
+            Creates a new <see cref="T:CommunityToolkit.HighPerformance.Buffers.SpanOwner`1"/> instance with the specified parameters.
+            </summary>
+            <param name="size">The length of the new memory buffer to use.</param>
+            <returns>A <see cref="T:CommunityToolkit.HighPerformance.Buffers.SpanOwner`1"/> instance of the requested length.</returns>
+            <exception cref="T:System.ArgumentOutOfRangeException">Thrown when <paramref name="size"/> is not valid.</exception>
+            <remarks>This method is just a proxy for the <see langword="private"/> constructor, for clarity.</remarks>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Buffers.SpanOwner`1.Allocate(System.Int32,System.Buffers.ArrayPool{`0})">
+            <summary>
+            Creates a new <see cref="T:CommunityToolkit.HighPerformance.Buffers.SpanOwner`1"/> instance with the specified parameters.
+            </summary>
+            <param name="size">The length of the new memory buffer to use.</param>
+            <param name="pool">The <see cref="T:System.Buffers.ArrayPool`1"/> instance to use.</param>
+            <returns>A <see cref="T:CommunityToolkit.HighPerformance.Buffers.SpanOwner`1"/> instance of the requested length.</returns>
+            <exception cref="T:System.ArgumentOutOfRangeException">Thrown when <paramref name="size"/> is not valid.</exception>
+            <remarks>This method is just a proxy for the <see langword="private"/> constructor, for clarity.</remarks>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Buffers.SpanOwner`1.Allocate(System.Int32,CommunityToolkit.HighPerformance.Buffers.AllocationMode)">
+            <summary>
+            Creates a new <see cref="T:CommunityToolkit.HighPerformance.Buffers.SpanOwner`1"/> instance with the specified parameters.
+            </summary>
+            <param name="size">The length of the new memory buffer to use.</param>
+            <param name="mode">Indicates the allocation mode to use for the new buffer to rent.</param>
+            <returns>A <see cref="T:CommunityToolkit.HighPerformance.Buffers.SpanOwner`1"/> instance of the requested length.</returns>
+            <exception cref="T:System.ArgumentOutOfRangeException">Thrown when <paramref name="size"/> is not valid.</exception>
+            <remarks>This method is just a proxy for the <see langword="private"/> constructor, for clarity.</remarks>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Buffers.SpanOwner`1.Allocate(System.Int32,System.Buffers.ArrayPool{`0},CommunityToolkit.HighPerformance.Buffers.AllocationMode)">
+            <summary>
+            Creates a new <see cref="T:CommunityToolkit.HighPerformance.Buffers.SpanOwner`1"/> instance with the specified parameters.
+            </summary>
+            <param name="size">The length of the new memory buffer to use.</param>
+            <param name="pool">The <see cref="T:System.Buffers.ArrayPool`1"/> instance to use.</param>
+            <param name="mode">Indicates the allocation mode to use for the new buffer to rent.</param>
+            <returns>A <see cref="T:CommunityToolkit.HighPerformance.Buffers.SpanOwner`1"/> instance of the requested length.</returns>
+            <exception cref="T:System.ArgumentOutOfRangeException">Thrown when <paramref name="size"/> is not valid.</exception>
+            <remarks>This method is just a proxy for the <see langword="private"/> constructor, for clarity.</remarks>
+        </member>
+        <member name="P:CommunityToolkit.HighPerformance.Buffers.SpanOwner`1.Length">
+            <summary>
+            Gets the number of items in the current instance
+            </summary>
+        </member>
+        <member name="P:CommunityToolkit.HighPerformance.Buffers.SpanOwner`1.Span">
+            <summary>
+            Gets a <see cref="T:System.Span`1"/> wrapping the memory belonging to the current instance.
+            </summary>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Buffers.SpanOwner`1.DangerousGetReference">
+            <summary>
+            Returns a reference to the first element within the current instance, with no bounds check.
+            </summary>
+            <returns>A reference to the first element within the current instance.</returns>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Buffers.SpanOwner`1.DangerousGetArray">
+            <summary>
+            Gets an <see cref="T:System.ArraySegment`1"/> instance wrapping the underlying <typeparamref name="T"/> array in use.
+            </summary>
+            <returns>An <see cref="T:System.ArraySegment`1"/> instance wrapping the underlying <typeparamref name="T"/> array in use.</returns>
+            <remarks>
+            This method is meant to be used when working with APIs that only accept an array as input, and should be used with caution.
+            In particular, the returned array is rented from an array pool, and it is responsibility of the caller to ensure that it's
+            not used after the current <see cref="T:CommunityToolkit.HighPerformance.Buffers.SpanOwner`1"/> instance is disposed. Doing so is considered undefined behavior,
+            as the same array might be in use within another <see cref="T:CommunityToolkit.HighPerformance.Buffers.SpanOwner`1"/> instance.
+            </remarks>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Buffers.SpanOwner`1.Dispose">
+            <summary>
+            Implements the duck-typed <see cref="M:System.IDisposable.Dispose"/> method.
+            </summary>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Buffers.SpanOwner`1.ToString">
+            <inheritdoc/>
+        </member>
+        <member name="T:CommunityToolkit.HighPerformance.Buffers.StringPool">
+            <summary>
+            A configurable pool for <see cref="T:System.String"/> instances. This can be used to minimize allocations
+            when creating multiple <see cref="T:System.String"/> instances from buffers of <see cref="T:System.Char"/> values.
+            The <see cref="M:CommunityToolkit.HighPerformance.Buffers.StringPool.GetOrAdd(System.ReadOnlySpan{System.Char})"/> method provides a best-effort alternative to just creating
+            a new <see cref="T:System.String"/> instance every time, in order to minimize the number of duplicated instances.
+            The <see cref="T:CommunityToolkit.HighPerformance.Buffers.StringPool"/> type will internally manage a highly efficient priority queue for the
+            cached <see cref="T:System.String"/> instances, so that when the full capacity is reached, the least frequently
+            used values will be automatically discarded to leave room for new values to cache.
+            </summary>
+        </member>
+        <member name="F:CommunityToolkit.HighPerformance.Buffers.StringPool.DefaultSize">
+            <summary>
+            The size used by default by the parameterless constructor.
+            </summary>
+        </member>
+        <member name="F:CommunityToolkit.HighPerformance.Buffers.StringPool.MinimumSize">
+            <summary>
+            The minimum size for <see cref="T:CommunityToolkit.HighPerformance.Buffers.StringPool"/> instances.
+            </summary>
+        </member>
+        <member name="F:CommunityToolkit.HighPerformance.Buffers.StringPool.maps">
+            <summary>
+            The current array of <see cref="T:CommunityToolkit.HighPerformance.Buffers.StringPool.FixedSizePriorityMap"/> instances in use.
+            </summary>
+        </member>
+        <member name="F:CommunityToolkit.HighPerformance.Buffers.StringPool.numberOfMaps">
+            <summary>
+            The total number of maps in use.
+            </summary>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Buffers.StringPool.#ctor">
+            <summary>
+            Initializes a new instance of the <see cref="T:CommunityToolkit.HighPerformance.Buffers.StringPool"/> class.
+            </summary>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Buffers.StringPool.#ctor(System.Int32)">
+            <summary>
+            Initializes a new instance of the <see cref="T:CommunityToolkit.HighPerformance.Buffers.StringPool"/> class.
+            </summary>
+            <param name="minimumSize">The minimum size for the pool to create.</param>
+        </member>
+        <member name="P:CommunityToolkit.HighPerformance.Buffers.StringPool.Shared">
+            <summary>
+            Gets the shared <see cref="T:CommunityToolkit.HighPerformance.Buffers.StringPool"/> instance.
+            </summary>
+            <remarks>
+            The shared pool provides a singleton, reusable <see cref="T:CommunityToolkit.HighPerformance.Buffers.StringPool"/> instance that
+            can be accessed directly, and that pools <see cref="T:System.String"/> instances for the entire
+            process. Since <see cref="T:CommunityToolkit.HighPerformance.Buffers.StringPool"/> is thread-safe, the shared instance can be used
+            concurrently by multiple threads without the need for manual synchronization.
+            </remarks>
+        </member>
+        <member name="P:CommunityToolkit.HighPerformance.Buffers.StringPool.Size">
+            <summary>
+            Gets the total number of <see cref="T:System.String"/> that can be stored in the current instance.
+            </summary>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Buffers.StringPool.Add(System.String)">
+            <summary>
+            Stores a <see cref="T:System.String"/> instance in the internal cache.
+            </summary>
+            <param name="value">The input <see cref="T:System.String"/> instance to cache.</param>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Buffers.StringPool.GetOrAdd(System.String)">
+            <summary>
+            Gets a cached <see cref="T:System.String"/> instance matching the input content, or stores the input one.
+            </summary>
+            <param name="value">The input <see cref="T:System.String"/> instance with the contents to use.</param>
+            <returns>A <see cref="T:System.String"/> instance with the contents of <paramref name="value"/>, cached if possible.</returns>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Buffers.StringPool.GetOrAdd(System.ReadOnlySpan{System.Char})">
+            <summary>
+            Gets a cached <see cref="T:System.String"/> instance matching the input content, or creates a new one.
+            </summary>
+            <param name="span">The input <see cref="T:System.ReadOnlySpan`1"/> with the contents to use.</param>
+            <returns>A <see cref="T:System.String"/> instance with the contents of <paramref name="span"/>, cached if possible.</returns>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Buffers.StringPool.GetOrAdd(System.ReadOnlySpan{System.Byte},System.Text.Encoding)">
+            <summary>
+            Gets a cached <see cref="T:System.String"/> instance matching the input content (converted to Unicode), or creates a new one.
+            </summary>
+            <param name="span">The input <see cref="T:System.ReadOnlySpan`1"/> with the contents to use, in a specified encoding.</param>
+            <param name="encoding">The <see cref="T:System.Text.Encoding"/> instance to use to decode the contents of <paramref name="span"/>.</param>
+            <returns>A <see cref="T:System.String"/> instance with the contents of <paramref name="span"/>, cached if possible.</returns>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Buffers.StringPool.TryGet(System.ReadOnlySpan{System.Char},System.String@)">
+            <summary>
+            Tries to get a cached <see cref="T:System.String"/> instance matching the input content, if present.
+            </summary>
+            <param name="span">The input <see cref="T:System.ReadOnlySpan`1"/> with the contents to use.</param>
+            <param name="value">The resulting cached <see cref="T:System.String"/> instance, if present</param>
+            <returns>Whether or not the target <see cref="T:System.String"/> instance was found.</returns>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Buffers.StringPool.Reset">
+            <summary>
+            Resets the current instance and its associated maps.
+            </summary>
+        </member>
+        <member name="T:CommunityToolkit.HighPerformance.Buffers.StringPool.FixedSizePriorityMap">
+            <summary>
+            A configurable map containing a group of cached <see cref="T:System.String"/> instances.
+            </summary>
+            <remarks>
+            Instances of this type are stored in an array within <see cref="T:CommunityToolkit.HighPerformance.Buffers.StringPool"/> and they are
+            always accessed by reference - essentially as if this type had been a class. The type is
+            also private, so there's no risk for users to directly access it and accidentally copy an
+            instance, which would lead to bugs due to values becoming out of sync with the internal state
+            (that is, because instances would be copied by value, so primitive fields would not be shared).
+            The reason why we're using a struct here is to remove an indirection level and improve cache
+            locality when accessing individual buckets from the methods in the <see cref="T:CommunityToolkit.HighPerformance.Buffers.StringPool"/> type.
+            </remarks>
+        </member>
+        <member name="F:CommunityToolkit.HighPerformance.Buffers.StringPool.FixedSizePriorityMap.EndOfList">
+            <summary>
+            The index representing the end of a given list.
+            </summary>
+        </member>
+        <member name="F:CommunityToolkit.HighPerformance.Buffers.StringPool.FixedSizePriorityMap.buckets">
+            <summary>
+            The array of 1-based indices for the <see cref="T:CommunityToolkit.HighPerformance.Buffers.StringPool.FixedSizePriorityMap.MapEntry"/> items stored in <see cref="F:CommunityToolkit.HighPerformance.Buffers.StringPool.FixedSizePriorityMap.mapEntries"/>.
+            </summary>
+        </member>
+        <member name="F:CommunityToolkit.HighPerformance.Buffers.StringPool.FixedSizePriorityMap.mapEntries">
+            <summary>
+            The array of currently cached entries (ie. the lists for each hash group).
+            </summary>
+        </member>
+        <member name="F:CommunityToolkit.HighPerformance.Buffers.StringPool.FixedSizePriorityMap.heapEntries">
+            <summary>
+            The array of priority values associated to each item stored in <see cref="F:CommunityToolkit.HighPerformance.Buffers.StringPool.FixedSizePriorityMap.mapEntries"/>.
+            </summary>
+        </member>
+        <member name="F:CommunityToolkit.HighPerformance.Buffers.StringPool.FixedSizePriorityMap.count">
+            <summary>
+            The current number of items stored in the map.
+            </summary>
+        </member>
+        <member name="F:CommunityToolkit.HighPerformance.Buffers.StringPool.FixedSizePriorityMap.timestamp">
+            <summary>
+            The current incremental timestamp for the items stored in <see cref="F:CommunityToolkit.HighPerformance.Buffers.StringPool.FixedSizePriorityMap.heapEntries"/>.
+            </summary>
+        </member>
+        <member name="T:CommunityToolkit.HighPerformance.Buffers.StringPool.FixedSizePriorityMap.MapEntry">
+            <summary>
+            A type representing a map entry, ie. a node in a given list.
+            </summary>
+        </member>
+        <member name="F:CommunityToolkit.HighPerformance.Buffers.StringPool.FixedSizePriorityMap.MapEntry.HashCode">
+            <summary>
+            The precomputed hashcode for <see cref="F:CommunityToolkit.HighPerformance.Buffers.StringPool.FixedSizePriorityMap.MapEntry.Value"/>.
+            </summary>
+        </member>
+        <member name="F:CommunityToolkit.HighPerformance.Buffers.StringPool.FixedSizePriorityMap.MapEntry.Value">
+            <summary>
+            The <see cref="T:System.String"/> instance cached in this entry.
+            </summary>
+        </member>
+        <member name="F:CommunityToolkit.HighPerformance.Buffers.StringPool.FixedSizePriorityMap.MapEntry.NextIndex">
+            <summary>
+            The 0-based index for the next node in the current list.
+            </summary>
+        </member>
+        <member name="F:CommunityToolkit.HighPerformance.Buffers.StringPool.FixedSizePriorityMap.MapEntry.HeapIndex">
+            <summary>
+            The 0-based index for the heap entry corresponding to the current node.
+            </summary>
+        </member>
+        <member name="T:CommunityToolkit.HighPerformance.Buffers.StringPool.FixedSizePriorityMap.HeapEntry">
+            <summary>
+            A type representing a heap entry, used to associate priority to each item.
+            </summary>
+        </member>
+        <member name="F:CommunityToolkit.HighPerformance.Buffers.StringPool.FixedSizePriorityMap.HeapEntry.Timestamp">
+            <summary>
+            The timestamp for the current entry (ie. the priority for the item).
+            </summary>
+        </member>
+        <member name="F:CommunityToolkit.HighPerformance.Buffers.StringPool.FixedSizePriorityMap.HeapEntry.MapIndex">
+            <summary>
+            The 0-based index for the map entry corresponding to the current item.
+            </summary>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Buffers.StringPool.FixedSizePriorityMap.#ctor(System.Int32)">
+            <summary>
+            Initializes a new instance of the <see cref="T:CommunityToolkit.HighPerformance.Buffers.StringPool.FixedSizePriorityMap"/> struct.
+            </summary>
+            <param name="capacity">The fixed capacity of the current map.</param>
+        </member>
+        <member name="P:CommunityToolkit.HighPerformance.Buffers.StringPool.FixedSizePriorityMap.SyncRoot">
+            <summary>
+            Gets an <see cref="T:System.Object"/> that can be used to synchronize access to the current instance.
+            </summary>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Buffers.StringPool.FixedSizePriorityMap.Add(System.String,System.Int32)">
+            <summary>
+            Implements <see cref="M:CommunityToolkit.HighPerformance.Buffers.StringPool.Add(System.String)"/> for the current instance.
+            </summary>
+            <param name="value">The input <see cref="T:System.String"/> instance to cache.</param>
+            <param name="hashcode">The precomputed hashcode for <paramref name="value"/>.</param>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Buffers.StringPool.FixedSizePriorityMap.GetOrAdd(System.String,System.Int32)">
+            <summary>
+            Implements <see cref="M:CommunityToolkit.HighPerformance.Buffers.StringPool.GetOrAdd(System.String)"/> for the current instance.
+            </summary>
+            <param name="value">The input <see cref="T:System.String"/> instance with the contents to use.</param>
+            <param name="hashcode">The precomputed hashcode for <paramref name="value"/>.</param>
+            <returns>A <see cref="T:System.String"/> instance with the contents of <paramref name="value"/>.</returns>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Buffers.StringPool.FixedSizePriorityMap.GetOrAdd(System.ReadOnlySpan{System.Char},System.Int32)">
+            <summary>
+            Implements <see cref="M:CommunityToolkit.HighPerformance.Buffers.StringPool.GetOrAdd(System.ReadOnlySpan{System.Char})"/> for the current instance.
+            </summary>
+            <param name="span">The input <see cref="T:System.ReadOnlySpan`1"/> with the contents to use.</param>
+            <param name="hashcode">The precomputed hashcode for <paramref name="span"/>.</param>
+            <returns>A <see cref="T:System.String"/> instance with the contents of <paramref name="span"/>, cached if possible.</returns>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Buffers.StringPool.FixedSizePriorityMap.TryGet(System.ReadOnlySpan{System.Char},System.Int32,System.String@)">
+            <summary>
+            Implements <see cref="M:CommunityToolkit.HighPerformance.Buffers.StringPool.TryGet(System.ReadOnlySpan{System.Char},System.String@)"/> for the current instance.
+            </summary>
+            <param name="span">The input <see cref="T:System.ReadOnlySpan`1"/> with the contents to use.</param>
+            <param name="hashcode">The precomputed hashcode for <paramref name="span"/>.</param>
+            <param name="value">The resulting cached <see cref="T:System.String"/> instance, if present</param>
+            <returns>Whether or not the target <see cref="T:System.String"/> instance was found.</returns>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Buffers.StringPool.FixedSizePriorityMap.Reset">
+            <summary>
+            Resets the current instance and throws away all the cached values.
+            </summary>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Buffers.StringPool.FixedSizePriorityMap.TryGet(System.ReadOnlySpan{System.Char},System.Int32)">
+            <summary>
+            Tries to get a target <see cref="T:System.String"/> instance, if it exists, and returns a reference to it.
+            </summary>
+            <param name="span">The input <see cref="T:System.ReadOnlySpan`1"/> with the contents to use.</param>
+            <param name="hashcode">The precomputed hashcode for <paramref name="span"/>.</param>
+            <returns>A reference to the slot where the target <see cref="T:System.String"/> instance could be.</returns>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Buffers.StringPool.FixedSizePriorityMap.Insert(System.String,System.Int32)">
+            <summary>
+            Inserts a new <see cref="T:System.String"/> instance in the current map, freeing up a space if needed.
+            </summary>
+            <param name="value">The new <see cref="T:System.String"/> instance to store.</param>
+            <param name="hashcode">The precomputed hashcode for <paramref name="value"/>.</param>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Buffers.StringPool.FixedSizePriorityMap.Remove(System.Int32,System.Int32)">
+            <summary>
+            Removes a specified <see cref="T:System.String"/> instance from the map to free up one slot.
+            </summary>
+            <param name="hashcode">The precomputed hashcode of the instance to remove.</param>
+            <param name="mapIndex">The index of the target map node to remove.</param>
+            <remarks>The input <see cref="T:System.String"/> instance needs to already exist in the map.</remarks>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Buffers.StringPool.FixedSizePriorityMap.UpdateTimestamp(System.Int32@)">
+            <summary>
+            Updates the timestamp of a heap node at the specified index (which is then synced back).
+            </summary>
+            <param name="heapIndex">The index of the target heap node to update.</param>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Buffers.StringPool.FixedSizePriorityMap.UpdateAllTimestamps">
+            <summary>
+            Updates the timestamp of all the current heap nodes in incrementing order.
+            The heap is always guaranteed to be complete binary tree, so when it contains
+            a given number of nodes, those are all contiguous from the start of the array.
+            </summary>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Buffers.StringPool.GetHashCode(System.ReadOnlySpan{System.Char})">
+            <summary>
+            Gets the (positive) hashcode for a given <see cref="T:System.ReadOnlySpan`1"/> instance.
+            </summary>
+            <param name="span">The input <see cref="T:System.ReadOnlySpan`1"/> instance.</param>
+            <returns>The hashcode for <paramref name="span"/>.</returns>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Buffers.StringPool.ThrowArgumentOutOfRangeException">
+            <summary>
+            Throws an <see cref="T:System.ArgumentException"/> when the requested size exceeds the capacity.
+            </summary>
+        </member>
+        <member name="T:CommunityToolkit.HighPerformance.Buffers.Views.MemoryDebugView`1">
+            <summary>
+            A debug proxy used to display items in a 1D layout.
+            </summary>
+            <typeparam name="T">The type of items to display.</typeparam>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Buffers.Views.MemoryDebugView`1.#ctor(CommunityToolkit.HighPerformance.Buffers.ArrayPoolBufferWriter{`0})">
+            <summary>
+            Initializes a new instance of the <see cref="T:CommunityToolkit.HighPerformance.Buffers.Views.MemoryDebugView`1"/> class with the specified parameters.
+            </summary>
+            <param name="arrayPoolBufferWriter">The input <see cref="T:CommunityToolkit.HighPerformance.Buffers.ArrayPoolBufferWriter`1"/> instance with the items to display.</param>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Buffers.Views.MemoryDebugView`1.#ctor(CommunityToolkit.HighPerformance.Buffers.MemoryBufferWriter{`0})">
+            <summary>
+            Initializes a new instance of the <see cref="T:CommunityToolkit.HighPerformance.Buffers.Views.MemoryDebugView`1"/> class with the specified parameters.
+            </summary>
+            <param name="memoryBufferWriter">The input <see cref="T:CommunityToolkit.HighPerformance.Buffers.MemoryBufferWriter`1"/> instance with the items to display.</param>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Buffers.Views.MemoryDebugView`1.#ctor(CommunityToolkit.HighPerformance.Buffers.MemoryOwner{`0})">
+            <summary>
+            Initializes a new instance of the <see cref="T:CommunityToolkit.HighPerformance.Buffers.Views.MemoryDebugView`1"/> class with the specified parameters.
+            </summary>
+            <param name="memoryOwner">The input <see cref="T:CommunityToolkit.HighPerformance.Buffers.MemoryOwner`1"/> instance with the items to display.</param>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Buffers.Views.MemoryDebugView`1.#ctor(CommunityToolkit.HighPerformance.Buffers.SpanOwner{`0})">
+            <summary>
+            Initializes a new instance of the <see cref="T:CommunityToolkit.HighPerformance.Buffers.Views.MemoryDebugView`1"/> class with the specified parameters.
+            </summary>
+            <param name="spanOwner">The input <see cref="T:CommunityToolkit.HighPerformance.Buffers.SpanOwner`1"/> instance with the items to display.</param>
+        </member>
+        <member name="P:CommunityToolkit.HighPerformance.Buffers.Views.MemoryDebugView`1.Items">
+            <summary>
+            Gets the items to display for the current instance
+            </summary>
+        </member>
+        <member name="T:CommunityToolkit.HighPerformance.Enumerables.ReadOnlyRefEnumerable`1">
+            <summary>
+            A <see langword="ref"/> <see langword="struct"/> that iterates readonly items from arbitrary memory locations.
+            </summary>
+            <typeparam name="T">The type of items to enumerate.</typeparam>
+        </member>
+        <member name="F:CommunityToolkit.HighPerformance.Enumerables.ReadOnlyRefEnumerable`1.span">
+            <summary>
+            The <see cref="T:System.ReadOnlySpan`1"/> instance pointing to the first item in the target memory area.
+            </summary>
+            <remarks>The <see cref="P:System.ReadOnlySpan`1.Length"/> field maps to the total available length.</remarks>
+        </member>
+        <member name="F:CommunityToolkit.HighPerformance.Enumerables.ReadOnlyRefEnumerable`1.step">
+            <summary>
+            The distance between items in the sequence to enumerate.
+            </summary>
+            <remarks>The distance refers to <typeparamref name="T"/> items, not byte offset.</remarks>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Enumerables.ReadOnlyRefEnumerable`1.#ctor(System.ReadOnlySpan{`0},System.Int32)">
+            <summary>
+            Initializes a new instance of the <see cref="T:CommunityToolkit.HighPerformance.Enumerables.ReadOnlyRefEnumerable`1"/> struct.
+            </summary>
+            <param name="span">The <see cref="T:System.ReadOnlySpan`1"/> instance pointing to the first item in the target memory area.</param>
+            <param name="step">The distance between items in the sequence to enumerate.</param>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Enumerables.ReadOnlyRefEnumerable`1.#ctor(`0@,System.Int32,System.Int32)">
+            <summary>
+            Initializes a new instance of the <see cref="T:CommunityToolkit.HighPerformance.Enumerables.ReadOnlyRefEnumerable`1"/> struct.
+            </summary>
+            <param name="reference">A reference to the first item of the sequence.</param>
+            <param name="length">The number of items in the sequence.</param>
+            <param name="step">The distance between items in the sequence to enumerate.</param>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Enumerables.ReadOnlyRefEnumerable`1.DangerousCreate(`0@,System.Int32,System.Int32)">
+            <summary>
+            Creates a new instance of the <see cref="T:CommunityToolkit.HighPerformance.Enumerables.ReadOnlyRefEnumerable`1"/> struct with the specified parameters.
+            </summary>
+            <param name="value">The reference to the first <typeparamref name="T"/> item to map.</param>
+            <param name="length">The number of items in the sequence.</param>
+            <param name="step">The distance between items in the sequence to enumerate.</param>
+            <returns>A <see cref="T:CommunityToolkit.HighPerformance.Enumerables.ReadOnlyRefEnumerable`1"/> instance with the specified parameters.</returns>
+            <exception cref="T:System.ArgumentOutOfRangeException">Thrown when one of the parameters are negative.</exception>
+        </member>
+        <member name="P:CommunityToolkit.HighPerformance.Enumerables.ReadOnlyRefEnumerable`1.Length">
+            <summary>
+            Gets the total available length for the sequence.
+            </summary>
+        </member>
+        <member name="P:CommunityToolkit.HighPerformance.Enumerables.ReadOnlyRefEnumerable`1.Item(System.Int32)">
+            <summary>
+            Gets the element at the specified zero-based index.
+            </summary>
+            <param name="index">The zero-based index of the element.</param>
+            <returns>A reference to the element at the specified index.</returns>
+            <exception cref="T:System.IndexOutOfRangeException">
+            Thrown when <paramref name="index"/> is invalid.
+            </exception>
+        </member>
+        <member name="P:CommunityToolkit.HighPerformance.Enumerables.ReadOnlyRefEnumerable`1.Item(System.Index)">
+            <summary>
+            Gets the element at the specified zero-based index.
+            </summary>
+            <param name="index">The zero-based index of the element.</param>
+            <returns>A reference to the element at the specified index.</returns>
+            <exception cref="T:System.IndexOutOfRangeException">
+            Thrown when <paramref name="index"/> is invalid.
+            </exception>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Enumerables.ReadOnlyRefEnumerable`1.GetEnumerator">
+            <inheritdoc cref="M:System.Collections.IEnumerable.GetEnumerator"/>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Enumerables.ReadOnlyRefEnumerable`1.CopyTo(CommunityToolkit.HighPerformance.Enumerables.RefEnumerable{`0})">
+            <summary>
+            Copies the contents of this <see cref="T:CommunityToolkit.HighPerformance.Enumerables.ReadOnlyRefEnumerable`1"/> into a destination <see cref="T:CommunityToolkit.HighPerformance.Enumerables.RefEnumerable`1"/> instance.
+            </summary>
+            <param name="destination">The destination <see cref="T:CommunityToolkit.HighPerformance.Enumerables.RefEnumerable`1"/> instance.</param>
+            <exception cref="T:System.ArgumentException">
+            Thrown when <paramref name="destination"/> is shorter than the source <see cref="T:CommunityToolkit.HighPerformance.Enumerables.ReadOnlyRefEnumerable`1"/> instance.
+            </exception>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Enumerables.ReadOnlyRefEnumerable`1.TryCopyTo(CommunityToolkit.HighPerformance.Enumerables.RefEnumerable{`0})">
+            <summary>
+            Attempts to copy the current <see cref="T:CommunityToolkit.HighPerformance.Enumerables.ReadOnlyRefEnumerable`1"/> instance to a destination <see cref="T:CommunityToolkit.HighPerformance.Enumerables.RefEnumerable`1"/>.
+            </summary>
+            <param name="destination">The target <see cref="T:CommunityToolkit.HighPerformance.Enumerables.RefEnumerable`1"/> of the copy operation.</param>
+            <returns>Whether or not the operation was successful.</returns>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Enumerables.ReadOnlyRefEnumerable`1.CopyTo(System.Span{`0})">
+            <summary>
+            Copies the contents of this <see cref="T:CommunityToolkit.HighPerformance.Enumerables.RefEnumerable`1"/> into a destination <see cref="T:System.Span`1"/> instance.
+            </summary>
+            <param name="destination">The destination <see cref="T:System.Span`1"/> instance.</param>
+            <exception cref="T:System.ArgumentException">
+            Thrown when <paramref name="destination"/> is shorter than the source <see cref="T:CommunityToolkit.HighPerformance.Enumerables.RefEnumerable`1"/> instance.
+            </exception>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Enumerables.ReadOnlyRefEnumerable`1.TryCopyTo(System.Span{`0})">
+            <summary>
+            Attempts to copy the current <see cref="T:CommunityToolkit.HighPerformance.Enumerables.RefEnumerable`1"/> instance to a destination <see cref="T:System.Span`1"/>.
+            </summary>
+            <param name="destination">The target <see cref="T:System.Span`1"/> of the copy operation.</param>
+            <returns>Whether or not the operation was successful.</returns>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Enumerables.ReadOnlyRefEnumerable`1.ToArray">
+            <inheritdoc cref="M:CommunityToolkit.HighPerformance.Enumerables.RefEnumerable`1.ToArray"/>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Enumerables.ReadOnlyRefEnumerable`1.op_Implicit(CommunityToolkit.HighPerformance.Enumerables.RefEnumerable{`0})~CommunityToolkit.HighPerformance.Enumerables.ReadOnlyRefEnumerable{`0}">
+            <summary>
+            Implicitly converts a <see cref="T:CommunityToolkit.HighPerformance.Enumerables.RefEnumerable`1"/> instance into a <see cref="T:CommunityToolkit.HighPerformance.Enumerables.ReadOnlyRefEnumerable`1"/> one.
+            </summary>
+            <param name="enumerable">The input <see cref="T:CommunityToolkit.HighPerformance.Enumerables.RefEnumerable`1"/> instance.</param>
+        </member>
+        <member name="T:CommunityToolkit.HighPerformance.Enumerables.ReadOnlyRefEnumerable`1.Enumerator">
+            <summary>
+            A custom enumerator type to traverse items within a <see cref="T:CommunityToolkit.HighPerformance.Enumerables.ReadOnlyRefEnumerable`1"/> instance.
+            </summary>
+        </member>
+        <member name="F:CommunityToolkit.HighPerformance.Enumerables.ReadOnlyRefEnumerable`1.Enumerator.span">
+            <inheritdoc cref="F:CommunityToolkit.HighPerformance.Enumerables.ReadOnlyRefEnumerable`1.span"/>
+        </member>
+        <member name="F:CommunityToolkit.HighPerformance.Enumerables.ReadOnlyRefEnumerable`1.Enumerator.step">
+            <inheritdoc cref="F:CommunityToolkit.HighPerformance.Enumerables.ReadOnlyRefEnumerable`1.step"/>
+        </member>
+        <member name="F:CommunityToolkit.HighPerformance.Enumerables.ReadOnlyRefEnumerable`1.Enumerator.position">
+            <summary>
+            The current position in the sequence.
+            </summary>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Enumerables.ReadOnlyRefEnumerable`1.Enumerator.#ctor(System.ReadOnlySpan{`0},System.Int32)">
+            <summary>
+            Initializes a new instance of the <see cref="T:CommunityToolkit.HighPerformance.Enumerables.ReadOnlyRefEnumerable`1.Enumerator"/> struct.
+            </summary>
+            <param name="span">The <see cref="T:System.ReadOnlySpan`1"/> instance with the info on the items to traverse.</param>
+            <param name="step">The distance between items in the sequence to enumerate.</param>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Enumerables.ReadOnlyRefEnumerable`1.Enumerator.MoveNext">
+            <inheritdoc cref="M:System.Collections.IEnumerator.MoveNext"/>
+        </member>
+        <member name="P:CommunityToolkit.HighPerformance.Enumerables.ReadOnlyRefEnumerable`1.Enumerator.Current">
+            <inheritdoc cref="P:System.Collections.Generic.IEnumerator`1.Current"/>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Enumerables.ReadOnlyRefEnumerable`1.ThrowArgumentOutOfRangeExceptionForLength">
+            <summary>
+            Throws an <see cref="T:System.ArgumentOutOfRangeException"/> when the "length" parameter is invalid.
+            </summary>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Enumerables.ReadOnlyRefEnumerable`1.ThrowArgumentOutOfRangeExceptionForStep">
+            <summary>
+            Throws an <see cref="T:System.ArgumentOutOfRangeException"/> when the "step" parameter is invalid.
+            </summary>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Enumerables.ReadOnlyRefEnumerable`1.ThrowArgumentExceptionForDestinationTooShort">
+            <summary>
+            Throws an <see cref="T:System.ArgumentException"/> when the target span is too short.
+            </summary>
+        </member>
+        <member name="T:CommunityToolkit.HighPerformance.Enumerables.ReadOnlySpanEnumerable`1">
+            <summary>
+            A <see langword="ref"/> <see langword="struct"/> that enumerates the items in a given <see cref="T:System.ReadOnlySpan`1"/> instance.
+            </summary>
+            <typeparam name="T">The type of items to enumerate.</typeparam>
+        </member>
+        <member name="F:CommunityToolkit.HighPerformance.Enumerables.ReadOnlySpanEnumerable`1.span">
+            <summary>
+            The source <see cref="T:System.ReadOnlySpan`1"/> instance.
+            </summary>
+        </member>
+        <member name="F:CommunityToolkit.HighPerformance.Enumerables.ReadOnlySpanEnumerable`1.index">
+            <summary>
+            The current index within <see cref="F:CommunityToolkit.HighPerformance.Enumerables.ReadOnlySpanEnumerable`1.span"/>.
+            </summary>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Enumerables.ReadOnlySpanEnumerable`1.#ctor(System.ReadOnlySpan{`0})">
+            <summary>
+            Initializes a new instance of the <see cref="T:CommunityToolkit.HighPerformance.Enumerables.ReadOnlySpanEnumerable`1"/> struct.
+            </summary>
+            <param name="span">The source <see cref="T:System.ReadOnlySpan`1"/> instance.</param>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Enumerables.ReadOnlySpanEnumerable`1.GetEnumerator">
+            <summary>
+            Implements the duck-typed <see cref="M:System.Collections.Generic.IEnumerable`1.GetEnumerator"/> method.
+            </summary>
+            <returns>An <see cref="T:CommunityToolkit.HighPerformance.Enumerables.ReadOnlySpanEnumerable`1"/> instance targeting the current <see cref="T:System.ReadOnlySpan`1"/> value.</returns>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Enumerables.ReadOnlySpanEnumerable`1.MoveNext">
+            <summary>
+            Implements the duck-typed <see cref="M:System.Collections.IEnumerator.MoveNext"/> method.
+            </summary>
+            <returns><see langword="true"/> whether a new element is available, <see langword="false"/> otherwise</returns>
+        </member>
+        <member name="P:CommunityToolkit.HighPerformance.Enumerables.ReadOnlySpanEnumerable`1.Current">
+            <summary>
+            Gets the duck-typed <see cref="P:System.Collections.Generic.IEnumerator`1.Current"/> property.
+            </summary>
+        </member>
+        <member name="T:CommunityToolkit.HighPerformance.Enumerables.ReadOnlySpanEnumerable`1.Item">
+            <summary>
+            An item from a source <see cref="T:System.Span`1"/> instance.
+            </summary>
+        </member>
+        <member name="F:CommunityToolkit.HighPerformance.Enumerables.ReadOnlySpanEnumerable`1.Item.span">
+            <summary>
+            The source <see cref="T:System.ReadOnlySpan`1"/> instance.
+            </summary>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Enumerables.ReadOnlySpanEnumerable`1.Item.#ctor(`0@,System.Int32)">
+            <summary>
+            Initializes a new instance of the <see cref="T:CommunityToolkit.HighPerformance.Enumerables.ReadOnlySpanEnumerable`1.Item"/> struct.
+            </summary>
+            <param name="value">A reference to the target value.</param>
+            <param name="index">The index of the target value.</param>
+        </member>
+        <member name="P:CommunityToolkit.HighPerformance.Enumerables.ReadOnlySpanEnumerable`1.Item.Value">
+            <summary>
+            Gets the reference to the current value.
+            </summary>
+        </member>
+        <member name="P:CommunityToolkit.HighPerformance.Enumerables.ReadOnlySpanEnumerable`1.Item.Index">
+            <summary>
+            Gets the current index.
+            </summary>
+        </member>
+        <member name="T:CommunityToolkit.HighPerformance.Enumerables.ReadOnlySpanTokenizer`1">
+            <summary>
+            A <see langword="ref"/> <see langword="struct"/> that tokenizes a given <see cref="T:System.ReadOnlySpan`1"/> instance.
+            </summary>
+            <typeparam name="T">The type of items to enumerate.</typeparam>
+        </member>
+        <member name="F:CommunityToolkit.HighPerformance.Enumerables.ReadOnlySpanTokenizer`1.span">
+            <summary>
+            The source <see cref="T:System.ReadOnlySpan`1"/> instance.
+            </summary>
+        </member>
+        <member name="F:CommunityToolkit.HighPerformance.Enumerables.ReadOnlySpanTokenizer`1.separator">
+            <summary>
+            The separator item to use.
+            </summary>
+        </member>
+        <member name="F:CommunityToolkit.HighPerformance.Enumerables.ReadOnlySpanTokenizer`1.start">
+            <summary>
+            The current initial offset.
+            </summary>
+        </member>
+        <member name="F:CommunityToolkit.HighPerformance.Enumerables.ReadOnlySpanTokenizer`1.end">
+            <summary>
+            The current final offset.
+            </summary>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Enumerables.ReadOnlySpanTokenizer`1.#ctor(System.ReadOnlySpan{`0},`0)">
+            <summary>
+            Initializes a new instance of the <see cref="T:CommunityToolkit.HighPerformance.Enumerables.ReadOnlySpanTokenizer`1"/> struct.
+            </summary>
+            <param name="span">The source <see cref="T:System.ReadOnlySpan`1"/> instance.</param>
+            <param name="separator">The separator item to use.</param>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Enumerables.ReadOnlySpanTokenizer`1.GetEnumerator">
+            <summary>
+            Implements the duck-typed <see cref="M:System.Collections.Generic.IEnumerable`1.GetEnumerator"/> method.
+            </summary>
+            <returns>An <see cref="T:CommunityToolkit.HighPerformance.Enumerables.ReadOnlySpanTokenizer`1"/> instance targeting the current <see cref="T:System.ReadOnlySpan`1"/> value.</returns>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Enumerables.ReadOnlySpanTokenizer`1.MoveNext">
+            <summary>
+            Implements the duck-typed <see cref="M:System.Collections.IEnumerator.MoveNext"/> method.
+            </summary>
+            <returns><see langword="true"/> whether a new element is available, <see langword="false"/> otherwise</returns>
+        </member>
+        <member name="P:CommunityToolkit.HighPerformance.Enumerables.ReadOnlySpanTokenizer`1.Current">
+            <summary>
+            Gets the duck-typed <see cref="P:System.Collections.Generic.IEnumerator`1.Current"/> property.
+            </summary>
+        </member>
+        <member name="T:CommunityToolkit.HighPerformance.Enumerables.RefEnumerable`1">
+            <summary>
+            A <see langword="ref"/> <see langword="struct"/> that iterates items from arbitrary memory locations.
+            </summary>
+            <typeparam name="T">The type of items to enumerate.</typeparam>
+        </member>
+        <member name="F:CommunityToolkit.HighPerformance.Enumerables.RefEnumerable`1.Span">
+            <summary>
+            The <see cref="T:System.Span`1"/> instance pointing to the first item in the target memory area.
+            </summary>
+            <remarks>The <see cref="P:System.Span`1.Length"/> field maps to the total available length.</remarks>
+        </member>
+        <member name="F:CommunityToolkit.HighPerformance.Enumerables.RefEnumerable`1.Step">
+            <summary>
+            The distance between items in the sequence to enumerate.
+            </summary>
+            <remarks>The distance refers to <typeparamref name="T"/> items, not byte offset.</remarks>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Enumerables.RefEnumerable`1.#ctor(`0@,System.Int32,System.Int32)">
+            <summary>
+            Initializes a new instance of the <see cref="T:CommunityToolkit.HighPerformance.Enumerables.RefEnumerable`1"/> struct.
+            </summary>
+            <param name="reference">A reference to the first item of the sequence.</param>
+            <param name="length">The number of items in the sequence.</param>
+            <param name="step">The distance between items in the sequence to enumerate.</param>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Enumerables.RefEnumerable`1.DangerousCreate(`0@,System.Int32,System.Int32)">
+            <summary>
+            Creates a new instance of the <see cref="T:CommunityToolkit.HighPerformance.Enumerables.RefEnumerable`1"/> struct with the specified parameters.
+            </summary>
+            <param name="value">The reference to the first <typeparamref name="T"/> item to map.</param>
+            <param name="length">The number of items in the sequence.</param>
+            <param name="step">The distance between items in the sequence to enumerate.</param>
+            <returns>A <see cref="T:CommunityToolkit.HighPerformance.Enumerables.RefEnumerable`1"/> instance with the specified parameters.</returns>
+            <exception cref="T:System.ArgumentOutOfRangeException">Thrown when one of the parameters are negative.</exception>
+        </member>
+        <member name="P:CommunityToolkit.HighPerformance.Enumerables.RefEnumerable`1.Length">
+            <summary>
+            Gets the total available length for the sequence.
+            </summary>
+        </member>
+        <member name="P:CommunityToolkit.HighPerformance.Enumerables.RefEnumerable`1.Item(System.Int32)">
+            <summary>
+            Gets the element at the specified zero-based index.
+            </summary>
+            <param name="index">The zero-based index of the element.</param>
+            <returns>A reference to the element at the specified index.</returns>
+            <exception cref="T:System.IndexOutOfRangeException">
+            Thrown when <paramref name="index"/> is invalid.
+            </exception>
+        </member>
+        <member name="P:CommunityToolkit.HighPerformance.Enumerables.RefEnumerable`1.Item(System.Index)">
+            <summary>
+            Gets the element at the specified zero-based index.
+            </summary>
+            <param name="index">The zero-based index of the element.</param>
+            <returns>A reference to the element at the specified index.</returns>
+            <exception cref="T:System.IndexOutOfRangeException">
+            Thrown when <paramref name="index"/> is invalid.
+            </exception>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Enumerables.RefEnumerable`1.GetEnumerator">
+            <inheritdoc cref="M:System.Collections.IEnumerable.GetEnumerator"/>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Enumerables.RefEnumerable`1.Clear">
+            <summary>
+            Clears the contents of the current <see cref="T:CommunityToolkit.HighPerformance.Enumerables.RefEnumerable`1"/> instance.
+            </summary>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Enumerables.RefEnumerable`1.CopyTo(CommunityToolkit.HighPerformance.Enumerables.RefEnumerable{`0})">
+            <summary>
+            Copies the contents of this <see cref="T:CommunityToolkit.HighPerformance.Enumerables.RefEnumerable`1"/> into a destination <see cref="T:CommunityToolkit.HighPerformance.Enumerables.RefEnumerable`1"/> instance.
+            </summary>
+            <param name="destination">The destination <see cref="T:CommunityToolkit.HighPerformance.Enumerables.RefEnumerable`1"/> instance.</param>
+            <exception cref="T:System.ArgumentException">
+            Thrown when <paramref name="destination"/> is shorter than the source <see cref="T:CommunityToolkit.HighPerformance.Enumerables.RefEnumerable`1"/> instance.
+            </exception>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Enumerables.RefEnumerable`1.TryCopyTo(CommunityToolkit.HighPerformance.Enumerables.RefEnumerable{`0})">
+            <summary>
+            Attempts to copy the current <see cref="T:CommunityToolkit.HighPerformance.Enumerables.RefEnumerable`1"/> instance to a destination <see cref="T:CommunityToolkit.HighPerformance.Enumerables.RefEnumerable`1"/>.
+            </summary>
+            <param name="destination">The target <see cref="T:CommunityToolkit.HighPerformance.Enumerables.RefEnumerable`1"/> of the copy operation.</param>
+            <returns>Whether or not the operation was successful.</returns>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Enumerables.RefEnumerable`1.CopyTo(System.Span{`0})">
+            <summary>
+            Copies the contents of this <see cref="T:CommunityToolkit.HighPerformance.Enumerables.RefEnumerable`1"/> into a destination <see cref="T:System.Span`1"/> instance.
+            </summary>
+            <param name="destination">The destination <see cref="T:System.Span`1"/> instance.</param>
+            <exception cref="T:System.ArgumentException">
+            Thrown when <paramref name="destination"/> is shorter than the source <see cref="T:CommunityToolkit.HighPerformance.Enumerables.RefEnumerable`1"/> instance.
+            </exception>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Enumerables.RefEnumerable`1.TryCopyTo(System.Span{`0})">
+            <summary>
+            Attempts to copy the current <see cref="T:CommunityToolkit.HighPerformance.Enumerables.RefEnumerable`1"/> instance to a destination <see cref="T:System.Span`1"/>.
+            </summary>
+            <param name="destination">The target <see cref="T:System.Span`1"/> of the copy operation.</param>
+            <returns>Whether or not the operation was successful.</returns>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Enumerables.RefEnumerable`1.CopyFrom(System.ReadOnlySpan{`0})">
+            <summary>
+            Copies the contents of a source <see cref="T:System.ReadOnlySpan`1"/> into the current <see cref="T:CommunityToolkit.HighPerformance.Enumerables.RefEnumerable`1"/> instance.
+            </summary>
+            <param name="source">The source <see cref="T:System.ReadOnlySpan`1"/> instance.</param>
+            <exception cref="T:System.ArgumentException">
+            Thrown when the current <see cref="T:CommunityToolkit.HighPerformance.Enumerables.RefEnumerable`1"/> is shorter than the source <see cref="T:System.ReadOnlySpan`1"/> instance.
+            </exception>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Enumerables.RefEnumerable`1.TryCopyFrom(System.ReadOnlySpan{`0})">
+            <summary>
+            Attempts to copy the source <see cref="T:System.ReadOnlySpan`1"/> into the current <see cref="T:CommunityToolkit.HighPerformance.Enumerables.RefEnumerable`1"/> instance.
+            </summary>
+            <param name="source">The source <see cref="T:System.ReadOnlySpan`1"/> instance.</param>
+            <returns>Whether or not the operation was successful.</returns>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Enumerables.RefEnumerable`1.Fill(`0)">
+            <summary>
+            Fills the elements of this <see cref="T:CommunityToolkit.HighPerformance.Enumerables.RefEnumerable`1"/> with a specified value.
+            </summary>
+            <param name="value">The value to assign to each element of the <see cref="T:CommunityToolkit.HighPerformance.Enumerables.RefEnumerable`1"/> instance.</param>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Enumerables.RefEnumerable`1.ToArray">
+            <summary>
+            Returns a <typeparamref name="T"/> array with the values in the target row.
+            </summary>
+            <returns>A <typeparamref name="T"/> array with the values in the target row.</returns>
+            <remarks>
+            This method will allocate a new <typeparamref name="T"/> array, so only
+            use it if you really need to copy the target items in a new memory location.
+            </remarks>
+        </member>
+        <member name="T:CommunityToolkit.HighPerformance.Enumerables.RefEnumerable`1.Enumerator">
+            <summary>
+            A custom enumerator type to traverse items within a <see cref="T:CommunityToolkit.HighPerformance.Enumerables.RefEnumerable`1"/> instance.
+            </summary>
+        </member>
+        <member name="F:CommunityToolkit.HighPerformance.Enumerables.RefEnumerable`1.Enumerator.span">
+            <inheritdoc cref="F:CommunityToolkit.HighPerformance.Enumerables.RefEnumerable`1.Span"/>
+        </member>
+        <member name="F:CommunityToolkit.HighPerformance.Enumerables.RefEnumerable`1.Enumerator.step">
+            <inheritdoc cref="F:CommunityToolkit.HighPerformance.Enumerables.RefEnumerable`1.Step"/>
+        </member>
+        <member name="F:CommunityToolkit.HighPerformance.Enumerables.RefEnumerable`1.Enumerator.position">
+            <summary>
+            The current position in the sequence.
+            </summary>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Enumerables.RefEnumerable`1.Enumerator.#ctor(System.Span{`0},System.Int32)">
+            <summary>
+            Initializes a new instance of the <see cref="T:CommunityToolkit.HighPerformance.Enumerables.RefEnumerable`1.Enumerator"/> struct.
+            </summary>
+            <param name="span">The <see cref="T:System.Span`1"/> instance with the info on the items to traverse.</param>
+            <param name="step">The distance between items in the sequence to enumerate.</param>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Enumerables.RefEnumerable`1.Enumerator.MoveNext">
+            <inheritdoc cref="M:System.Collections.IEnumerator.MoveNext"/>
+        </member>
+        <member name="P:CommunityToolkit.HighPerformance.Enumerables.RefEnumerable`1.Enumerator.Current">
+            <inheritdoc cref="P:System.Collections.Generic.IEnumerator`1.Current"/>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Enumerables.RefEnumerable`1.ThrowArgumentOutOfRangeExceptionForLength">
+            <summary>
+            Throws an <see cref="T:System.ArgumentOutOfRangeException"/> when the "length" parameter is invalid.
+            </summary>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Enumerables.RefEnumerable`1.ThrowArgumentOutOfRangeExceptionForStep">
+            <summary>
+            Throws an <see cref="T:System.ArgumentOutOfRangeException"/> when the "step" parameter is invalid.
+            </summary>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Enumerables.RefEnumerable`1.ThrowArgumentExceptionForDestinationTooShort">
+            <summary>
+            Throws an <see cref="T:System.ArgumentException"/> when the target span is too short.
+            </summary>
+        </member>
+        <member name="T:CommunityToolkit.HighPerformance.Enumerables.SpanEnumerable`1">
+            <summary>
+            A <see langword="ref"/> <see langword="struct"/> that enumerates the items in a given <see cref="T:System.Span`1"/> instance.
+            </summary>
+            <typeparam name="T">The type of items to enumerate.</typeparam>
+        </member>
+        <member name="F:CommunityToolkit.HighPerformance.Enumerables.SpanEnumerable`1.span">
+            <summary>
+            The source <see cref="T:System.Span`1"/> instance.
+            </summary>
+        </member>
+        <member name="F:CommunityToolkit.HighPerformance.Enumerables.SpanEnumerable`1.index">
+            <summary>
+            The current index within <see cref="F:CommunityToolkit.HighPerformance.Enumerables.SpanEnumerable`1.span"/>.
+            </summary>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Enumerables.SpanEnumerable`1.#ctor(System.Span{`0})">
+            <summary>
+            Initializes a new instance of the <see cref="T:CommunityToolkit.HighPerformance.Enumerables.SpanEnumerable`1"/> struct.
+            </summary>
+            <param name="span">The source <see cref="T:System.Span`1"/> instance.</param>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Enumerables.SpanEnumerable`1.GetEnumerator">
+            <summary>
+            Implements the duck-typed <see cref="M:System.Collections.Generic.IEnumerable`1.GetEnumerator"/> method.
+            </summary>
+            <returns>An <see cref="T:CommunityToolkit.HighPerformance.Enumerables.SpanEnumerable`1"/> instance targeting the current <see cref="T:System.Span`1"/> value.</returns>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Enumerables.SpanEnumerable`1.MoveNext">
+            <summary>
+            Implements the duck-typed <see cref="M:System.Collections.IEnumerator.MoveNext"/> method.
+            </summary>
+            <returns><see langword="true"/> whether a new element is available, <see langword="false"/> otherwise</returns>
+        </member>
+        <member name="P:CommunityToolkit.HighPerformance.Enumerables.SpanEnumerable`1.Current">
+            <summary>
+            Gets the duck-typed <see cref="P:System.Collections.Generic.IEnumerator`1.Current"/> property.
+            </summary>
+        </member>
+        <member name="T:CommunityToolkit.HighPerformance.Enumerables.SpanEnumerable`1.Item">
+            <summary>
+            An item from a source <see cref="T:System.Span`1"/> instance.
+            </summary>
+        </member>
+        <member name="F:CommunityToolkit.HighPerformance.Enumerables.SpanEnumerable`1.Item.span">
+            <summary>
+            The source <see cref="T:System.Span`1"/> instance.
+            </summary>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Enumerables.SpanEnumerable`1.Item.#ctor(`0@,System.Int32)">
+            <summary>
+            Initializes a new instance of the <see cref="T:CommunityToolkit.HighPerformance.Enumerables.SpanEnumerable`1.Item"/> struct.
+            </summary>
+            <param name="value">A reference to the target value.</param>
+            <param name="index">The index of the target value.</param>
+        </member>
+        <member name="P:CommunityToolkit.HighPerformance.Enumerables.SpanEnumerable`1.Item.Value">
+            <summary>
+            Gets the reference to the current value.
+            </summary>
+        </member>
+        <member name="P:CommunityToolkit.HighPerformance.Enumerables.SpanEnumerable`1.Item.Index">
+            <summary>
+            Gets the current index.
+            </summary>
+        </member>
+        <member name="T:CommunityToolkit.HighPerformance.Enumerables.SpanTokenizer`1">
+            <summary>
+            A <see langword="ref"/> <see langword="struct"/> that tokenizes a given <see cref="T:System.Span`1"/> instance.
+            </summary>
+            <typeparam name="T">The type of items to enumerate.</typeparam>
+        </member>
+        <member name="F:CommunityToolkit.HighPerformance.Enumerables.SpanTokenizer`1.span">
+            <summary>
+            The source <see cref="T:System.Span`1"/> instance.
+            </summary>
+        </member>
+        <member name="F:CommunityToolkit.HighPerformance.Enumerables.SpanTokenizer`1.separator">
+            <summary>
+            The separator item to use.
+            </summary>
+        </member>
+        <member name="F:CommunityToolkit.HighPerformance.Enumerables.SpanTokenizer`1.start">
+            <summary>
+            The current initial offset.
+            </summary>
+        </member>
+        <member name="F:CommunityToolkit.HighPerformance.Enumerables.SpanTokenizer`1.end">
+            <summary>
+            The current final offset.
+            </summary>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Enumerables.SpanTokenizer`1.#ctor(System.Span{`0},`0)">
+            <summary>
+            Initializes a new instance of the <see cref="T:CommunityToolkit.HighPerformance.Enumerables.SpanTokenizer`1"/> struct.
+            </summary>
+            <param name="span">The source <see cref="T:System.Span`1"/> instance.</param>
+            <param name="separator">The separator item to use.</param>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Enumerables.SpanTokenizer`1.GetEnumerator">
+            <summary>
+            Implements the duck-typed <see cref="M:System.Collections.Generic.IEnumerable`1.GetEnumerator"/> method.
+            </summary>
+            <returns>An <see cref="T:CommunityToolkit.HighPerformance.Enumerables.SpanTokenizer`1"/> instance targeting the current <see cref="T:System.Span`1"/> value.</returns>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Enumerables.SpanTokenizer`1.MoveNext">
+            <summary>
+            Implements the duck-typed <see cref="M:System.Collections.IEnumerator.MoveNext"/> method.
+            </summary>
+            <returns><see langword="true"/> whether a new element is available, <see langword="false"/> otherwise</returns>
+        </member>
+        <member name="P:CommunityToolkit.HighPerformance.Enumerables.SpanTokenizer`1.Current">
+            <summary>
+            Gets the duck-typed <see cref="P:System.Collections.Generic.IEnumerator`1.Current"/> property.
+            </summary>
+        </member>
+        <member name="T:CommunityToolkit.HighPerformance.ArrayExtensions">
+            <summary>
+            Helpers for working with the <see cref="T:System.Array"/> type.
+            </summary>
+            <inheritdoc/>
+            <inheritdoc/>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.ArrayExtensions.DangerousGetReference``1(``0[])">
+            <summary>
+            Returns a reference to the first element within a given <typeparamref name="T"/> array, with no bounds checks.
+            </summary>
+            <typeparam name="T">The type of elements in the input <typeparamref name="T"/> array instance.</typeparam>
+            <param name="array">The input <typeparamref name="T"/> array instance.</param>
+            <returns>A reference to the first element within <paramref name="array"/>, or the location it would have used, if <paramref name="array"/> is empty.</returns>
+            <remarks>This method doesn't do any bounds checks, therefore it is responsibility of the caller to perform checks in case the returned value is dereferenced.</remarks>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.ArrayExtensions.DangerousGetReferenceAt``1(``0[],System.Int32)">
+            <summary>
+            Returns a reference to an element at a specified index within a given <typeparamref name="T"/> array, with no bounds checks.
+            </summary>
+            <typeparam name="T">The type of elements in the input <typeparamref name="T"/> array instance.</typeparam>
+            <param name="array">The input <typeparamref name="T"/> array instance.</param>
+            <param name="i">The index of the element to retrieve within <paramref name="array"/>.</param>
+            <returns>A reference to the element within <paramref name="array"/> at the index specified by <paramref name="i"/>.</returns>
+            <remarks>This method doesn't do any bounds checks, therefore it is responsibility of the caller to ensure the <paramref name="i"/> parameter is valid.</remarks>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.ArrayExtensions.Count``1(``0[],``0)">
+            <summary>
+            Counts the number of occurrences of a given value into a target <typeparamref name="T"/> array instance.
+            </summary>
+            <typeparam name="T">The type of items in the input <typeparamref name="T"/> array instance.</typeparam>
+            <param name="array">The input <typeparamref name="T"/> array instance.</param>
+            <param name="value">The <typeparamref name="T"/> value to look for.</param>
+            <returns>The number of occurrences of <paramref name="value"/> in <paramref name="array"/>.</returns>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.ArrayExtensions.Enumerate``1(``0[])">
+             <summary>
+             Enumerates the items in the input <typeparamref name="T"/> array instance, as pairs of reference/index values.
+             This extension should be used directly within a <see langword="foreach"/> loop:
+             <code>
+             int[] numbers = new[] { 1, 2, 3, 4, 5, 6, 7 };
+            
+             foreach (var item in numbers.Enumerate())
+             {
+                 // Access the index and value of each item here...
+                 int index = item.Index;
+                 ref int value = ref item.Value;
+             }
+             </code>
+             The compiler will take care of properly setting up the <see langword="foreach"/> loop with the type returned from this method.
+             </summary>
+             <typeparam name="T">The type of items to enumerate.</typeparam>
+             <param name="array">The source <typeparamref name="T"/> array to enumerate.</param>
+             <returns>A wrapper type that will handle the reference/index enumeration for <paramref name="array"/>.</returns>
+             <remarks>The returned <see cref="T:CommunityToolkit.HighPerformance.Enumerables.SpanEnumerable`1"/> value shouldn't be used directly: use this extension in a <see langword="foreach"/> loop.</remarks>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.ArrayExtensions.Tokenize``1(``0[],``0)">
+             <summary>
+             Tokenizes the values in the input <typeparamref name="T"/> array instance using a specified separator.
+             This extension should be used directly within a <see langword="foreach"/> loop:
+             <code>
+             char[] text = "Hello, world!".ToCharArray();
+            
+             foreach (var token in text.Tokenize(','))
+             {
+                 // Access the tokens here...
+             }
+             </code>
+             The compiler will take care of properly setting up the <see langword="foreach"/> loop with the type returned from this method.
+             </summary>
+             <typeparam name="T">The type of items in the <typeparamref name="T"/> array to tokenize.</typeparam>
+             <param name="array">The source <typeparamref name="T"/> array to tokenize.</param>
+             <param name="separator">The separator <typeparamref name="T"/> item to use.</param>
+             <returns>A wrapper type that will handle the tokenization for <paramref name="array"/>.</returns>
+             <remarks>The returned <see cref="T:CommunityToolkit.HighPerformance.Enumerables.SpanTokenizer`1"/> value shouldn't be used directly: use this extension in a <see langword="foreach"/> loop.</remarks>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.ArrayExtensions.GetDjb2HashCode``1(``0[])">
+            <summary>
+            Gets a content hash from the input <typeparamref name="T"/> array instance using the Djb2 algorithm.
+            For more info, see the documentation for <see cref="M:CommunityToolkit.HighPerformance.ReadOnlySpanExtensions.GetDjb2HashCode``1(System.ReadOnlySpan{``0})"/>.
+            </summary>
+            <typeparam name="T">The type of items in the input <typeparamref name="T"/> array instance.</typeparam>
+            <param name="array">The input <typeparamref name="T"/> array instance.</param>
+            <returns>The Djb2 value for the input <typeparamref name="T"/> array instance.</returns>
+            <remarks>The Djb2 hash is fully deterministic and with no random components.</remarks>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.ArrayExtensions.IsCovariant``1(``0[])">
+            <summary>
+            Checks whether or not a given <typeparamref name="T"/> array is covariant.
+            </summary>
+            <typeparam name="T">The type of items in the input <typeparamref name="T"/> array instance.</typeparam>
+            <param name="array">The input <typeparamref name="T"/> array instance.</param>
+            <returns>Whether or not <paramref name="array"/> is covariant.</returns>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.ArrayExtensions.ThrowOverflowException">
+            <summary>
+            Throws an <see cref="T:System.OverflowException"/> when the "column" parameter is invalid.
+            </summary>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.ArrayExtensions.DangerousGetReference``1(``0[0:,0:])">
+            <summary>
+            Returns a reference to the first element within a given 2D <typeparamref name="T"/> array, with no bounds checks.
+            </summary>
+            <typeparam name="T">The type of elements in the input 2D <typeparamref name="T"/> array instance.</typeparam>
+            <param name="array">The input <typeparamref name="T"/> array instance.</param>
+            <returns>A reference to the first element within <paramref name="array"/>, or the location it would have used, if <paramref name="array"/> is empty.</returns>
+            <remarks>This method doesn't do any bounds checks, therefore it is responsibility of the caller to perform checks in case the returned value is dereferenced.</remarks>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.ArrayExtensions.DangerousGetReferenceAt``1(``0[0:,0:],System.Int32,System.Int32)">
+            <summary>
+            Returns a reference to an element at a specified coordinate within a given 2D <typeparamref name="T"/> array, with no bounds checks.
+            </summary>
+            <typeparam name="T">The type of elements in the input 2D <typeparamref name="T"/> array instance.</typeparam>
+            <param name="array">The input 2D <typeparamref name="T"/> array instance.</param>
+            <param name="i">The vertical index of the element to retrieve within <paramref name="array"/>.</param>
+            <param name="j">The horizontal index of the element to retrieve within <paramref name="array"/>.</param>
+            <returns>A reference to the element within <paramref name="array"/> at the coordinate specified by <paramref name="i"/> and <paramref name="j"/>.</returns>
+            <remarks>
+            This method doesn't do any bounds checks, therefore it is responsibility of the caller to ensure the <paramref name="i"/>
+            and <paramref name="j"/> parameters are valid. Furthermore, this extension will ignore the lower bounds for the input
+            array, and will just assume that the input index is 0-based. It is responsibility of the caller to adjust the input
+            indices to account for the actual lower bounds, if the input array has either axis not starting at 0.
+            </remarks>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.ArrayExtensions.GetRow``1(``0[0:,0:],System.Int32)">
+            <summary>
+            Returns a <see cref="T:CommunityToolkit.HighPerformance.Enumerables.RefEnumerable`1"/> over a row in a given 2D <typeparamref name="T"/> array instance.
+            </summary>
+            <typeparam name="T">The type of elements in the input 2D <typeparamref name="T"/> array instance.</typeparam>
+            <param name="array">The input <typeparamref name="T"/> array instance.</param>
+            <param name="row">The target row to retrieve (0-based index).</param>
+            <returns>A <see cref="T:CommunityToolkit.HighPerformance.Enumerables.RefEnumerable`1"/> with the items from the target row within <paramref name="array"/>.</returns>
+            <remarks>The returned <see cref="T:CommunityToolkit.HighPerformance.Enumerables.RefEnumerable`1"/> value shouldn't be used directly: use this extension in a <see langword="foreach"/> loop.</remarks>
+            <exception cref="T:System.ArgumentOutOfRangeException">Thrown when one of the input parameters is out of range.</exception>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.ArrayExtensions.GetColumn``1(``0[0:,0:],System.Int32)">
+             <summary>
+             Returns a <see cref="T:CommunityToolkit.HighPerformance.Enumerables.RefEnumerable`1"/> that returns the items from a given column in a given 2D <typeparamref name="T"/> array instance.
+             This extension should be used directly within a <see langword="foreach"/> loop:
+             <code>
+             int[,] matrix =
+             {
+                 { 1, 2, 3 },
+                 { 4, 5, 6 },
+                 { 7, 8, 9 }
+             };
+            
+             foreach (ref int number in matrix.GetColumn(1))
+             {
+                 // Access the current number by reference here...
+             }
+             </code>
+             The compiler will take care of properly setting up the <see langword="foreach"/> loop with the type returned from this method.
+             </summary>
+             <typeparam name="T">The type of elements in the input 2D <typeparamref name="T"/> array instance.</typeparam>
+             <param name="array">The input <typeparamref name="T"/> array instance.</param>
+             <param name="column">The target column to retrieve (0-based index).</param>
+             <returns>A wrapper type that will handle the column enumeration for <paramref name="array"/>.</returns>
+             <remarks>The returned <see cref="T:CommunityToolkit.HighPerformance.Enumerables.RefEnumerable`1"/> value shouldn't be used directly: use this extension in a <see langword="foreach"/> loop.</remarks>
+             <exception cref="T:System.ArgumentOutOfRangeException">Thrown when one of the input parameters is out of range.</exception>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.ArrayExtensions.AsSpan2D``1(``0[0:,0:])">
+            <summary>
+            Creates a new <see cref="T:CommunityToolkit.HighPerformance.Span2D`1"/> over an input 2D <typeparamref name="T"/> array.
+            </summary>
+            <typeparam name="T">The type of elements in the input 2D <typeparamref name="T"/> array instance.</typeparam>
+            <param name="array">The input 2D <typeparamref name="T"/> array instance.</param>
+            <returns>A <see cref="T:CommunityToolkit.HighPerformance.Span2D`1"/> instance with the values of <paramref name="array"/>.</returns>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.ArrayExtensions.AsSpan2D``1(``0[0:,0:],System.Int32,System.Int32,System.Int32,System.Int32)">
+            <summary>
+            Creates a new <see cref="T:CommunityToolkit.HighPerformance.Span2D`1"/> over an input 2D <typeparamref name="T"/> array.
+            </summary>
+            <typeparam name="T">The type of elements in the input 2D <typeparamref name="T"/> array instance.</typeparam>
+            <param name="array">The input 2D <typeparamref name="T"/> array instance.</param>
+            <param name="row">The target row to map within <paramref name="array"/>.</param>
+            <param name="column">The target column to map within <paramref name="array"/>.</param>
+            <param name="height">The height to map within <paramref name="array"/>.</param>
+            <param name="width">The width to map within <paramref name="array"/>.</param>
+            <exception cref="T:System.ArrayTypeMismatchException">
+            Thrown when <paramref name="array"/> doesn't match <typeparamref name="T"/>.
+            </exception>
+            <exception cref="T:System.ArgumentException">
+            Thrown when either <paramref name="height"/>, <paramref name="width"/> or <paramref name="height"/>
+            are negative or not within the bounds that are valid for <paramref name="array"/>.
+            </exception>
+            <returns>A <see cref="T:CommunityToolkit.HighPerformance.Span2D`1"/> instance with the values of <paramref name="array"/>.</returns>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.ArrayExtensions.AsMemory2D``1(``0[0:,0:])">
+            <summary>
+            Creates a new <see cref="T:CommunityToolkit.HighPerformance.Memory2D`1"/> over an input 2D <typeparamref name="T"/> array.
+            </summary>
+            <typeparam name="T">The type of elements in the input 2D <typeparamref name="T"/> array instance.</typeparam>
+            <param name="array">The input 2D <typeparamref name="T"/> array instance.</param>
+            <returns>A <see cref="T:CommunityToolkit.HighPerformance.Memory2D`1"/> instance with the values of <paramref name="array"/>.</returns>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.ArrayExtensions.AsMemory2D``1(``0[0:,0:],System.Int32,System.Int32,System.Int32,System.Int32)">
+            <summary>
+            Creates a new <see cref="T:CommunityToolkit.HighPerformance.Memory2D`1"/> over an input 2D <typeparamref name="T"/> array.
+            </summary>
+            <typeparam name="T">The type of elements in the input 2D <typeparamref name="T"/> array instance.</typeparam>
+            <param name="array">The input 2D <typeparamref name="T"/> array instance.</param>
+            <param name="row">The target row to map within <paramref name="array"/>.</param>
+            <param name="column">The target column to map within <paramref name="array"/>.</param>
+            <param name="height">The height to map within <paramref name="array"/>.</param>
+            <param name="width">The width to map within <paramref name="array"/>.</param>
+            <exception cref="T:System.ArrayTypeMismatchException">
+            Thrown when <paramref name="array"/> doesn't match <typeparamref name="T"/>.
+            </exception>
+            <exception cref="T:System.ArgumentException">
+            Thrown when either <paramref name="height"/>, <paramref name="width"/> or <paramref name="height"/>
+            are negative or not within the bounds that are valid for <paramref name="array"/>.
+            </exception>
+            <returns>A <see cref="T:CommunityToolkit.HighPerformance.Memory2D`1"/> instance with the values of <paramref name="array"/>.</returns>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.ArrayExtensions.GetRowSpan``1(``0[0:,0:],System.Int32)">
+            <summary>
+            Returns a <see cref="T:System.Span`1"/> over a row in a given 2D <typeparamref name="T"/> array instance.
+            </summary>
+            <typeparam name="T">The type of elements in the input 2D <typeparamref name="T"/> array instance.</typeparam>
+            <param name="array">The input <typeparamref name="T"/> array instance.</param>
+            <param name="row">The target row to retrieve (0-based index).</param>
+            <returns>A <see cref="T:System.Span`1"/> with the items from the target row within <paramref name="array"/>.</returns>
+            <exception cref="T:System.ArrayTypeMismatchException">Thrown when <paramref name="array"/> doesn't match <typeparamref name="T"/>.</exception>
+            <exception cref="T:System.ArgumentOutOfRangeException">Thrown when <paramref name="row"/> is invalid.</exception>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.ArrayExtensions.GetRowMemory``1(``0[0:,0:],System.Int32)">
+            <summary>
+            Returns a <see cref="T:System.Memory`1"/> over a row in a given 2D <typeparamref name="T"/> array instance.
+            </summary>
+            <typeparam name="T">The type of elements in the input 2D <typeparamref name="T"/> array instance.</typeparam>
+            <param name="array">The input <typeparamref name="T"/> array instance.</param>
+            <param name="row">The target row to retrieve (0-based index).</param>
+            <returns>A <see cref="T:System.Memory`1"/> with the items from the target row within <paramref name="array"/>.</returns>
+            <exception cref="T:System.ArrayTypeMismatchException">Thrown when <paramref name="array"/> doesn't match <typeparamref name="T"/>.</exception>
+            <exception cref="T:System.ArgumentOutOfRangeException">Thrown when <paramref name="row"/> is invalid.</exception>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.ArrayExtensions.AsMemory``1(``0[0:,0:])">
+            <summary>
+            Creates a new <see cref="T:System.Memory`1"/> over an input 2D <typeparamref name="T"/> array.
+            </summary>
+            <typeparam name="T">The type of elements in the input 2D <typeparamref name="T"/> array instance.</typeparam>
+            <param name="array">The input 2D <typeparamref name="T"/> array instance.</param>
+            <returns>A <see cref="T:System.Memory`1"/> instance with the values of <paramref name="array"/>.</returns>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.ArrayExtensions.AsSpan``1(``0[0:,0:])">
+            <summary>
+            Creates a new <see cref="T:System.Span`1"/> over an input 2D <typeparamref name="T"/> array.
+            </summary>
+            <typeparam name="T">The type of elements in the input 2D <typeparamref name="T"/> array instance.</typeparam>
+            <param name="array">The input 2D <typeparamref name="T"/> array instance.</param>
+            <returns>A <see cref="T:System.Span`1"/> instance with the values of <paramref name="array"/>.</returns>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.ArrayExtensions.Count``1(``0[0:,0:],``0)">
+            <summary>
+            Counts the number of occurrences of a given value into a target 2D <typeparamref name="T"/> array instance.
+            </summary>
+            <typeparam name="T">The type of items in the input 2D <typeparamref name="T"/> array instance.</typeparam>
+            <param name="array">The input 2D <typeparamref name="T"/> array instance.</param>
+            <param name="value">The <typeparamref name="T"/> value to look for.</param>
+            <returns>The number of occurrences of <paramref name="value"/> in <paramref name="array"/>.</returns>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.ArrayExtensions.GetDjb2HashCode``1(``0[0:,0:])">
+            <summary>
+            Gets a content hash from the input 2D <typeparamref name="T"/> array instance using the Djb2 algorithm.
+            For more info, see the documentation for <see cref="M:CommunityToolkit.HighPerformance.ReadOnlySpanExtensions.GetDjb2HashCode``1(System.ReadOnlySpan{``0})"/>.
+            </summary>
+            <typeparam name="T">The type of items in the input 2D <typeparamref name="T"/> array instance.</typeparam>
+            <param name="array">The input 2D <typeparamref name="T"/> array instance.</param>
+            <returns>The Djb2 value for the input 2D <typeparamref name="T"/> array instance.</returns>
+            <remarks>The Djb2 hash is fully deterministic and with no random components.</remarks>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.ArrayExtensions.IsCovariant``1(``0[0:,0:])">
+            <summary>
+            Checks whether or not a given <typeparamref name="T"/> array is covariant.
+            </summary>
+            <typeparam name="T">The type of items in the input <typeparamref name="T"/> array instance.</typeparam>
+            <param name="array">The input <typeparamref name="T"/> array instance.</param>
+            <returns>Whether or not <paramref name="array"/> is covariant.</returns>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.ArrayExtensions.ThrowArrayTypeMismatchException">
+            <summary>
+            Throws an <see cref="T:System.ArrayTypeMismatchException"/> when using an array of an invalid type.
+            </summary>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.ArrayExtensions.ThrowArgumentOutOfRangeExceptionForRow">
+            <summary>
+            Throws an <see cref="T:System.ArgumentOutOfRangeException"/> when the "row" parameter is invalid.
+            </summary>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.ArrayExtensions.ThrowArgumentOutOfRangeExceptionForColumn">
+            <summary>
+            Throws an <see cref="T:System.ArgumentOutOfRangeException"/> when the "column" parameter is invalid.
+            </summary>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.ArrayExtensions.DangerousGetReference``1(``0[0:,0:,0:])">
+            <summary>
+            Returns a reference to the first element within a given 3D <typeparamref name="T"/> array, with no bounds checks.
+            </summary>
+            <typeparam name="T">The type of elements in the input 3D <typeparamref name="T"/> array instance.</typeparam>
+            <param name="array">The input <typeparamref name="T"/> array instance.</param>
+            <returns>A reference to the first element within <paramref name="array"/>, or the location it would have used, if <paramref name="array"/> is empty.</returns>
+            <remarks>This method doesn't do any bounds checks, therefore it is responsibility of the caller to perform checks in case the returned value is dereferenced.</remarks>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.ArrayExtensions.DangerousGetReferenceAt``1(``0[0:,0:,0:],System.Int32,System.Int32,System.Int32)">
+            <summary>
+            Returns a reference to an element at a specified coordinate within a given 3D <typeparamref name="T"/> array, with no bounds checks.
+            </summary>
+            <typeparam name="T">The type of elements in the input 3D <typeparamref name="T"/> array instance.</typeparam>
+            <param name="array">The input 2D <typeparamref name="T"/> array instance.</param>
+            <param name="i">The depth index of the element to retrieve within <paramref name="array"/>.</param>
+            <param name="j">The vertical index of the element to retrieve within <paramref name="array"/>.</param>
+            <param name="k">The horizontal index of the element to retrieve within <paramref name="array"/>.</param>
+            <returns>A reference to the element within <paramref name="array"/> at the coordinate specified by <paramref name="i"/> and <paramref name="j"/>.</returns>
+            <remarks>
+            This method doesn't do any bounds checks, therefore it is responsibility of the caller to ensure the <paramref name="i"/>
+            and <paramref name="j"/> parameters are valid. Furthermore, this extension will ignore the lower bounds for the input
+            array, and will just assume that the input index is 0-based. It is responsibility of the caller to adjust the input
+            indices to account for the actual lower bounds, if the input array has either axis not starting at 0.
+            </remarks>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.ArrayExtensions.AsMemory``1(``0[0:,0:,0:])">
+            <summary>
+            Creates a new <see cref="T:System.Memory`1"/> over an input 3D <typeparamref name="T"/> array.
+            </summary>
+            <typeparam name="T">The type of elements in the input 3D <typeparamref name="T"/> array instance.</typeparam>
+            <param name="array">The input 3D <typeparamref name="T"/> array instance.</param>
+            <returns>A <see cref="T:System.Memory`1"/> instance with the values of <paramref name="array"/>.</returns>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.ArrayExtensions.AsSpan``1(``0[0:,0:,0:])">
+            <summary>
+            Creates a new <see cref="T:System.Span`1"/> over an input 3D <typeparamref name="T"/> array.
+            </summary>
+            <typeparam name="T">The type of elements in the input 3D <typeparamref name="T"/> array instance.</typeparam>
+            <param name="array">The input 3D <typeparamref name="T"/> array instance.</param>
+            <returns>A <see cref="T:System.Span`1"/> instance with the values of <paramref name="array"/>.</returns>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.ArrayExtensions.AsSpan``1(``0[0:,0:,0:],System.Int32)">
+            <summary>
+            Creates a new instance of the <see cref="T:System.Span`1"/> struct wrapping a layer in a 3D array.
+            </summary>
+            <typeparam name="T">The type of elements in the input 3D <typeparamref name="T"/> array instance.</typeparam>
+            <param name="array">The given 3D array to wrap.</param>
+            <param name="depth">The target layer to map within <paramref name="array"/>.</param>
+            <exception cref="T:System.ArrayTypeMismatchException">Thrown when <paramref name="array"/> doesn't match <typeparamref name="T"/>.</exception>
+            <exception cref="T:System.ArgumentOutOfRangeException">Thrown when <paramref name="depth"/> is invalid.</exception>
+            <returns>A <see cref="T:System.Span`1"/> instance wrapping the target layer within <paramref name="array"/>.</returns>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.ArrayExtensions.AsMemory``1(``0[0:,0:,0:],System.Int32)">
+            <summary>
+            Creates a new instance of the <see cref="T:System.Memory`1"/> struct wrapping a layer in a 3D array.
+            </summary>
+            <typeparam name="T">The type of elements in the input 3D <typeparamref name="T"/> array instance.</typeparam>
+            <param name="array">The given 3D array to wrap.</param>
+            <param name="depth">The target layer to map within <paramref name="array"/>.</param>
+            <exception cref="T:System.ArrayTypeMismatchException">Thrown when <paramref name="array"/> doesn't match <typeparamref name="T"/>.</exception>
+            <exception cref="T:System.ArgumentOutOfRangeException">Thrown when <paramref name="depth"/> is invalid.</exception>
+            <returns>A <see cref="T:System.Memory`1"/> instance wrapping the target layer within <paramref name="array"/>.</returns>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.ArrayExtensions.AsSpan2D``1(``0[0:,0:,0:],System.Int32)">
+            <summary>
+            Creates a new instance of the <see cref="T:CommunityToolkit.HighPerformance.Span2D`1"/> struct wrapping a layer in a 3D array.
+            </summary>
+            <typeparam name="T">The type of elements in the input 3D <typeparamref name="T"/> array instance.</typeparam>
+            <param name="array">The given 3D array to wrap.</param>
+            <param name="depth">The target layer to map within <paramref name="array"/>.</param>
+            <exception cref="T:System.ArrayTypeMismatchException">
+            Thrown when <paramref name="array"/> doesn't match <typeparamref name="T"/>.
+            </exception>
+            <exception cref="T:System.ArgumentException">Thrown when either <paramref name="depth"/> is invalid.</exception>
+            <returns>A <see cref="T:CommunityToolkit.HighPerformance.Span2D`1"/> instance wrapping the target layer within <paramref name="array"/>.</returns>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.ArrayExtensions.AsMemory2D``1(``0[0:,0:,0:],System.Int32)">
+            <summary>
+            Creates a new instance of the <see cref="T:CommunityToolkit.HighPerformance.Memory2D`1"/> struct wrapping a layer in a 3D array.
+            </summary>
+            <typeparam name="T">The type of elements in the input 3D <typeparamref name="T"/> array instance.</typeparam>
+            <param name="array">The given 3D array to wrap.</param>
+            <param name="depth">The target layer to map within <paramref name="array"/>.</param>
+            <exception cref="T:System.ArrayTypeMismatchException">
+            Thrown when <paramref name="array"/> doesn't match <typeparamref name="T"/>.
+            </exception>
+            <exception cref="T:System.ArgumentException">Thrown when either <paramref name="depth"/> is invalid.</exception>
+            <returns>A <see cref="T:CommunityToolkit.HighPerformance.Memory2D`1"/> instance wrapping the target layer within <paramref name="array"/>.</returns>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.ArrayExtensions.Count``1(``0[0:,0:,0:],``0)">
+            <summary>
+            Counts the number of occurrences of a given value into a target 3D <typeparamref name="T"/> array instance.
+            </summary>
+            <typeparam name="T">The type of items in the input 3D <typeparamref name="T"/> array instance.</typeparam>
+            <param name="array">The input 3D <typeparamref name="T"/> array instance.</param>
+            <param name="value">The <typeparamref name="T"/> value to look for.</param>
+            <returns>The number of occurrences of <paramref name="value"/> in <paramref name="array"/>.</returns>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.ArrayExtensions.GetDjb2HashCode``1(``0[0:,0:,0:])">
+            <summary>
+            Gets a content hash from the input 3D <typeparamref name="T"/> array instance using the Djb2 algorithm.
+            For more info, see the documentation for <see cref="M:CommunityToolkit.HighPerformance.ReadOnlySpanExtensions.GetDjb2HashCode``1(System.ReadOnlySpan{``0})"/>.
+            </summary>
+            <typeparam name="T">The type of items in the input 3D <typeparamref name="T"/> array instance.</typeparam>
+            <param name="array">The input 3D <typeparamref name="T"/> array instance.</param>
+            <returns>The Djb2 value for the input 3D <typeparamref name="T"/> array instance.</returns>
+            <remarks>The Djb2 hash is fully deterministic and with no random components.</remarks>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.ArrayExtensions.IsCovariant``1(``0[0:,0:,0:])">
+            <summary>
+            Checks whether or not a given <typeparamref name="T"/> array is covariant.
+            </summary>
+            <typeparam name="T">The type of items in the input <typeparamref name="T"/> array instance.</typeparam>
+            <param name="array">The input <typeparamref name="T"/> array instance.</param>
+            <returns>Whether or not <paramref name="array"/> is covariant.</returns>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.ArrayExtensions.ThrowArgumentOutOfRangeExceptionForDepth">
+            <summary>
+            Throws an <see cref="T:System.ArgumentOutOfRangeException"/> when the "depth" parameter is invalid.
+            </summary>
+        </member>
+        <member name="T:CommunityToolkit.HighPerformance.ArrayPoolBufferWriterExtensions">
+            <summary>
+            Helpers for working with the <see cref="T:CommunityToolkit.HighPerformance.Buffers.ArrayPoolBufferWriter`1"/> type.
+            </summary>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.ArrayPoolBufferWriterExtensions.AsStream(CommunityToolkit.HighPerformance.Buffers.ArrayPoolBufferWriter{System.Byte})">
+            <summary>
+            Returns a <see cref="T:System.IO.Stream"/> that can be used to write to a target an <see cref="T:CommunityToolkit.HighPerformance.Buffers.ArrayPoolBufferWriter`1"/> of <see cref="T:System.Byte"/> instance.
+            </summary>
+            <param name="writer">The target <see cref="T:CommunityToolkit.HighPerformance.Buffers.ArrayPoolBufferWriter`1"/> instance.</param>
+            <returns>A <see cref="T:System.IO.Stream"/> wrapping <paramref name="writer"/> and writing data to its underlying buffer.</returns>
+            <remarks>The returned <see cref="T:System.IO.Stream"/> can only be written to and does not support seeking.</remarks>
+        </member>
+        <member name="T:CommunityToolkit.HighPerformance.ArrayPoolExtensions">
+            <summary>
+            Helpers for working with the <see cref="T:System.Buffers.ArrayPool`1"/> type.
+            </summary>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.ArrayPoolExtensions.Resize``1(System.Buffers.ArrayPool{``0},``0[]@,System.Int32,System.Boolean)">
+            <summary>
+            Changes the number of elements of a rented one-dimensional array to the specified new size.
+            </summary>
+            <typeparam name="T">The type of items into the target array to resize.</typeparam>
+            <param name="pool">The target <see cref="T:System.Buffers.ArrayPool`1"/> instance to use to resize the array.</param>
+            <param name="array">The rented <typeparamref name="T"/> array to resize, or <see langword="null"/> to create a new array.</param>
+            <param name="newSize">The size of the new array.</param>
+            <param name="clearArray">Indicates whether the contents of the array should be cleared before reuse.</param>
+            <exception cref="T:System.ArgumentOutOfRangeException">Thrown when <paramref name="newSize"/> is less than 0.</exception>
+            <remarks>When this method returns, the caller must not use any references to the old array anymore.</remarks>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.ArrayPoolExtensions.EnsureCapacity``1(System.Buffers.ArrayPool{``0},``0[]@,System.Int32,System.Boolean)">
+            <summary>
+            Ensures that when the method returns <paramref name="array"/> is not null and is at least <paramref name="capacity"/> in length.
+            Contents of <paramref name="array"/> are not copied if a new array is rented.
+            </summary>
+            <typeparam name="T">The type of items into the target array given as input.</typeparam>
+            <param name="pool">The target <see cref="T:System.Buffers.ArrayPool`1"/> instance used to rent and/or return the array.</param>
+            <param name="array">The rented <typeparamref name="T"/> array to ensure capacity for, or <see langword="null"/> to rent a new array.</param>
+            <param name="capacity">The minimum length of <paramref name="array"/> when the method returns.</param>
+            <param name="clearArray">Indicates whether the contents of the array should be cleared if returned to the pool.</param>
+            <exception cref="T:System.ArgumentOutOfRangeException">Thrown when <paramref name="capacity"/> is less than 0.</exception>
+            <remarks>When this method returns, the caller must not use any references to the old array anymore.</remarks>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.ArrayPoolExtensions.ThrowArgumentOutOfRangeExceptionForNegativeArrayCapacity">
+            <summary>
+            Throws an <see cref="T:System.ArgumentOutOfRangeException"/> when the "capacity" parameter is negative.
+            </summary>
+        </member>
+        <member name="T:CommunityToolkit.HighPerformance.BoolExtensions">
+            <summary>
+            Helpers for working with the <see cref="T:System.Boolean"/> type.
+            </summary>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.BoolExtensions.ToByte(System.Boolean)">
+            <summary>
+            Converts the given <see cref="T:System.Boolean"/> value into a <see cref="T:System.Byte"/>.
+            </summary>
+            <param name="flag">The input value to convert.</param>
+            <returns>1 if <paramref name="flag"/> is <see langword="true"/>, 0 otherwise.</returns>
+            <remarks>This method does not contain branching instructions.</remarks>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.BoolExtensions.ToBitwiseMask32(System.Boolean)">
+            <summary>
+            Converts the given <see cref="T:System.Boolean"/> value to an <see cref="T:System.Int32"/> mask with
+            all bits representing the value of the input flag (either 0xFFFFFFFF or 0x00000000).
+            </summary>
+            <param name="flag">The input value to convert.</param>
+            <returns>0xFFFFFFFF if <paramref name="flag"/> is <see langword="true"/>, 0x00000000 otherwise.</returns>
+            <remarks>
+            This method does not contain branching instructions, and it is only guaranteed to work with
+            <see cref="T:System.Boolean"/> values being either 0 or 1. Operations producing a <see cref="T:System.Boolean"/> result,
+            such as numerical comparisons, always result in a valid value. If the <see cref="T:System.Boolean"/> value is
+            produced by fields with a custom <see cref="T:System.Runtime.InteropServices.FieldOffsetAttribute"/>,
+            or by using <see cref="M:System.Runtime.CompilerServices.Unsafe.As``1(System.Object)"/> or other unsafe APIs to directly manipulate the underlying
+            data though, it is responsibility of the caller to ensure the validity of the provided value.
+            </remarks>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.BoolExtensions.ToBitwiseMask64(System.Boolean)">
+            <summary>
+            Converts the given <see cref="T:System.Boolean"/> value to a <see cref="T:System.Int64"/> mask with
+            all bits representing the value of the input flag (either all 1s or 0s).
+            </summary>
+            <param name="flag">The input value to convert.</param>
+            <returns>All 1s if <paramref name="flag"/> is <see langword="true"/>, all 0s otherwise.</returns>
+            <remarks>This method does not contain branching instructions. See additional note in <see cref="M:CommunityToolkit.HighPerformance.BoolExtensions.ToBitwiseMask32(System.Boolean)"/>.</remarks>
+        </member>
+        <member name="T:CommunityToolkit.HighPerformance.HashCodeExtensions">
+            <summary>
+            Helpers for working with the <see cref="T:System.HashCode"/> type.
+            </summary>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.HashCodeExtensions.Add``1(System.HashCode@,System.ReadOnlySpan{``0})">
+            <summary>
+            Adds a sequence of <typeparamref name="T"/> values to the hash code.
+            </summary>
+            <typeparam name="T">The type of elements in the input <see cref="T:System.ReadOnlySpan`1"/> instance.</typeparam>
+            <param name="hashCode">The input <see cref="T:System.HashCode"/> instance.</param>
+            <param name="span">The input <see cref="T:System.ReadOnlySpan`1"/> instance.</param>
+        </member>
+        <member name="T:CommunityToolkit.HighPerformance.IBufferWriterExtensions">
+            <summary>
+            Helpers for working with the <see cref="T:System.Buffers.IBufferWriter`1"/> type.
+            </summary>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.IBufferWriterExtensions.AsStream(System.Buffers.IBufferWriter{System.Byte})">
+            <summary>
+            Returns a <see cref="T:System.IO.Stream"/> that can be used to write to a target an <see cref="T:System.Buffers.IBufferWriter`1"/> of <see cref="T:System.Byte"/> instance.
+            </summary>
+            <param name="writer">The target <see cref="T:System.Buffers.IBufferWriter`1"/> instance.</param>
+            <returns>A <see cref="T:System.IO.Stream"/> wrapping <paramref name="writer"/> and writing data to its underlying buffer.</returns>
+            <remarks>The returned <see cref="T:System.IO.Stream"/> can only be written to and does not support seeking.</remarks>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.IBufferWriterExtensions.Write``1(System.Buffers.IBufferWriter{System.Byte},``0)">
+            <summary>
+            Writes a value of a specified type into a target <see cref="T:System.Buffers.IBufferWriter`1"/> instance.
+            </summary>
+            <typeparam name="T">The type of value to write.</typeparam>
+            <param name="writer">The target <see cref="T:System.Buffers.IBufferWriter`1"/> instance to write to.</param>
+            <param name="value">The input value to write to <paramref name="writer"/>.</param>
+            <exception cref="T:System.ArgumentException">Thrown if <paramref name="writer"/> reaches the end.</exception>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.IBufferWriterExtensions.Write``1(System.Buffers.IBufferWriter{``0},``0)">
+            <summary>
+            Writes a value of a specified type into a target <see cref="T:System.Buffers.IBufferWriter`1"/> instance.
+            </summary>
+            <typeparam name="T">The type of value to write.</typeparam>
+            <param name="writer">The target <see cref="T:System.Buffers.IBufferWriter`1"/> instance to write to.</param>
+            <param name="value">The input value to write to <paramref name="writer"/>.</param>
+            <exception cref="T:System.ArgumentException">Thrown if <paramref name="writer"/> reaches the end.</exception>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.IBufferWriterExtensions.Write``1(System.Buffers.IBufferWriter{System.Byte},System.ReadOnlySpan{``0})">
+            <summary>
+            Writes a series of items of a specified type into a target <see cref="T:System.Buffers.IBufferWriter`1"/> instance.
+            </summary>
+            <typeparam name="T">The type of value to write.</typeparam>
+            <param name="writer">The target <see cref="T:System.Buffers.IBufferWriter`1"/> instance to write to.</param>
+            <param name="span">The input <see cref="T:System.ReadOnlySpan`1"/> to write to <paramref name="writer"/>.</param>
+            <exception cref="T:System.ArgumentException">Thrown if <paramref name="writer"/> reaches the end.</exception>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.IBufferWriterExtensions.ThrowArgumentExceptionForEndOfBuffer">
+            <summary>
+            Throws an <see cref="T:System.ArgumentException"/> when trying to write too many bytes to the target writer.
+            </summary>
+        </member>
+        <member name="T:CommunityToolkit.HighPerformance.IMemoryOwnerExtensions">
+            <summary>
+            Helpers for working with the <see cref="T:System.Buffers.IMemoryOwner`1"/> type.
+            </summary>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.IMemoryOwnerExtensions.AsStream(System.Buffers.IMemoryOwner{System.Byte})">
+            <summary>
+            Returns a <see cref="T:System.IO.Stream"/> wrapping the contents of the given <see cref="T:System.Buffers.IMemoryOwner`1"/> of <see cref="T:System.Byte"/> instance.
+            </summary>
+            <param name="memoryOwner">The input <see cref="T:System.Buffers.IMemoryOwner`1"/> of <see cref="T:System.Byte"/> instance.</param>
+            <returns>A <see cref="T:System.IO.Stream"/> wrapping the data within <paramref name="memoryOwner"/>.</returns>
+            <remarks>
+            The caller does not need to track the lifetime of the input <see cref="T:System.Buffers.IMemoryOwner`1"/> of <see cref="T:System.Byte"/>
+            instance, as the returned <see cref="T:System.IO.Stream"/> will take care of disposing that buffer when it is closed.
+            </remarks>
+            <exception cref="T:System.ArgumentException">Thrown when <paramref name="memoryOwner"/> has an invalid data store.</exception>
+        </member>
+        <member name="T:CommunityToolkit.HighPerformance.MemoryExtensions">
+            <summary>
+            Helpers for working with the <see cref="T:System.Memory`1"/> type.
+            </summary>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.MemoryExtensions.AsMemory2D``1(System.Memory{``0},System.Int32,System.Int32)">
+            <summary>
+            Returns a <see cref="T:CommunityToolkit.HighPerformance.Memory2D`1"/> instance wrapping the underlying data for the given <see cref="T:System.Memory`1"/> instance.
+            </summary>
+            <typeparam name="T">The type of items in the input <see cref="T:System.Memory`1"/> instance.</typeparam>
+            <param name="memory">The input <see cref="T:System.Memory`1"/> instance.</param>
+            <param name="height">The height of the resulting 2D area.</param>
+            <param name="width">The width of each row in the resulting 2D area.</param>
+            <returns>The resulting <see cref="T:CommunityToolkit.HighPerformance.Memory2D`1"/> instance.</returns>
+            <exception cref="T:System.ArgumentOutOfRangeException">
+            Thrown when one of the input parameters is out of range.
+            </exception>
+            <exception cref="T:System.ArgumentException">
+            Thrown when the requested area is outside of bounds for <paramref name="memory"/>.
+            </exception>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.MemoryExtensions.AsMemory2D``1(System.Memory{``0},System.Int32,System.Int32,System.Int32,System.Int32)">
+            <summary>
+            Returns a <see cref="T:CommunityToolkit.HighPerformance.Memory2D`1"/> instance wrapping the underlying data for the given <see cref="T:System.Memory`1"/> instance.
+            </summary>
+            <typeparam name="T">The type of items in the input <see cref="T:System.Memory`1"/> instance.</typeparam>
+            <param name="memory">The input <see cref="T:System.Memory`1"/> instance.</param>
+            <param name="offset">The initial offset within <paramref name="memory"/>.</param>
+            <param name="height">The height of the resulting 2D area.</param>
+            <param name="width">The width of each row in the resulting 2D area.</param>
+            <param name="pitch">The pitch in the resulting 2D area.</param>
+            <returns>The resulting <see cref="T:CommunityToolkit.HighPerformance.Memory2D`1"/> instance.</returns>
+            <exception cref="T:System.ArgumentOutOfRangeException">
+            Thrown when one of the input parameters is out of range.
+            </exception>
+            <exception cref="T:System.ArgumentException">
+            Thrown when the requested area is outside of bounds for <paramref name="memory"/>.
+            </exception>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.MemoryExtensions.AsBytes``1(System.Memory{``0})">
+            <summary>
+            Casts a <see cref="T:System.Memory`1"/> of one primitive type <typeparamref name="T"/> to <see cref="T:System.Memory`1"/> of bytes.
+            </summary>
+            <typeparam name="T">The type if items in the source <see cref="T:System.Memory`1"/>.</typeparam>
+            <param name="memory">The source <see cref="T:System.Memory`1"/>, of type <typeparamref name="T"/>.</param>
+            <returns>A <see cref="T:System.Memory`1"/> of bytes.</returns>
+            <exception cref="T:System.OverflowException">
+            Thrown if the <see cref="P:System.Memory`1.Length"/> property of the new <see cref="T:System.Memory`1"/> would exceed <see cref="F:System.Int32.MaxValue"/>.
+            </exception>
+            <exception cref="T:System.ArgumentException">Thrown when the data store of <paramref name="memory"/> is not supported.</exception>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.MemoryExtensions.Cast``2(System.Memory{``0})">
+            <summary>
+            Casts a <see cref="T:System.Memory`1"/> of one primitive type <typeparamref name="TFrom"/> to another primitive type <typeparamref name="TTo"/>.
+            </summary>
+            <typeparam name="TFrom">The type of items in the source <see cref="T:System.Memory`1"/>.</typeparam>
+            <typeparam name="TTo">The type of items in the destination <see cref="T:System.Memory`1"/>.</typeparam>
+            <param name="memory">The source <see cref="T:System.Memory`1"/>, of type <typeparamref name="TFrom"/>.</param>
+            <returns>A <see cref="T:System.Memory`1"/> of type <typeparamref name="TTo"/></returns>
+            <exception cref="T:System.ArgumentException">Thrown when the data store of <paramref name="memory"/> is not supported.</exception>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.MemoryExtensions.AsStream(System.Memory{System.Byte})">
+            <summary>
+            Returns a <see cref="T:System.IO.Stream"/> wrapping the contents of the given <see cref="T:System.Memory`1"/> of <see cref="T:System.Byte"/> instance.
+            </summary>
+            <param name="memory">The input <see cref="T:System.Memory`1"/> of <see cref="T:System.Byte"/> instance.</param>
+            <returns>A <see cref="T:System.IO.Stream"/> wrapping the data within <paramref name="memory"/>.</returns>
+            <remarks>
+            Since this method only receives a <see cref="T:System.Memory`1"/> instance, which does not track
+            the lifetime of its underlying buffer, it is responsibility of the caller to manage that.
+            In particular, the caller must ensure that the target buffer is not disposed as long
+            as the returned <see cref="T:System.IO.Stream"/> is in use, to avoid unexpected issues.
+            </remarks>
+            <exception cref="T:System.ArgumentException">Thrown when <paramref name="memory"/> has an invalid data store.</exception>
+        </member>
+        <member name="T:CommunityToolkit.HighPerformance.ReadOnlyMemoryExtensions">
+            <summary>
+            Helpers for working with the <see cref="T:System.ReadOnlyMemory`1"/> type.
+            </summary>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.ReadOnlyMemoryExtensions.AsMemory2D``1(System.ReadOnlyMemory{``0},System.Int32,System.Int32)">
+            <summary>
+            Returns a <see cref="T:CommunityToolkit.HighPerformance.ReadOnlyMemory2D`1"/> instance wrapping the underlying data for the given <see cref="T:System.ReadOnlyMemory`1"/> instance.
+            </summary>
+            <typeparam name="T">The type of items in the input <see cref="T:System.ReadOnlyMemory`1"/> instance.</typeparam>
+            <param name="memory">The input <see cref="T:System.ReadOnlyMemory`1"/> instance.</param>
+            <param name="height">The height of the resulting 2D area.</param>
+            <param name="width">The width of each row in the resulting 2D area.</param>
+            <returns>The resulting <see cref="T:CommunityToolkit.HighPerformance.ReadOnlyMemory2D`1"/> instance.</returns>
+            <exception cref="T:System.ArgumentOutOfRangeException">
+            Thrown when one of the input parameters is out of range.
+            </exception>
+            <exception cref="T:System.ArgumentException">
+            Thrown when the requested area is outside of bounds for <paramref name="memory"/>.
+            </exception>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.ReadOnlyMemoryExtensions.AsMemory2D``1(System.ReadOnlyMemory{``0},System.Int32,System.Int32,System.Int32,System.Int32)">
+            <summary>
+            Returns a <see cref="T:CommunityToolkit.HighPerformance.ReadOnlyMemory2D`1"/> instance wrapping the underlying data for the given <see cref="T:System.ReadOnlyMemory`1"/> instance.
+            </summary>
+            <typeparam name="T">The type of items in the input <see cref="T:System.ReadOnlyMemory`1"/> instance.</typeparam>
+            <param name="memory">The input <see cref="T:System.ReadOnlyMemory`1"/> instance.</param>
+            <param name="offset">The initial offset within <paramref name="memory"/>.</param>
+            <param name="height">The height of the resulting 2D area.</param>
+            <param name="width">The width of each row in the resulting 2D area.</param>
+            <param name="pitch">The pitch in the resulting 2D area.</param>
+            <returns>The resulting <see cref="T:CommunityToolkit.HighPerformance.ReadOnlyMemory2D`1"/> instance.</returns>
+            <exception cref="T:System.ArgumentOutOfRangeException">
+            Thrown when one of the input parameters is out of range.
+            </exception>
+            <exception cref="T:System.ArgumentException">
+            Thrown when the requested area is outside of bounds for <paramref name="memory"/>.
+            </exception>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.ReadOnlyMemoryExtensions.AsBytes``1(System.ReadOnlyMemory{``0})">
+            <summary>
+            Casts a <see cref="T:System.ReadOnlyMemory`1"/> of one primitive type <typeparamref name="T"/> to <see cref="T:System.ReadOnlyMemory`1"/> of bytes.
+            </summary>
+            <typeparam name="T">The type if items in the source <see cref="T:System.ReadOnlyMemory`1"/>.</typeparam>
+            <param name="memory">The source <see cref="T:System.ReadOnlyMemory`1"/>, of type <typeparamref name="T"/>.</param>
+            <returns>A <see cref="T:System.ReadOnlyMemory`1"/> of bytes.</returns>
+            <exception cref="T:System.OverflowException">
+            Thrown if the <see cref="P:System.ReadOnlyMemory`1.Length"/> property of the new <see cref="T:System.ReadOnlyMemory`1"/> would exceed <see cref="F:System.Int32.MaxValue"/>.
+            </exception>
+            <exception cref="T:System.ArgumentException">Thrown when the data store of <paramref name="memory"/> is not supported.</exception>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.ReadOnlyMemoryExtensions.Cast``2(System.ReadOnlyMemory{``0})">
+            <summary>
+            Casts a <see cref="T:System.ReadOnlyMemory`1"/> of one primitive type <typeparamref name="TFrom"/> to another primitive type <typeparamref name="TTo"/>.
+            </summary>
+            <typeparam name="TFrom">The type of items in the source <see cref="T:System.ReadOnlyMemory`1"/>.</typeparam>
+            <typeparam name="TTo">The type of items in the destination <see cref="T:System.ReadOnlyMemory`1"/>.</typeparam>
+            <param name="memory">The source <see cref="T:System.ReadOnlyMemory`1"/>, of type <typeparamref name="TFrom"/>.</param>
+            <returns>A <see cref="T:System.ReadOnlyMemory`1"/> of type <typeparamref name="TTo"/></returns>
+            <exception cref="T:System.ArgumentException">Thrown when the data store of <paramref name="memory"/> is not supported.</exception>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.ReadOnlyMemoryExtensions.AsStream(System.ReadOnlyMemory{System.Byte})">
+            <summary>
+            Returns a <see cref="T:System.IO.Stream"/> wrapping the contents of the given <see cref="T:System.ReadOnlyMemory`1"/> of <see cref="T:System.Byte"/> instance.
+            </summary>
+            <param name="memory">The input <see cref="T:System.ReadOnlyMemory`1"/> of <see cref="T:System.Byte"/> instance.</param>
+            <returns>A <see cref="T:System.IO.Stream"/> wrapping the data within <paramref name="memory"/>.</returns>
+            <remarks>
+            Since this method only receives a <see cref="T:System.Memory`1"/> instance, which does not track
+            the lifetime of its underlying buffer, it is responsibility of the caller to manage that.
+            In particular, the caller must ensure that the target buffer is not disposed as long
+            as the returned <see cref="T:System.IO.Stream"/> is in use, to avoid unexpected issues.
+            </remarks>
+            <exception cref="T:System.ArgumentException">Thrown when <paramref name="memory"/> has an invalid data store.</exception>
+        </member>
+        <member name="T:CommunityToolkit.HighPerformance.ReadOnlySpanExtensions">
+            <summary>
+            Helpers for working with the <see cref="T:System.ReadOnlySpan`1"/> type.
+            </summary>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.ReadOnlySpanExtensions.DangerousGetReference``1(System.ReadOnlySpan{``0})">
+            <summary>
+            Returns a reference to the first element within a given <see cref="T:System.ReadOnlySpan`1"/>, with no bounds checks.
+            </summary>
+            <typeparam name="T">The type of elements in the input <see cref="T:System.ReadOnlySpan`1"/> instance.</typeparam>
+            <param name="span">The input <see cref="T:System.ReadOnlySpan`1"/> instance.</param>
+            <returns>A reference to the first element within <paramref name="span"/>.</returns>
+            <remarks>This method doesn't do any bounds checks, therefore it is responsibility of the caller to perform checks in case the returned value is dereferenced.</remarks>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.ReadOnlySpanExtensions.DangerousGetReferenceAt``1(System.ReadOnlySpan{``0},System.Int32)">
+            <summary>
+            Returns a reference to an element at a specified index within a given <see cref="T:System.ReadOnlySpan`1"/>, with no bounds checks.
+            </summary>
+            <typeparam name="T">The type of elements in the input <see cref="T:System.ReadOnlySpan`1"/> instance.</typeparam>
+            <param name="span">The input <see cref="T:System.ReadOnlySpan`1"/> instance.</param>
+            <param name="i">The index of the element to retrieve within <paramref name="span"/>.</param>
+            <returns>A reference to the element within <paramref name="span"/> at the index specified by <paramref name="i"/>.</returns>
+            <remarks>This method doesn't do any bounds checks, therefore it is responsibility of the caller to ensure the <paramref name="i"/> parameter is valid.</remarks>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.ReadOnlySpanExtensions.DangerousGetReferenceAt``1(System.ReadOnlySpan{``0},System.IntPtr)">
+            <summary>
+            Returns a reference to an element at a specified index within a given <see cref="T:System.ReadOnlySpan`1"/>, with no bounds checks.
+            </summary>
+            <typeparam name="T">The type of elements in the input <see cref="T:System.ReadOnlySpan`1"/> instance.</typeparam>
+            <param name="span">The input <see cref="T:System.ReadOnlySpan`1"/> instance.</param>
+            <param name="i">The index of the element to retrieve within <paramref name="span"/>.</param>
+            <returns>A reference to the element within <paramref name="span"/> at the index specified by <paramref name="i"/>.</returns>
+            <remarks>This method doesn't do any bounds checks, therefore it is responsibility of the caller to ensure the <paramref name="i"/> parameter is valid.</remarks>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.ReadOnlySpanExtensions.DangerousGetLookupReferenceAt``1(System.ReadOnlySpan{``0},System.Int32)">
+             <summary>
+             Returns a reference to the first element within a given <see cref="T:System.ReadOnlySpan`1"/>, clamping the input index in the valid range.
+             If the <paramref name="i"/> parameter exceeds the length of <paramref name="span"/>, it will be clamped to 0.
+             Therefore, the returned reference will always point to a valid element within <paramref name="span"/>, assuming it is not empty.
+             This method is specifically meant to efficiently index lookup tables, especially if they point to constant data.
+             Consider this example where a lookup table is used to validate whether a given character is within a specific set:
+             <code>
+             public static ReadOnlySpan&lt;bool> ValidSetLookupTable => new bool[]
+             {
+                 false, true, true, true, true, true, false, true,
+                 false, false, true, false, true, false, true, false,
+                 true, false, false, true, false, false, false, false,
+                 false, false, false, false, true, true, false, true
+             };
+            
+             int ch = Console.Read();
+             bool isValid = ValidSetLookupTable.DangerousGetLookupReference(ch);
+             </code>
+             Even if the input index is outside the range of the lookup table, being clamped to 0, it will
+             just cause the value 0 to be returned in this case, which is functionally the same for the check
+             being performed. This extension can easily be used whenever the first position in a lookup
+             table being referenced corresponds to a falsey value, like in this case.
+             Additionally, the example above leverages a compiler optimization introduced with C# 7.3,
+             which allows <see cref="T:System.ReadOnlySpan`1"/> instances pointing to compile-time constant data
+             to be directly mapped to the static .text section in the final assembly: the array being
+             created in code will never actually be allocated, and the <see cref="T:System.ReadOnlySpan`1"/> will
+             just point to constant data. Note that this only works for blittable values that are not
+             dependent on the byte endianness of the system, like <see cref="T:System.Byte"/> or <see cref="T:System.Boolean"/>.
+             For more info, see <see href="https://vcsjones.dev/2019/02/01/csharp-readonly-span-bytes-static/"/>.
+             </summary>
+             <typeparam name="T">The type of elements in the input <see cref="T:System.ReadOnlySpan`1"/> instance.</typeparam>
+             <param name="span">The input <see cref="T:System.ReadOnlySpan`1"/> instance.</param>
+             <param name="i">The index of the element to retrieve within <paramref name="span"/>.</param>
+             <returns>
+             A reference to the element within <paramref name="span"/> at the index specified by <paramref name="i"/>,
+             or a reference to the first element within <paramref name="span"/> if <paramref name="i"/> was not a valid index.
+             </returns>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.ReadOnlySpanExtensions.AsSpan2D``1(System.ReadOnlySpan{``0},System.Int32,System.Int32)">
+            <summary>
+            Returns a <see cref="T:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1"/> instance wrapping the underlying data for the given <see cref="T:System.ReadOnlySpan`1"/> instance.
+            </summary>
+            <typeparam name="T">The type of items in the input <see cref="T:System.ReadOnlySpan`1"/> instance.</typeparam>
+            <param name="span">The input <see cref="T:System.ReadOnlySpan`1"/> instance.</param>
+            <param name="height">The height of the resulting 2D area.</param>
+            <param name="width">The width of each row in the resulting 2D area.</param>
+            <returns>The resulting <see cref="T:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1"/> instance.</returns>
+            <exception cref="T:System.ArgumentOutOfRangeException">
+            Thrown when one of the input parameters is out of range.
+            </exception>
+            <exception cref="T:System.ArgumentException">
+            Thrown when the requested area is outside of bounds for <paramref name="span"/>.
+            </exception>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.ReadOnlySpanExtensions.AsSpan2D``1(System.ReadOnlySpan{``0},System.Int32,System.Int32,System.Int32,System.Int32)">
+            <summary>
+            Returns a <see cref="T:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1"/> instance wrapping the underlying data for the given <see cref="T:System.ReadOnlySpan`1"/> instance.
+            </summary>
+            <typeparam name="T">The type of items in the input <see cref="T:System.ReadOnlySpan`1"/> instance.</typeparam>
+            <param name="span">The input <see cref="T:System.ReadOnlySpan`1"/> instance.</param>
+            <param name="offset">The initial offset within <paramref name="span"/>.</param>
+            <param name="height">The height of the resulting 2D area.</param>
+            <param name="width">The width of each row in the resulting 2D area.</param>
+            <param name="pitch">The pitch in the resulting 2D area.</param>
+            <returns>The resulting <see cref="T:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1"/> instance.</returns>
+            <exception cref="T:System.ArgumentOutOfRangeException">
+            Thrown when one of the input parameters is out of range.
+            </exception>
+            <exception cref="T:System.ArgumentException">
+            Thrown when the requested area is outside of bounds for <paramref name="span"/>.
+            </exception>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.ReadOnlySpanExtensions.IndexOf``1(System.ReadOnlySpan{``0},``0@)">
+            <summary>
+            Gets the index of an element of a given <see cref="T:System.ReadOnlySpan`1"/> from its reference.
+            </summary>
+            <typeparam name="T">The type if items in the input <see cref="T:System.ReadOnlySpan`1"/>.</typeparam>
+            <param name="span">The input <see cref="T:System.ReadOnlySpan`1"/> to calculate the index for.</param>
+            <param name="value">The reference to the target item to get the index for.</param>
+            <returns>The index of <paramref name="value"/> within <paramref name="span"/>, or <c>-1</c>.</returns>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.ReadOnlySpanExtensions.Count``1(System.ReadOnlySpan{``0},``0)">
+            <summary>
+            Counts the number of occurrences of a given value into a target <see cref="T:System.ReadOnlySpan`1"/> instance.
+            </summary>
+            <typeparam name="T">The type of items in the input <see cref="T:System.ReadOnlySpan`1"/> instance.</typeparam>
+            <param name="span">The input <see cref="T:System.ReadOnlySpan`1"/> instance to read.</param>
+            <param name="value">The <typeparamref name="T"/> value to look for.</param>
+            <returns>The number of occurrences of <paramref name="value"/> in <paramref name="span"/>.</returns>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.ReadOnlySpanExtensions.AsBytes``1(System.ReadOnlySpan{``0})">
+            <summary>
+            Casts a <see cref="T:System.ReadOnlySpan`1"/> of one primitive type <typeparamref name="T"/> to <see cref="T:System.ReadOnlySpan`1"/> of bytes.
+            </summary>
+            <typeparam name="T">The type if items in the source <see cref="T:System.ReadOnlySpan`1"/>.</typeparam>
+            <param name="span">The source slice, of type <typeparamref name="T"/>.</param>
+            <returns>A <see cref="T:System.ReadOnlySpan`1"/> of bytes.</returns>
+            <exception cref="T:System.OverflowException">
+            Thrown if the <see cref="P:System.ReadOnlySpan`1.Length"/> property of the new <see cref="T:System.ReadOnlySpan`1"/> would exceed <see cref="F:System.Int32.MaxValue"/>.
+            </exception>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.ReadOnlySpanExtensions.Cast``2(System.ReadOnlySpan{``0})">
+            <summary>
+            Casts a <see cref="T:System.ReadOnlySpan`1"/> of one primitive type <typeparamref name="TFrom"/> to another primitive type <typeparamref name="TTo"/>.
+            </summary>
+            <typeparam name="TFrom">The type of items in the source <see cref="T:System.ReadOnlySpan`1"/>.</typeparam>
+            <typeparam name="TTo">The type of items in the destination <see cref="T:System.ReadOnlySpan`1"/>.</typeparam>
+            <param name="span">The source slice, of type <typeparamref name="TFrom"/>.</param>
+            <returns>A <see cref="T:System.ReadOnlySpan`1"/> of type <typeparamref name="TTo"/></returns>
+            <remarks>
+            Supported only for platforms that support misaligned memory access or when the memory block is aligned by other means.
+            </remarks>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.ReadOnlySpanExtensions.Enumerate``1(System.ReadOnlySpan{``0})">
+             <summary>
+             Enumerates the items in the input <see cref="T:System.ReadOnlySpan`1"/> instance, as pairs of value/index values.
+             This extension should be used directly within a <see langword="foreach"/> loop:
+             <code>
+             ReadOnlySpan&lt;string&gt; words = new[] { "Hello", ", ", "world", "!" };
+            
+             foreach (var item in words.Enumerate())
+             {
+                 // Access the index and value of each item here...
+                 int index = item.Index;
+                 string value = item.Value;
+             }
+             </code>
+             The compiler will take care of properly setting up the <see langword="foreach"/> loop with the type returned from this method.
+             </summary>
+             <typeparam name="T">The type of items to enumerate.</typeparam>
+             <param name="span">The source <see cref="T:System.ReadOnlySpan`1"/> to enumerate.</param>
+             <returns>A wrapper type that will handle the value/index enumeration for <paramref name="span"/>.</returns>
+             <remarks>The returned <see cref="T:CommunityToolkit.HighPerformance.Enumerables.ReadOnlySpanEnumerable`1"/> value shouldn't be used directly: use this extension in a <see langword="foreach"/> loop.</remarks>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.ReadOnlySpanExtensions.Tokenize``1(System.ReadOnlySpan{``0},``0)">
+             <summary>
+             Tokenizes the values in the input <see cref="T:System.ReadOnlySpan`1"/> instance using a specified separator.
+             This extension should be used directly within a <see langword="foreach"/> loop:
+             <code>
+             ReadOnlySpan&lt;char&gt; text = "Hello, world!";
+            
+             foreach (var token in text.Tokenize(','))
+             {
+                 // Access the tokens here...
+             }
+             </code>
+             The compiler will take care of properly setting up the <see langword="foreach"/> loop with the type returned from this method.
+             </summary>
+             <typeparam name="T">The type of items in the <see cref="T:System.ReadOnlySpan`1"/> to tokenize.</typeparam>
+             <param name="span">The source <see cref="T:System.ReadOnlySpan`1"/> to tokenize.</param>
+             <param name="separator">The separator <typeparamref name="T"/> item to use.</param>
+             <returns>A wrapper type that will handle the tokenization for <paramref name="span"/>.</returns>
+             <remarks>The returned <see cref="T:CommunityToolkit.HighPerformance.Enumerables.ReadOnlySpanTokenizer`1"/> value shouldn't be used directly: use this extension in a <see langword="foreach"/> loop.</remarks>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.ReadOnlySpanExtensions.GetDjb2HashCode``1(System.ReadOnlySpan{``0})">
+            <summary>
+            Gets a content hash from the input <see cref="T:System.ReadOnlySpan`1"/> instance using the Djb2 algorithm.
+            It was designed by <see href="https://en.wikipedia.org/wiki/Daniel_J._Bernstein">Daniel J. Bernstein</see> and is a
+            <see href="https://en.wikipedia.org/wiki/List_of_hash_functions#Non-cryptographic_hash_functions">non-cryptographic has function</see>.
+            The main advantages of this algorithm are a good distribution of the resulting hash codes, which results in a relatively low
+            number of collisions, while at the same time being particularly fast to process, making it suitable for quickly hashing
+            even long sequences of values. For the reference implementation, see: <see href="http://www.cse.yorku.ca/~oz/hash.html"/>.
+            For details on the used constants, see the details provided in this StackOverflow answer (as well as the accepted one):
+            <see href="https://stackoverflow.com/questions/10696223/reason-for-5381-number-in-djb-hash-function/13809282#13809282"/>.
+            Additionally, a comparison between some common hashing algorithms can be found in the reply to this StackExchange question:
+            <see href="https://softwareengineering.stackexchange.com/questions/49550/which-hashing-algorithm-is-best-for-uniqueness-and-speed"/>.
+            Note that the exact implementation is slightly different in this method when it is not called on a sequence of <see cref="T:System.Byte"/>
+            values: in this case the <see cref="M:System.Object.GetHashCode"/> method will be invoked for each <typeparamref name="T"/> value in
+            the provided <see cref="T:System.ReadOnlySpan`1"/> instance, and then those values will be combined using the Djb2 algorithm.
+            </summary>
+            <typeparam name="T">The type of items in the input <see cref="T:System.ReadOnlySpan`1"/> instance.</typeparam>
+            <param name="span">The input <see cref="T:System.ReadOnlySpan`1"/> instance.</param>
+            <returns>The Djb2 value for the input <see cref="T:System.ReadOnlySpan`1"/> instance.</returns>
+            <remarks>The Djb2 hash is fully deterministic and with no random components.</remarks>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.ReadOnlySpanExtensions.CopyTo``1(System.ReadOnlySpan{``0},CommunityToolkit.HighPerformance.Enumerables.RefEnumerable{``0})">
+            <summary>
+            Copies the contents of a given <see cref="T:System.ReadOnlySpan`1"/> into destination <see cref="T:CommunityToolkit.HighPerformance.Enumerables.RefEnumerable`1"/> instance.
+            </summary>
+            <typeparam name="T">The type of items in the input <see cref="T:System.ReadOnlySpan`1"/> instance.</typeparam>
+            <param name="span">The input <see cref="T:System.ReadOnlySpan`1"/> instance.</param>
+            <param name="destination">The <see cref="T:CommunityToolkit.HighPerformance.Enumerables.RefEnumerable`1"/> instance to copy items into.</param>
+            <exception cref="T:System.ArgumentException">
+            Thrown when the destination <see cref="T:CommunityToolkit.HighPerformance.Enumerables.RefEnumerable`1"/> is shorter than the source <see cref="T:System.ReadOnlySpan`1"/>.
+            </exception>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.ReadOnlySpanExtensions.TryCopyTo``1(System.ReadOnlySpan{``0},CommunityToolkit.HighPerformance.Enumerables.RefEnumerable{``0})">
+            <summary>
+            Attempts to copy the contents of a given <see cref="T:System.ReadOnlySpan`1"/> into destination <see cref="T:CommunityToolkit.HighPerformance.Enumerables.RefEnumerable`1"/> instance.
+            </summary>
+            <typeparam name="T">The type of items in the input <see cref="T:System.ReadOnlySpan`1"/> instance.</typeparam>
+            <param name="span">The input <see cref="T:System.ReadOnlySpan`1"/> instance.</param>
+            <param name="destination">The <see cref="T:CommunityToolkit.HighPerformance.Enumerables.RefEnumerable`1"/> instance to copy items into.</param>
+            <returns>Whether or not the operation was successful.</returns>
+        </member>
+        <member name="T:CommunityToolkit.HighPerformance.SpanExtensions">
+            <summary>
+            Helpers for working with the <see cref="T:System.Span`1"/> type.
+            </summary>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.SpanExtensions.DangerousGetReference``1(System.Span{``0})">
+            <summary>
+            Returns a reference to the first element within a given <see cref="T:System.Span`1"/>, with no bounds checks.
+            </summary>
+            <typeparam name="T">The type of elements in the input <see cref="T:System.Span`1"/> instance.</typeparam>
+            <param name="span">The input <see cref="T:System.Span`1"/> instance.</param>
+            <returns>A reference to the first element within <paramref name="span"/>.</returns>
+            <remarks>This method doesn't do any bounds checks, therefore it is responsibility of the caller to perform checks in case the returned value is dereferenced.</remarks>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.SpanExtensions.DangerousGetReferenceAt``1(System.Span{``0},System.Int32)">
+            <summary>
+            Returns a reference to an element at a specified index within a given <see cref="T:System.Span`1"/>, with no bounds checks.
+            </summary>
+            <typeparam name="T">The type of elements in the input <see cref="T:System.Span`1"/> instance.</typeparam>
+            <param name="span">The input <see cref="T:System.Span`1"/> instance.</param>
+            <param name="i">The index of the element to retrieve within <paramref name="span"/>.</param>
+            <returns>A reference to the element within <paramref name="span"/> at the index specified by <paramref name="i"/>.</returns>
+            <remarks>This method doesn't do any bounds checks, therefore it is responsibility of the caller to ensure the <paramref name="i"/> parameter is valid.</remarks>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.SpanExtensions.DangerousGetReferenceAt``1(System.Span{``0},System.IntPtr)">
+            <summary>
+            Returns a reference to an element at a specified index within a given <see cref="T:System.Span`1"/>, with no bounds checks.
+            </summary>
+            <typeparam name="T">The type of elements in the input <see cref="T:System.Span`1"/> instance.</typeparam>
+            <param name="span">The input <see cref="T:System.Span`1"/> instance.</param>
+            <param name="i">The index of the element to retrieve within <paramref name="span"/>.</param>
+            <returns>A reference to the element within <paramref name="span"/> at the index specified by <paramref name="i"/>.</returns>
+            <remarks>This method doesn't do any bounds checks, therefore it is responsibility of the caller to ensure the <paramref name="i"/> parameter is valid.</remarks>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.SpanExtensions.AsSpan2D``1(System.Span{``0},System.Int32,System.Int32)">
+            <summary>
+            Returns a <see cref="T:CommunityToolkit.HighPerformance.Span2D`1"/> instance wrapping the underlying data for the given <see cref="T:System.Span`1"/> instance.
+            </summary>
+            <typeparam name="T">The type of items in the input <see cref="T:System.Span`1"/> instance.</typeparam>
+            <param name="span">The input <see cref="T:System.Span`1"/> instance.</param>
+            <param name="height">The height of the resulting 2D area.</param>
+            <param name="width">The width of each row in the resulting 2D area.</param>
+            <returns>The resulting <see cref="T:CommunityToolkit.HighPerformance.Span2D`1"/> instance.</returns>
+            <exception cref="T:System.ArgumentOutOfRangeException">
+            Thrown when one of the input parameters is out of range.
+            </exception>
+            <exception cref="T:System.ArgumentException">
+            Thrown when the requested area is outside of bounds for <paramref name="span"/>.
+            </exception>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.SpanExtensions.AsSpan2D``1(System.Span{``0},System.Int32,System.Int32,System.Int32,System.Int32)">
+            <summary>
+            Returns a <see cref="T:CommunityToolkit.HighPerformance.Span2D`1"/> instance wrapping the underlying data for the given <see cref="T:System.Span`1"/> instance.
+            </summary>
+            <typeparam name="T">The type of items in the input <see cref="T:System.Span`1"/> instance.</typeparam>
+            <param name="span">The input <see cref="T:System.Span`1"/> instance.</param>
+            <param name="offset">The initial offset within <paramref name="span"/>.</param>
+            <param name="height">The height of the resulting 2D area.</param>
+            <param name="width">The width of each row in the resulting 2D area.</param>
+            <param name="pitch">The pitch in the resulting 2D area.</param>
+            <returns>The resulting <see cref="T:CommunityToolkit.HighPerformance.Span2D`1"/> instance.</returns>
+            <exception cref="T:System.ArgumentOutOfRangeException">
+            Thrown when one of the input parameters is out of range.
+            </exception>
+            <exception cref="T:System.ArgumentException">
+            Thrown when the requested area is outside of bounds for <paramref name="span"/>.
+            </exception>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.SpanExtensions.AsBytes``1(System.Span{``0})">
+            <summary>
+            Casts a <see cref="T:System.Span`1"/> of one primitive type <typeparamref name="T"/> to <see cref="T:System.Span`1"/> of bytes.
+            </summary>
+            <typeparam name="T">The type if items in the source <see cref="T:System.Span`1"/>.</typeparam>
+            <param name="span">The source slice, of type <typeparamref name="T"/>.</param>
+            <returns>A <see cref="T:System.Span`1"/> of bytes.</returns>
+            <exception cref="T:System.OverflowException">
+            Thrown if the <see cref="P:System.Span`1.Length"/> property of the new <see cref="T:System.Span`1"/> would exceed <see cref="F:System.Int32.MaxValue"/>.
+            </exception>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.SpanExtensions.Cast``2(System.Span{``0})">
+            <summary>
+            Casts a <see cref="T:System.Span`1"/> of one primitive type <typeparamref name="TFrom"/> to another primitive type <typeparamref name="TTo"/>.
+            </summary>
+            <typeparam name="TFrom">The type of items in the source <see cref="T:System.Span`1"/>.</typeparam>
+            <typeparam name="TTo">The type of items in the destination <see cref="T:System.Span`1"/>.</typeparam>
+            <param name="span">The source slice, of type <typeparamref name="TFrom"/>.</param>
+            <returns>A <see cref="T:System.Span`1"/> of type <typeparamref name="TTo"/></returns>
+            <remarks>
+            Supported only for platforms that support misaligned memory access or when the memory block is aligned by other means.
+            </remarks>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.SpanExtensions.IndexOf``1(System.Span{``0},``0@)">
+            <summary>
+            Gets the index of an element of a given <see cref="T:System.Span`1"/> from its reference.
+            </summary>
+            <typeparam name="T">The type if items in the input <see cref="T:System.Span`1"/>.</typeparam>
+            <param name="span">The input <see cref="T:System.Span`1"/> to calculate the index for.</param>
+            <param name="value">The reference to the target item to get the index for.</param>
+            <returns>The index of <paramref name="value"/> within <paramref name="span"/>, or <c>-1</c>.</returns>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.SpanExtensions.Count``1(System.Span{``0},``0)">
+            <summary>
+            Counts the number of occurrences of a given value into a target <see cref="T:System.Span`1"/> instance.
+            </summary>
+            <typeparam name="T">The type of items in the input <see cref="T:System.Span`1"/> instance.</typeparam>
+            <param name="span">The input <see cref="T:System.Span`1"/> instance to read.</param>
+            <param name="value">The <typeparamref name="T"/> value to look for.</param>
+            <returns>The number of occurrences of <paramref name="value"/> in <paramref name="span"/>.</returns>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.SpanExtensions.Enumerate``1(System.Span{``0})">
+             <summary>
+             Enumerates the items in the input <see cref="T:System.Span`1"/> instance, as pairs of reference/index values.
+             This extension should be used directly within a <see langword="foreach"/> loop:
+             <code>
+             Span&lt;int&gt; numbers = new[] { 1, 2, 3, 4, 5, 6, 7 };
+            
+             foreach (var item in numbers.Enumerate())
+             {
+                 // Access the index and value of each item here...
+                 int index = item.Index;
+                 ref int value = ref item.Value;
+             }
+             </code>
+             The compiler will take care of properly setting up the <see langword="foreach"/> loop with the type returned from this method.
+             </summary>
+             <typeparam name="T">The type of items to enumerate.</typeparam>
+             <param name="span">The source <see cref="T:System.Span`1"/> to enumerate.</param>
+             <returns>A wrapper type that will handle the reference/index enumeration for <paramref name="span"/>.</returns>
+             <remarks>The returned <see cref="T:CommunityToolkit.HighPerformance.Enumerables.SpanEnumerable`1"/> value shouldn't be used directly: use this extension in a <see langword="foreach"/> loop.</remarks>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.SpanExtensions.Tokenize``1(System.Span{``0},``0)">
+             <summary>
+             Tokenizes the values in the input <see cref="T:System.Span`1"/> instance using a specified separator.
+             This extension should be used directly within a <see langword="foreach"/> loop:
+             <code>
+             Span&lt;char&gt; text = "Hello, world!".ToCharArray();
+            
+             foreach (var token in text.Tokenize(','))
+             {
+                 // Access the tokens here...
+             }
+             </code>
+             The compiler will take care of properly setting up the <see langword="foreach"/> loop with the type returned from this method.
+             </summary>
+             <typeparam name="T">The type of items in the <see cref="T:System.Span`1"/> to tokenize.</typeparam>
+             <param name="span">The source <see cref="T:System.Span`1"/> to tokenize.</param>
+             <param name="separator">The separator <typeparamref name="T"/> item to use.</param>
+             <returns>A wrapper type that will handle the tokenization for <paramref name="span"/>.</returns>
+             <remarks>The returned <see cref="T:CommunityToolkit.HighPerformance.Enumerables.SpanTokenizer`1"/> value shouldn't be used directly: use this extension in a <see langword="foreach"/> loop.</remarks>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.SpanExtensions.GetDjb2HashCode``1(System.Span{``0})">
+            <summary>
+            Gets a content hash from the input <see cref="T:System.Span`1"/> instance using the Djb2 algorithm.
+            For more info, see the documentation for <see cref="M:CommunityToolkit.HighPerformance.ReadOnlySpanExtensions.GetDjb2HashCode``1(System.ReadOnlySpan{``0})"/>.
+            </summary>
+            <typeparam name="T">The type of items in the input <see cref="T:System.Span`1"/> instance.</typeparam>
+            <param name="span">The input <see cref="T:System.Span`1"/> instance.</param>
+            <returns>The Djb2 value for the input <see cref="T:System.Span`1"/> instance.</returns>
+            <remarks>The Djb2 hash is fully deterministic and with no random components.</remarks>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.SpanExtensions.CopyTo``1(System.Span{``0},CommunityToolkit.HighPerformance.Enumerables.RefEnumerable{``0})">
+            <summary>
+            Copies the contents of a given <see cref="T:System.Span`1"/> into destination <see cref="T:CommunityToolkit.HighPerformance.Enumerables.RefEnumerable`1"/> instance.
+            </summary>
+            <typeparam name="T">The type of items in the input <see cref="T:System.Span`1"/> instance.</typeparam>
+            <param name="span">The input <see cref="T:System.Span`1"/> instance.</param>
+            <param name="destination">The <see cref="T:CommunityToolkit.HighPerformance.Enumerables.RefEnumerable`1"/> instance to copy items into.</param>
+            <exception cref="T:System.ArgumentException">
+            Thrown when the destination <see cref="T:CommunityToolkit.HighPerformance.Enumerables.RefEnumerable`1"/> is shorter than the source <see cref="T:System.Span`1"/>.
+            </exception>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.SpanExtensions.TryCopyTo``1(System.Span{``0},CommunityToolkit.HighPerformance.Enumerables.RefEnumerable{``0})">
+            <summary>
+            Attempts to copy the contents of a given <see cref="T:System.Span`1"/> into destination <see cref="T:CommunityToolkit.HighPerformance.Enumerables.RefEnumerable`1"/> instance.
+            </summary>
+            <typeparam name="T">The type of items in the input <see cref="T:System.Span`1"/> instance.</typeparam>
+            <param name="span">The input <see cref="T:System.Span`1"/> instance.</param>
+            <param name="destination">The <see cref="T:CommunityToolkit.HighPerformance.Enumerables.RefEnumerable`1"/> instance to copy items into.</param>
+            <returns>Whether or not the operation was successful.</returns>
+        </member>
+        <member name="T:CommunityToolkit.HighPerformance.SpinLockExtensions">
+            <summary>
+            Helpers for working with the <see cref="T:System.Threading.SpinLock"/> type.
+            </summary>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.SpinLockExtensions.Enter(System.Threading.SpinLock*)">
+             <summary>
+             Enters a specified <see cref="T:System.Threading.SpinLock"/> instance and returns a wrapper to use to release the lock.
+             This extension should be used though a <see langword="using"/> block or statement:
+             <code>
+             SpinLock spinLock = new SpinLock();
+            
+             using (SpinLockExtensions.Enter(&amp;spinLock))
+             {
+                 // Thread-safe code here...
+             }
+             </code>
+             The compiler will take care of releasing the SpinLock when the code goes out of that <see langword="using"/> scope.
+             </summary>
+             <param name="spinLock">A pointer to the target <see cref="T:System.Threading.SpinLock"/> to use</param>
+             <returns>A wrapper type that will release <paramref name="spinLock"/> when its <see cref="M:System.IDisposable.Dispose"/> method is called.</returns>
+             <remarks>The returned <see cref="T:CommunityToolkit.HighPerformance.SpinLockExtensions.UnsafeLock"/> value shouldn't be used directly: use this extension in a <see langword="using"/> block or statement.</remarks>
+        </member>
+        <member name="T:CommunityToolkit.HighPerformance.SpinLockExtensions.UnsafeLock">
+            <summary>
+            A <see langword="struct"/> that is used to enter and hold a <see cref="T:System.Threading.SpinLock"/> through a <see langword="using"/> block or statement.
+            </summary>
+        </member>
+        <member name="F:CommunityToolkit.HighPerformance.SpinLockExtensions.UnsafeLock.spinLock">
+            <summary>
+            The <see cref="T:System.Threading.SpinLock"/>* pointer to the target <see cref="T:System.Threading.SpinLock"/> value to use.
+            </summary>
+        </member>
+        <member name="F:CommunityToolkit.HighPerformance.SpinLockExtensions.UnsafeLock.lockTaken">
+            <summary>
+            A value indicating whether or not the lock is taken by this <see cref="T:CommunityToolkit.HighPerformance.SpinLockExtensions.UnsafeLock"/> instance.
+            </summary>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.SpinLockExtensions.UnsafeLock.#ctor(System.Threading.SpinLock*)">
+            <summary>
+            Initializes a new instance of the <see cref="T:CommunityToolkit.HighPerformance.SpinLockExtensions.UnsafeLock"/> struct.
+            </summary>
+            <param name="spinLock">The target <see cref="T:System.Threading.SpinLock"/> to use.</param>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.SpinLockExtensions.UnsafeLock.Dispose">
+            <summary>
+            Implements the duck-typed <see cref="M:System.IDisposable.Dispose"/> method and releases the current <see cref="T:System.Threading.SpinLock"/> instance.
+            </summary>
+        </member>
+        <member name="T:CommunityToolkit.HighPerformance.StreamExtensions">
+            <summary>
+            Helpers for working with the <see cref="T:System.IO.Stream"/> type.
+            </summary>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.StreamExtensions.ReadAsync(System.IO.Stream,System.Memory{System.Byte},System.Threading.CancellationToken)">
+            <summary>
+            Asynchronously reads a sequence of bytes from a given <see cref="T:System.IO.Stream"/> instance.
+            </summary>
+            <param name="stream">The source <see cref="T:System.IO.Stream"/> to read data from.</param>
+            <param name="buffer">The destination <see cref="T:System.Memory`1"/> to write data to.</param>
+            <param name="cancellationToken">The optional <see cref="T:System.Threading.CancellationToken"/> for the operation.</param>
+            <returns>A <see cref="T:System.Threading.Tasks.ValueTask"/> representing the operation being performed.</returns>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.StreamExtensions.WriteAsync(System.IO.Stream,System.ReadOnlyMemory{System.Byte},System.Threading.CancellationToken)">
+            <summary>
+            Asynchronously writes a sequence of bytes to a given <see cref="T:System.IO.Stream"/> instance.
+            </summary>
+            <param name="stream">The destination <see cref="T:System.IO.Stream"/> to write data to.</param>
+            <param name="buffer">The source <see cref="T:System.ReadOnlyMemory`1"/> to read data from.</param>
+            <param name="cancellationToken">The optional <see cref="T:System.Threading.CancellationToken"/> for the operation.</param>
+            <returns>A <see cref="T:System.Threading.Tasks.ValueTask"/> representing the operation being performed.</returns>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.StreamExtensions.Read(System.IO.Stream,System.Span{System.Byte})">
+            <summary>
+            Reads a sequence of bytes from a given <see cref="T:System.IO.Stream"/> instance.
+            </summary>
+            <param name="stream">The source <see cref="T:System.IO.Stream"/> to read data from.</param>
+            <param name="buffer">The target <see cref="T:System.Span`1"/> to write data to.</param>
+            <returns>The number of bytes that have been read.</returns>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.StreamExtensions.Write(System.IO.Stream,System.ReadOnlySpan{System.Byte})">
+            <summary>
+            Writes a sequence of bytes to a given <see cref="T:System.IO.Stream"/> instance.
+            </summary>
+            <param name="stream">The destination <see cref="T:System.IO.Stream"/> to write data to.</param>
+            <param name="buffer">The source <see cref="T:System.Span`1"/> to read data from.</param>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.StreamExtensions.Read``1(System.IO.Stream)">
+            <summary>
+            Reads a value of a specified type from a source <see cref="T:System.IO.Stream"/> instance.
+            </summary>
+            <typeparam name="T">The type of value to read.</typeparam>
+            <param name="stream">The source <see cref="T:System.IO.Stream"/> instance to read from.</param>
+            <returns>The <typeparamref name="T"/> value read from <paramref name="stream"/>.</returns>
+            <exception cref="T:System.IO.EndOfStreamException">Thrown if <paramref name="stream"/> reaches the end.</exception>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.StreamExtensions.Write``1(System.IO.Stream,``0@)">
+            <summary>
+            Writes a value of a specified type into a target <see cref="T:System.IO.Stream"/> instance.
+            </summary>
+            <typeparam name="T">The type of value to write.</typeparam>
+            <param name="stream">The target <see cref="T:System.IO.Stream"/> instance to write to.</param>
+            <param name="value">The input value to write to <paramref name="stream"/>.</param>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.StreamExtensions.ThrowEndOfStreamException">
+            <summary>
+            Throws an <see cref="T:System.IO.EndOfStreamException"/> when <see cref="M:CommunityToolkit.HighPerformance.StreamExtensions.Read``1(System.IO.Stream)"/> fails.
+            </summary>
+        </member>
+        <member name="T:CommunityToolkit.HighPerformance.StringExtensions">
+            <summary>
+            Helpers for working with the <see cref="T:System.String"/> type.
+            </summary>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.StringExtensions.DangerousGetReference(System.String)">
+            <summary>
+            Returns a reference to the first element within a given <see cref="T:System.String"/>, with no bounds checks.
+            </summary>
+            <param name="text">The input <see cref="T:System.String"/> instance.</param>
+            <returns>A reference to the first element within <paramref name="text"/>, or the location it would have used, if <paramref name="text"/> is empty.</returns>
+            <remarks>This method doesn't do any bounds checks, therefore it is responsibility of the caller to perform checks in case the returned value is dereferenced.</remarks>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.StringExtensions.DangerousGetReferenceAt(System.String,System.Int32)">
+            <summary>
+            Returns a reference to an element at a specified index within a given <see cref="T:System.String"/>, with no bounds checks.
+            </summary>
+            <param name="text">The input <see cref="T:System.String"/> instance.</param>
+            <param name="i">The index of the element to retrieve within <paramref name="text"/>.</param>
+            <returns>A reference to the element within <paramref name="text"/> at the index specified by <paramref name="i"/>.</returns>
+            <remarks>This method doesn't do any bounds checks, therefore it is responsibility of the caller to ensure the <paramref name="i"/> parameter is valid.</remarks>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.StringExtensions.Count(System.String,System.Char)">
+            <summary>
+            Counts the number of occurrences of a given character into a target <see cref="T:System.String"/> instance.
+            </summary>
+            <param name="text">The input <see cref="T:System.String"/> instance to read.</param>
+            <param name="c">The character to look for.</param>
+            <returns>The number of occurrences of <paramref name="c"/> in <paramref name="text"/>.</returns>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.StringExtensions.Enumerate(System.String)">
+             <summary>
+             Enumerates the items in the input <see cref="T:System.String"/> instance, as pairs of value/index values.
+             This extension should be used directly within a <see langword="foreach"/> loop:
+             <code>
+             string text = "Hello, world!";
+            
+             foreach (var item in text.Enumerate())
+             {
+                 // Access the index and value of each item here...
+                 int index = item.Index;
+                 char value = item.Value;
+             }
+             </code>
+             The compiler will take care of properly setting up the <see langword="foreach"/> loop with the type returned from this method.
+             </summary>
+             <param name="text">The source <see cref="T:System.String"/> to enumerate.</param>
+             <returns>A wrapper type that will handle the value/index enumeration for <paramref name="text"/>.</returns>
+             <remarks>The returned <see cref="T:CommunityToolkit.HighPerformance.Enumerables.ReadOnlySpanEnumerable`1"/> value shouldn't be used directly: use this extension in a <see langword="foreach"/> loop.</remarks>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.StringExtensions.Tokenize(System.String,System.Char)">
+             <summary>
+             Tokenizes the values in the input <see cref="T:System.String"/> instance using a specified separator.
+             This extension should be used directly within a <see langword="foreach"/> loop:
+             <code>
+             string text = "Hello, world!";
+            
+             foreach (var token in text.Tokenize(','))
+             {
+                 // Access the tokens here...
+             }
+             </code>
+             The compiler will take care of properly setting up the <see langword="foreach"/> loop with the type returned from this method.
+             </summary>
+             <param name="text">The source <see cref="T:System.String"/> to tokenize.</param>
+             <param name="separator">The separator character to use.</param>
+             <returns>A wrapper type that will handle the tokenization for <paramref name="text"/>.</returns>
+             <remarks>The returned <see cref="T:CommunityToolkit.HighPerformance.Enumerables.ReadOnlySpanTokenizer`1"/> value shouldn't be used directly: use this extension in a <see langword="foreach"/> loop.</remarks>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.StringExtensions.GetDjb2HashCode(System.String)">
+            <summary>
+            Gets a content hash from the input <see cref="T:System.String"/> instance using the Djb2 algorithm.
+            For more info, see the documentation for <see cref="M:CommunityToolkit.HighPerformance.ReadOnlySpanExtensions.GetDjb2HashCode``1(System.ReadOnlySpan{``0})"/>.
+            </summary>
+            <param name="text">The source <see cref="T:System.String"/> to enumerate.</param>
+            <returns>The Djb2 value for the input <see cref="T:System.String"/> instance.</returns>
+            <remarks>The Djb2 hash is fully deterministic and with no random components.</remarks>
+        </member>
+        <member name="T:CommunityToolkit.HighPerformance.Helpers.BitHelper">
+            <summary>
+            Helpers to perform bit operations on numeric types.
+            </summary>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Helpers.BitHelper.HasFlag(System.UInt32,System.Int32)">
+            <summary>
+            Checks whether or not a given bit is set.
+            </summary>
+            <param name="value">The input <see cref="T:System.UInt32"/> value.</param>
+            <param name="n">The position of the bit to check (in [0, 31] range).</param>
+            <returns>Whether or not the n-th bit is set.</returns>
+            <remarks>
+            This method doesn't validate <paramref name="n"/> against the valid range.
+            If the parameter is not valid, the result will just be inconsistent.
+            Additionally, no conditional branches are used to retrieve the flag.
+            </remarks>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Helpers.BitHelper.HasLookupFlag(System.UInt32,System.Int32,System.Int32)">
+            <summary>
+            Checks whether or not a given bit is set in a given bitwise lookup table.
+            This method provides a branchless, register-based (with no memory accesses) way to
+            check whether a given value is valid, according to a precomputed lookup table.
+            It is similar in behavior to <see cref="M:CommunityToolkit.HighPerformance.Helpers.BitHelper.HasFlag(System.UInt32,System.Int32)"/>, with the main difference
+            being that this method will also validate the input <paramref name="x"/> parameter, and
+            will always return <see langword="false"/> if it falls outside of the expected interval.
+            Additionally, this method accepts a <paramref name="min"/> parameter, which is used to
+            decrement the input parameter <paramref name="x"/> to ensure that the range of accepted
+            values fits within the available 32 bits of the lookup table in use.
+            For more info on this optimization technique, see <see href="https://egorbo.com/llvm-range-checks.html"/>.
+            Here is how the code from the link above would be implemented using this method:
+            <code>
+            bool IsReservedCharacter(char c)
+            {
+                return BitHelper.HasLookupFlag(314575237u, c, 36);
+            }
+            </code>
+            The resulted assembly is virtually identical, with the added optimization that the one
+            produced by <see cref="M:CommunityToolkit.HighPerformance.Helpers.BitHelper.HasLookupFlag(System.UInt32,System.Int32,System.Int32)"/> has no conditional branches at all.
+            </summary>
+            <param name="table">The input lookup table to use.</param>
+            <param name="x">The input value to check.</param>
+            <param name="min">The minimum accepted value for <paramref name="x"/> (defaults to 0).</param>
+            <returns>Whether or not the corresponding flag for <paramref name="x"/> is set in <paramref name="table"/>.</returns>
+            <remarks>
+            For best results, as shown in the sample code, both <paramref name="table"/> and <paramref name="min"/>
+            should be compile-time constants, so that the JIT compiler will be able to produce more efficient code.
+            </remarks>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Helpers.BitHelper.HasZeroByte(System.UInt32)">
+            <summary>
+            Checks whether the given value has any bytes that are set to 0.
+            That is, given a <see cref="T:System.UInt32"/> value, which has a total of 4 bytes,
+            it checks whether any of those have all the bits set to 0.
+            </summary>
+            <param name="value">The input value to check.</param>
+            <returns>Whether <paramref name="value"/> has any bytes set to 0.</returns>
+            <remarks>
+            This method contains no branches.
+            For more background on this subject, see <see href="https://graphics.stanford.edu/~seander/bithacks.html#ZeroInWord"/>.
+            </remarks>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Helpers.BitHelper.HasZeroByte(System.UInt64)">
+            <summary>
+            Checks whether the given value has any bytes that are set to 0.
+            This method mirrors <see cref="M:CommunityToolkit.HighPerformance.Helpers.BitHelper.HasZeroByte(System.UInt32)"/>, but with <see cref="T:System.UInt64"/> values.
+            </summary>
+            <param name="value">The input value to check.</param>
+            <returns>Whether <paramref name="value"/> has any bytes set to 0.</returns>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Helpers.BitHelper.HasByteEqualTo(System.UInt32,System.Byte)">
+            <summary>
+            Checks whether a byte in the input <see cref="T:System.UInt32"/> value matches a target value.
+            </summary>
+            <param name="value">The input value to check.</param>
+            <param name="target">The target byte to look for.</param>
+            <returns>Whether <paramref name="value"/> has any bytes set to <paramref name="target"/>.</returns>
+            <remarks>
+            This method contains no branches.
+            For more info, see <see href="https://graphics.stanford.edu/~seander/bithacks.html#ZeroInWord"/>.
+            </remarks>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Helpers.BitHelper.HasByteEqualTo(System.UInt64,System.Byte)">
+            <summary>
+            Checks whether a byte in the input <see cref="T:System.UInt32"/> value matches a target value.
+            This method mirrors <see cref="M:CommunityToolkit.HighPerformance.Helpers.BitHelper.HasByteEqualTo(System.UInt32,System.Byte)"/>, but with <see cref="T:System.UInt64"/> values.
+            </summary>
+            <param name="value">The input value to check.</param>
+            <param name="target">The target byte to look for.</param>
+            <returns>Whether <paramref name="value"/> has any bytes set to <paramref name="target"/>.</returns>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Helpers.BitHelper.SetFlag(System.UInt32@,System.Int32,System.Boolean)">
+            <summary>
+            Sets a bit to a specified value.
+            </summary>
+            <param name="value">The target <see cref="T:System.UInt32"/> value.</param>
+            <param name="n">The position of the bit to set or clear (in [0, 31] range).</param>
+            <param name="flag">The value to assign to the target bit.</param>
+            <remarks>
+            Just like <see cref="M:CommunityToolkit.HighPerformance.Helpers.BitHelper.HasFlag(System.UInt32,System.Int32)"/>, this method doesn't validate <paramref name="n"/>
+            and does not contain branching instructions, so it's well suited for use in tight loops as well.
+            </remarks>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Helpers.BitHelper.SetFlag(System.UInt32,System.Int32,System.Boolean)">
+            <summary>
+            Sets a bit to a specified value.
+            </summary>
+            <param name="value">The input <see cref="T:System.UInt32"/> value.</param>
+            <param name="n">The position of the bit to set or clear (in [0, 31] range).</param>
+            <param name="flag">The value to assign to the target bit.</param>
+            <returns>An <see cref="T:System.UInt32"/> value equal to <paramref name="value"/> except for the <paramref name="n"/>-th bit.</returns>
+            <remarks>
+            Just like <see cref="M:CommunityToolkit.HighPerformance.Helpers.BitHelper.HasFlag(System.UInt32,System.Int32)"/>, this method doesn't validate <paramref name="n"/>
+            and does not contain branching instructions, so it's well suited for use in tight loops as well.
+            </remarks>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Helpers.BitHelper.ExtractRange(System.UInt32,System.Byte,System.Byte)">
+            <summary>
+            Extracts a bit field range from a given value.
+            </summary>
+            <param name="value">The input <see cref="T:System.UInt32"/> value.</param>
+            <param name="start">The initial index of the range to extract (in [0, 31] range).</param>
+            <param name="length">The length of the range to extract (depends on <paramref name="start"/>).</param>
+            <returns>The value of the extracted range within <paramref name="value"/>.</returns>
+            <remarks>
+            This method doesn't validate <paramref name="start"/> and <paramref name="length"/>.
+            If either parameter is not valid, the result will just be inconsistent. The method
+            should not be used to set all the bits at once, and it is not guaranteed to work in
+            that case, which would just be equivalent to assigning the <see cref="T:System.UInt32"/> value.
+            Additionally, no conditional branches are used to retrieve the range.
+            </remarks>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Helpers.BitHelper.SetRange(System.UInt32@,System.Byte,System.Byte,System.UInt32)">
+            <summary>
+            Sets a bit field range within a target value.
+            </summary>
+            <param name="value">The target <see cref="T:System.UInt32"/> value.</param>
+            <param name="start">The initial index of the range to extract (in [0, 31] range).</param>
+            <param name="length">The length of the range to extract (depends on <paramref name="start"/>).</param>
+            <param name="flags">The input flags to insert in the target range.</param>
+            <remarks>
+            Just like <see cref="M:CommunityToolkit.HighPerformance.Helpers.BitHelper.ExtractRange(System.UInt32,System.Byte,System.Byte)"/>, this method doesn't validate the parameters
+            and does not contain branching instructions, so it's well suited for use in tight loops as well.
+            </remarks>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Helpers.BitHelper.SetRange(System.UInt32,System.Byte,System.Byte,System.UInt32)">
+            <summary>
+            Sets a bit field range within a target value.
+            </summary>
+            <param name="value">The initial <see cref="T:System.UInt32"/> value.</param>
+            <param name="start">The initial index of the range to extract (in [0, 31] range).</param>
+            <param name="length">The length of the range to extract (depends on <paramref name="start"/>).</param>
+            <param name="flags">The input flags to insert in the target range.</param>
+            <returns>The updated bit field value after setting the specified range.</returns>
+            <remarks>
+            Just like <see cref="M:CommunityToolkit.HighPerformance.Helpers.BitHelper.ExtractRange(System.UInt32,System.Byte,System.Byte)"/>, this method doesn't validate the parameters
+            and does not contain branching instructions, so it's well suited for use in tight loops as well.
+            </remarks>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Helpers.BitHelper.HasFlag(System.UInt64,System.Int32)">
+            <summary>
+            Checks whether or not a given bit is set.
+            </summary>
+            <param name="value">The input <see cref="T:System.UInt64"/> value.</param>
+            <param name="n">The position of the bit to check (in [0, 63] range).</param>
+            <returns>Whether or not the n-th bit is set.</returns>
+            <remarks>
+            This method doesn't validate <paramref name="n"/> against the valid range.
+            If the parameter is not valid, the result will just be inconsistent.
+            Additionally, no conditional branches are used to retrieve the flag.
+            </remarks>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Helpers.BitHelper.HasLookupFlag(System.UInt64,System.Int32,System.Int32)">
+            <summary>
+            Checks whether or not a given bit is set in a given bitwise lookup table.
+            For more info, check the XML docs of the <see cref="M:CommunityToolkit.HighPerformance.Helpers.BitHelper.HasLookupFlag(System.UInt32,System.Int32,System.Int32)"/> overload.
+            </summary>
+            <param name="table">The input lookup table to use.</param>
+            <param name="x">The input value to check.</param>
+            <param name="min">The minimum accepted value for <paramref name="x"/> (defaults to 0).</param>
+            <returns>Whether or not the corresponding flag for <paramref name="x"/> is set in <paramref name="table"/>.</returns>
+            <remarks>
+            For best results, as shown in the sample code, both <paramref name="table"/> and <paramref name="min"/>
+            should be compile-time constants, so that the JIT compiler will be able to produce more efficient code.
+            </remarks>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Helpers.BitHelper.SetFlag(System.UInt64@,System.Int32,System.Boolean)">
+            <summary>
+            Sets a bit to a specified value.
+            </summary>
+            <param name="value">The target <see cref="T:System.UInt64"/> value.</param>
+            <param name="n">The position of the bit to set or clear (in [0, 63] range).</param>
+            <param name="flag">The value to assign to the target bit.</param>
+            <remarks>
+            Just like <see cref="M:CommunityToolkit.HighPerformance.Helpers.BitHelper.HasFlag(System.UInt64,System.Int32)"/>, this method doesn't validate <paramref name="n"/>
+            and does not contain branching instructions, so it's well suited for use in tight loops as well.
+            </remarks>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Helpers.BitHelper.SetFlag(System.UInt64,System.Int32,System.Boolean)">
+            <summary>
+            Sets a bit to a specified value.
+            </summary>
+            <param name="value">The input <see cref="T:System.UInt64"/> value.</param>
+            <param name="n">The position of the bit to set or clear (in [0, 63] range).</param>
+            <param name="flag">The value to assign to the target bit.</param>
+            <returns>An <see cref="T:System.UInt64"/> value equal to <paramref name="value"/> except for the <paramref name="n"/>-th bit.</returns>
+            <remarks>
+            Just like <see cref="M:CommunityToolkit.HighPerformance.Helpers.BitHelper.HasFlag(System.UInt64,System.Int32)"/>, this method doesn't validate <paramref name="n"/>
+            and does not contain branching instructions, so it's well suited for use in tight loops as well.
+            </remarks>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Helpers.BitHelper.ExtractRange(System.UInt64,System.Byte,System.Byte)">
+            <summary>
+            Extracts a bit field range from a given value.
+            </summary>
+            <param name="value">The input <see cref="T:System.UInt64"/> value.</param>
+            <param name="start">The initial index of the range to extract (in [0, 63] range).</param>
+            <param name="length">The length of the range to extract (depends on <paramref name="start"/>).</param>
+            <returns>The value of the extracted range within <paramref name="value"/>.</returns>
+            <remarks>
+            This method doesn't validate <paramref name="start"/> and <paramref name="length"/>.
+            If either parameter is not valid, the result will just be inconsistent. The method
+            should not be used to set all the bits at once, and it is not guaranteed to work in
+            that case, which would just be equivalent to assigning the <see cref="T:System.UInt64"/> value.
+            Additionally, no conditional branches are used to retrieve the range.
+            </remarks>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Helpers.BitHelper.SetRange(System.UInt64@,System.Byte,System.Byte,System.UInt64)">
+            <summary>
+            Sets a bit field range within a target value.
+            </summary>
+            <param name="value">The target <see cref="T:System.UInt64"/> value.</param>
+            <param name="start">The initial index of the range to extract (in [0, 63] range).</param>
+            <param name="length">The length of the range to extract (depends on <paramref name="start"/>).</param>
+            <param name="flags">The input flags to insert in the target range.</param>
+            <remarks>
+            Just like <see cref="M:CommunityToolkit.HighPerformance.Helpers.BitHelper.ExtractRange(System.UInt64,System.Byte,System.Byte)"/>, this method doesn't validate the parameters
+            and does not contain branching instructions, so it's well suited for use in tight loops as well.
+            </remarks>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Helpers.BitHelper.SetRange(System.UInt64,System.Byte,System.Byte,System.UInt64)">
+            <summary>
+            Sets a bit field range within a target value.
+            </summary>
+            <param name="value">The initial <see cref="T:System.UInt64"/> value.</param>
+            <param name="start">The initial index of the range to extract (in [0, 63] range).</param>
+            <param name="length">The length of the range to extract (depends on <paramref name="start"/>).</param>
+            <param name="flags">The input flags to insert in the target range.</param>
+            <returns>The updated bit field value after setting the specified range.</returns>
+            <remarks>
+            Just like <see cref="M:CommunityToolkit.HighPerformance.Helpers.BitHelper.ExtractRange(System.UInt64,System.Byte,System.Byte)"/>, this method doesn't validate the parameters
+            and does not contain branching instructions, so it's well suited for use in tight loops as well.
+            </remarks>
+        </member>
+        <member name="T:CommunityToolkit.HighPerformance.Helpers.HashCode`1">
+            <summary>
+            Combines the hash code of sequences of <typeparamref name="T"/> values into a single hash code.
+            </summary>
+            <typeparam name="T">The type of values to hash.</typeparam>
+            <remarks>
+            The hash codes returned by the <see cref="M:CommunityToolkit.HighPerformance.Helpers.HashCode`1.Combine(System.ReadOnlySpan{`0})"/> method are only guaranteed to be repeatable for
+            the current execution session, just like with the available <see cref="T:System.HashCode"/> APIs.In other words,
+            hashing the same <see cref="T:System.ReadOnlySpan`1"/> collection multiple times in the same process will always
+            result in the same hash code, while the same collection being hashed again from another process
+            (or another instance of the same process) is not guaranteed to result in the same final value.
+            For more info, see <see href="https://learn.microsoft.com/en-us/dotnet/api/system.object.gethashcode#remarks"/>.
+            </remarks>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Helpers.HashCode`1.Combine(System.ReadOnlySpan{`0})">
+            <summary>
+            Gets a content hash from the input <see cref="T:System.ReadOnlySpan`1"/> instance using the xxHash32 algorithm.
+            </summary>
+            <param name="span">The input <see cref="T:System.ReadOnlySpan`1"/> instance</param>
+            <returns>The xxHash32 value for the input <see cref="T:System.ReadOnlySpan`1"/> instance</returns>
+            <remarks>The xxHash32 is only guaranteed to be deterministic within the scope of a single app execution</remarks>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Helpers.HashCode`1.CombineValues(System.ReadOnlySpan{`0})">
+            <summary>
+            Gets a content hash from the input <see cref="T:System.ReadOnlySpan`1"/> instance.
+            </summary>
+            <param name="span">The input <see cref="T:System.ReadOnlySpan`1"/> instance</param>
+            <returns>The hash code for the input <see cref="T:System.ReadOnlySpan`1"/> instance</returns>
+            <remarks>The returned hash code is not processed through <see cref="T:System.HashCode"/> APIs.</remarks>
+        </member>
+        <member name="T:CommunityToolkit.HighPerformance.Helpers.Internals.BitOperations">
+            <summary>
+            Utility methods for intrinsic bit-twiddling operations. The methods use hardware intrinsics
+            when available on the underlying platform, otherwise they use optimized software fallbacks.
+            </summary>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Helpers.Internals.BitOperations.RoundUpToPowerOf2(System.UInt32)">
+            <summary>
+            Round the given integral value up to a power of 2.
+            </summary>
+            <param name="value">The value.</param>
+            <returns>
+            The smallest power of 2 which is greater than or equal to <paramref name="value"/>.
+            If <paramref name="value"/> is 0 or the result overflows, returns 0.
+            </returns>
+        </member>
+        <member name="T:CommunityToolkit.HighPerformance.Helpers.Internals.RefEnumerableHelper">
+            <summary>
+            Helpers to process sequences of values by reference with a given step.
+            </summary>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Helpers.Internals.RefEnumerableHelper.Clear``1(``0@,System.IntPtr,System.IntPtr)">
+            <summary>
+            Clears a target memory area.
+            </summary>
+            <typeparam name="T">The type of values to clear.</typeparam>
+            <param name="r0">A <typeparamref name="T"/> reference to the start of the memory area.</param>
+            <param name="length">The number of items in the memory area.</param>
+            <param name="step">The number of items between each consecutive target value.</param>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Helpers.Internals.RefEnumerableHelper.CopyTo``1(``0@,``0@,System.IntPtr,System.IntPtr)">
+            <summary>
+            Copies a sequence of discontiguous items from one memory area to another.
+            </summary>
+            <typeparam name="T">The type of items to copy.</typeparam>
+            <param name="sourceRef">The source reference to copy from.</param>
+            <param name="destinationRef">The target reference to copy to.</param>
+            <param name="length">The total number of items to copy.</param>
+            <param name="sourceStep">The step between consecutive items in the memory area pointed to by <paramref name="sourceRef"/>.</param>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Helpers.Internals.RefEnumerableHelper.CopyTo``1(``0@,``0@,System.IntPtr,System.IntPtr,System.IntPtr)">
+            <summary>
+            Copies a sequence of discontiguous items from one memory area to another.
+            </summary>
+            <typeparam name="T">The type of items to copy.</typeparam>
+            <param name="sourceRef">The source reference to copy from.</param>
+            <param name="destinationRef">The target reference to copy to.</param>
+            <param name="length">The total number of items to copy.</param>
+            <param name="sourceStep">The step between consecutive items in the memory area pointed to by <paramref name="sourceRef"/>.</param>
+            <param name="destinationStep">The step between consecutive items in the memory area pointed to by <paramref name="destinationRef"/>.</param>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Helpers.Internals.RefEnumerableHelper.CopyFrom``1(``0@,``0@,System.IntPtr,System.IntPtr)">
+            <summary>
+            Copies a sequence of discontiguous items from one memory area to another. This mirrors
+            <see cref="M:CommunityToolkit.HighPerformance.Helpers.Internals.RefEnumerableHelper.CopyTo``1(``0@,``0@,System.IntPtr,System.IntPtr)"/>, but <paramref name="sourceStep"/> refers to <paramref name="destinationRef"/> instead.
+            </summary>
+            <typeparam name="T">The type of items to copy.</typeparam>
+            <param name="sourceRef">The source reference to copy from.</param>
+            <param name="destinationRef">The target reference to copy to.</param>
+            <param name="length">The total number of items to copy.</param>
+            <param name="sourceStep">The step between consecutive items in the memory area pointed to by <paramref name="sourceRef"/>.</param>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Helpers.Internals.RefEnumerableHelper.Fill``1(``0@,System.IntPtr,System.IntPtr,``0)">
+            <summary>
+            Fills a target memory area.
+            </summary>
+            <typeparam name="T">The type of values to fill.</typeparam>
+            <param name="r0">A <typeparamref name="T"/> reference to the start of the memory area.</param>
+            <param name="length">The number of items in the memory area.</param>
+            <param name="step">The number of items between each consecutive target value.</param>
+            <param name="value">The value to assign to every item in the target memory area.</param>
+        </member>
+        <member name="T:CommunityToolkit.HighPerformance.Helpers.Internals.RuntimeHelpers">
+            <summary>
+            A helper class that with utility methods for dealing with references, and other low-level details.
+            It also contains some APIs that act as polyfills for .NET Standard 2.0 and below.
+            </summary>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Helpers.Internals.RuntimeHelpers.ConvertLength``2(System.Int32)">
+            <summary>
+            Converts a length of items from one size to another (rounding towards zero).
+            </summary>
+            <typeparam name="TFrom">The source type of items.</typeparam>
+            <typeparam name="TTo">The target type of items.</typeparam>
+            <param name="length">The input length to convert.</param>
+            <returns>The converted length for the specified argument and types.</returns>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Helpers.Internals.RuntimeHelpers.GetArrayNativeLength``1(``0[])">
+            <summary>
+            Gets the length of a given array as a native integer.
+            </summary>
+            <typeparam name="T">The type of values in the array.</typeparam>
+            <param name="array">The input <see cref="T:System.Array"/> instance.</param>
+            <returns>The total length of <paramref name="array"/> as a native integer.</returns>
+            <remarks>
+            This method is needed because this expression is not inlined correctly if the target array
+            is only visible as a non-generic <see cref="T:System.Array"/> instance, because the C# compiler will
+            not be able to emit the <see langword="ldlen"/> opcode instead of calling the right method.
+            </remarks>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Helpers.Internals.RuntimeHelpers.GetArrayNativeLength(System.Array)">
+            <summary>
+            Gets the length of a given array as a native integer.
+            </summary>
+            <param name="array">The input <see cref="T:System.Array"/> instance.</param>
+            <returns>The total length of <paramref name="array"/> as a native integer.</returns>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Helpers.Internals.RuntimeHelpers.GetArrayDataByteOffset``1">
+            <summary>
+            Gets the byte offset to the first <typeparamref name="T"/> element in a SZ array.
+            </summary>
+            <typeparam name="T">The type of values in the array.</typeparam>
+            <returns>The byte offset to the first <typeparamref name="T"/> element in a SZ array.</returns>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Helpers.Internals.RuntimeHelpers.GetArray2DDataByteOffset``1">
+            <summary>
+            Gets the byte offset to the first <typeparamref name="T"/> element in a 2D array.
+            </summary>
+            <typeparam name="T">The type of values in the array.</typeparam>
+            <returns>The byte offset to the first <typeparamref name="T"/> element in a 2D array.</returns>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Helpers.Internals.RuntimeHelpers.GetArray3DDataByteOffset``1">
+            <summary>
+            Gets the byte offset to the first <typeparamref name="T"/> element in a 3D array.
+            </summary>
+            <typeparam name="T">The type of values in the array.</typeparam>
+            <returns>The byte offset to the first <typeparamref name="T"/> element in a 3D array.</returns>
+        </member>
+        <member name="T:CommunityToolkit.HighPerformance.Helpers.Internals.RuntimeHelpers.TypeInfo`1">
+            <summary>
+            A private generic class to preload type info for arbitrary runtime types.
+            </summary>
+            <typeparam name="T">The type to load info for.</typeparam>
+        </member>
+        <member name="F:CommunityToolkit.HighPerformance.Helpers.Internals.RuntimeHelpers.TypeInfo`1.ArrayDataByteOffset">
+            <summary>
+            The byte offset to the first <typeparamref name="T"/> element in a SZ array.
+            </summary>
+        </member>
+        <member name="F:CommunityToolkit.HighPerformance.Helpers.Internals.RuntimeHelpers.TypeInfo`1.Array2DDataByteOffset">
+            <summary>
+            The byte offset to the first <typeparamref name="T"/> element in a 2D array.
+            </summary>
+        </member>
+        <member name="F:CommunityToolkit.HighPerformance.Helpers.Internals.RuntimeHelpers.TypeInfo`1.Array3DDataByteOffset">
+            <summary>
+            The byte offset to the first <typeparamref name="T"/> element in a 3D array.
+            </summary>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Helpers.Internals.RuntimeHelpers.TypeInfo`1.MeasureArrayDataByteOffset">
+            <summary>
+            Computes the value for <see cref="F:CommunityToolkit.HighPerformance.Helpers.Internals.RuntimeHelpers.TypeInfo`1.ArrayDataByteOffset"/>.
+            </summary>
+            <returns>The value of <see cref="F:CommunityToolkit.HighPerformance.Helpers.Internals.RuntimeHelpers.TypeInfo`1.ArrayDataByteOffset"/> for the current runtime.</returns>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Helpers.Internals.RuntimeHelpers.TypeInfo`1.MeasureArray2DDataByteOffset">
+            <summary>
+            Computes the value for <see cref="F:CommunityToolkit.HighPerformance.Helpers.Internals.RuntimeHelpers.TypeInfo`1.Array2DDataByteOffset"/>.
+            </summary>
+            <returns>The value of <see cref="F:CommunityToolkit.HighPerformance.Helpers.Internals.RuntimeHelpers.TypeInfo`1.Array2DDataByteOffset"/> for the current runtime.</returns>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Helpers.Internals.RuntimeHelpers.TypeInfo`1.MeasureArray3DDataByteOffset">
+            <summary>
+            Computes the value for <see cref="F:CommunityToolkit.HighPerformance.Helpers.Internals.RuntimeHelpers.TypeInfo`1.Array3DDataByteOffset"/>.
+            </summary>
+            <returns>The value of <see cref="F:CommunityToolkit.HighPerformance.Helpers.Internals.RuntimeHelpers.TypeInfo`1.Array3DDataByteOffset"/> for the current runtime.</returns>
+        </member>
+        <member name="T:CommunityToolkit.HighPerformance.Helpers.Internals.SpanHelper">
+            <summary>
+            Helpers to process sequences of values by reference.
+            </summary>
+            <inheritdoc/>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Helpers.Internals.SpanHelper.Count``1(``0@,System.IntPtr,``0)">
+            <summary>
+            Counts the number of occurrences of a given value into a target search space.
+            </summary>
+            <param name="r0">A <typeparamref name="T"/> reference to the start of the search space.</param>
+            <param name="length">The number of items in the search space.</param>
+            <param name="value">The <typeparamref name="T"/> value to look for.</param>
+            <typeparam name="T">The type of value to look for.</typeparam>
+            <returns>The number of occurrences of <paramref name="value"/> in the search space</returns>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Helpers.Internals.SpanHelper.CountSequential``1(``0@,System.IntPtr,``0)">
+            <summary>
+            Implements <see cref="M:CommunityToolkit.HighPerformance.Helpers.Internals.SpanHelper.Count``1(``0@,System.IntPtr,``0)"/> with a sequential search.
+            </summary>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Helpers.Internals.SpanHelper.CountSimd``1(``0@,System.IntPtr,``0)">
+            <summary>
+            Implements <see cref="M:CommunityToolkit.HighPerformance.Helpers.Internals.SpanHelper.Count``1(``0@,System.IntPtr,``0)"/> with a vectorized search.
+            </summary>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Helpers.Internals.SpanHelper.GetUpperBound``1">
+            <summary>
+            Gets the upper bound for partial sums with a given <typeparamref name="T"/> parameter.
+            </summary>
+            <typeparam name="T">The type argument currently in use.</typeparam>
+            <returns>The native <see cref="T:System.Int32"/> value representing the upper bound.</returns>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Helpers.Internals.SpanHelper.CastToNativeInt``1(``0)">
+            <summary>
+            Casts a value of a given type to a native <see cref="T:System.Int32"/>.
+            </summary>
+            <typeparam name="T">The input type to cast.</typeparam>
+            <param name="value">The input <typeparamref name="T"/> value to cast to native <see cref="T:System.Int32"/>.</param>
+            <returns>The native <see cref="T:System.Int32"/> cast of <paramref name="value"/>.</returns>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Helpers.Internals.SpanHelper.GetDjb2HashCode``1(``0@,System.IntPtr)">
+            <summary>
+            Calculates the djb2 hash for the target sequence of items of a given type.
+            </summary>
+            <typeparam name="T">The type of items to hash.</typeparam>
+            <param name="r0">The reference to the target memory area to hash.</param>
+            <param name="length">The number of items to hash.</param>
+            <returns>The Djb2 value for the input sequence of items.</returns>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Helpers.Internals.SpanHelper.GetDjb2LikeByteHash(System.Byte@,System.IntPtr)">
+            <summary>
+            Gets a content hash from a given memory area.
+            </summary>
+            <param name="r0">A <see cref="T:System.Byte"/> reference to the start of the memory area.</param>
+            <param name="length">The size in bytes of the memory area.</param>
+            <returns>The hash code for the contents of the source memory area.</returns>
+            <remarks>
+            While this method is similar to <see cref="M:CommunityToolkit.HighPerformance.Helpers.Internals.SpanHelper.GetDjb2HashCode``1(``0@,System.IntPtr)"/> and can in some cases
+            produce the same output for a given memory area, it is not guaranteed to always be that way.
+            This is because this method can use SIMD instructions if possible, which can cause a computed
+            hash to differ for the same data, if processed on different machines with different CPU features.
+            The advantage of this method is that when SIMD instructions are available, it performs much
+            faster than <see cref="M:CommunityToolkit.HighPerformance.Helpers.Internals.SpanHelper.GetDjb2HashCode``1(``0@,System.IntPtr)"/>, as it can parallelize much of the workload.
+            </remarks>
+        </member>
+        <member name="T:CommunityToolkit.HighPerformance.Helpers.ObjectMarshal">
+            <summary>
+            Helpers for working with <see cref="T:System.Object"/> instances.
+            </summary>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Helpers.ObjectMarshal.DangerousGetObjectDataByteOffset``1(System.Object,``0@)">
+            <summary>
+            Calculates the byte offset to a specific field within a given <see cref="T:System.Object"/>.
+            </summary>
+            <typeparam name="T">The type of field being referenced.</typeparam>
+            <param name="obj">The input <see cref="T:System.Object"/> hosting the target field.</param>
+            <param name="data">A reference to a target field of type <typeparamref name="T"/> within <paramref name="obj"/>.</param>
+            <returns>
+            The <see cref="T:System.IntPtr"/> value representing the offset to the target field from the start of the object data
+            for the parameter <paramref name="obj"/>. The offset is in relation to the first usable byte after the method table.
+            </returns>
+            <remarks>The input parameters are not validated, and it's responsibility of the caller to ensure that
+            the <paramref name="data"/> reference is actually pointing to a memory location within <paramref name="obj"/>.
+            </remarks>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Helpers.ObjectMarshal.DangerousGetObjectDataReferenceAt``1(System.Object,System.IntPtr)">
+            <summary>
+            Gets a <typeparamref name="T"/> reference to data within a given <see cref="T:System.Object"/> at a specified offset.
+            </summary>
+            <typeparam name="T">The type of reference to retrieve.</typeparam>
+            <param name="obj">The input <see cref="T:System.Object"/> hosting the target field.</param>
+            <param name="offset">The input byte offset for the <typeparamref name="T"/> reference to retrieve.</param>
+            <returns>A <typeparamref name="T"/> reference at a specified offset within <paramref name="obj"/>.</returns>
+            <remarks>
+            None of the input arguments is validated, and it is responsibility of the caller to ensure they are valid.
+            In particular, using an invalid offset might cause the retrieved reference to be misaligned with the
+            desired data, which would break the type system. Or, if the offset causes the retrieved reference to point
+            to a memory location outside of the input <see cref="T:System.Object"/> instance, that might lead to runtime crashes.
+            </remarks>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Helpers.ObjectMarshal.TryUnbox``1(System.Object,``0@)">
+             <summary>
+             Tries to get a boxed <typeparamref name="T"/> value from an input <see cref="T:System.Object"/> instance.
+             </summary>
+             <typeparam name="T">The type of value to try to unbox.</typeparam>
+             <param name="obj">The input <see cref="T:System.Object"/> instance to check.</param>
+             <param name="value">The resulting <typeparamref name="T"/> value, if <paramref name="obj"/> was in fact a boxed <typeparamref name="T"/> value.</param>
+             <returns><see langword="true"/> if a <typeparamref name="T"/> value was retrieved correctly, <see langword="false"/> otherwise.</returns>
+             <remarks>
+             This extension behaves just like the following method:
+             <code>
+             public static bool TryUnbox&lt;T>(object obj, out T value)
+             {
+                 if (obj is T)
+                 {
+                     value = (T)obj;
+            
+                     return true;
+                 }
+            
+                 value = default;
+            
+                 return false;
+             }
+             </code>
+             But in a more efficient way, and with the ability to also assign the unboxed value
+             directly on an existing T variable, which is not possible with the code above.
+             </remarks>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Helpers.ObjectMarshal.DangerousUnbox``1(System.Object)">
+            <summary>
+            Unboxes a <typeparamref name="T"/> value from an input <see cref="T:System.Object"/> instance.
+            </summary>
+            <typeparam name="T">The type of value to unbox.</typeparam>
+            <param name="obj">The input <see cref="T:System.Object"/> instance, representing a boxed <typeparamref name="T"/> value.</param>
+            <returns>The <typeparamref name="T"/> value boxed in <paramref name="obj"/>.</returns>
+            <exception cref="T:System.InvalidCastException">Thrown when <paramref name="obj"/> is not of type <typeparamref name="T"/>.</exception>
+        </member>
+        <member name="T:CommunityToolkit.HighPerformance.Helpers.ParallelHelper">
+            <summary>
+            Helpers to work with parallel code in a highly optimized manner.
+            </summary>
+            <inheritdoc/>
+            <inheritdoc/>
+            <inheritdoc/>
+            <inheritdoc/>
+            <inheritdoc/>
+            <inheritdoc/>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Helpers.ParallelHelper.For``1(System.Range)">
+            <summary>
+            Executes a specified action in an optimized parallel loop.
+            </summary>
+            <typeparam name="TAction">The type of action (implementing <see cref="T:CommunityToolkit.HighPerformance.Helpers.IAction"/>) to invoke for each iteration index.</typeparam>
+            <param name="range">The iteration range.</param>
+            <remarks>None of the bounds of <paramref name="range"/> can start from an end.</remarks>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Helpers.ParallelHelper.For``1(System.Range,System.Int32)">
+            <summary>
+            Executes a specified action in an optimized parallel loop.
+            </summary>
+            <typeparam name="TAction">The type of action (implementing <see cref="T:CommunityToolkit.HighPerformance.Helpers.IAction"/>) to invoke for each iteration index.</typeparam>
+            <param name="range">The iteration range.</param>
+            <param name="minimumActionsPerThread">
+            The minimum number of actions to run per individual thread. Set to 1 if all invocations
+            should be parallelized, or to a greater number if each individual invocation is fast
+            enough that it is more efficient to set a lower bound per each running thread.
+            </param>
+            <remarks>None of the bounds of <paramref name="range"/> can start from an end.</remarks>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Helpers.ParallelHelper.For``1(System.Range,``0@)">
+            <summary>
+            Executes a specified action in an optimized parallel loop.
+            </summary>
+            <typeparam name="TAction">The type of action (implementing <see cref="T:CommunityToolkit.HighPerformance.Helpers.IAction"/>) to invoke for each iteration index.</typeparam>
+            <param name="range">The iteration range.</param>
+            <param name="action">The <typeparamref name="TAction"/> instance representing the action to invoke.</param>
+            <remarks>None of the bounds of <paramref name="range"/> can start from an end.</remarks>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Helpers.ParallelHelper.For``1(System.Range,``0@,System.Int32)">
+            <summary>
+            Executes a specified action in an optimized parallel loop.
+            </summary>
+            <typeparam name="TAction">The type of action (implementing <see cref="T:CommunityToolkit.HighPerformance.Helpers.IAction"/>) to invoke for each iteration index.</typeparam>
+            <param name="range">The iteration range.</param>
+            <param name="action">The <typeparamref name="TAction"/> instance representing the action to invoke.</param>
+            <param name="minimumActionsPerThread">
+            The minimum number of actions to run per individual thread. Set to 1 if all invocations
+            should be parallelized, or to a greater number if each individual invocation is fast
+            enough that it is more efficient to set a lower bound per each running thread.
+            </param>
+            <remarks>None of the bounds of <paramref name="range"/> can start from an end.</remarks>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Helpers.ParallelHelper.For``1(System.Int32,System.Int32)">
+            <summary>
+            Executes a specified action in an optimized parallel loop.
+            </summary>
+            <typeparam name="TAction">The type of action (implementing <see cref="T:CommunityToolkit.HighPerformance.Helpers.IAction"/>) to invoke for each iteration index.</typeparam>
+            <param name="start">The starting iteration index.</param>
+            <param name="end">The final iteration index (exclusive).</param>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Helpers.ParallelHelper.For``1(System.Int32,System.Int32,System.Int32)">
+            <summary>
+            Executes a specified action in an optimized parallel loop.
+            </summary>
+            <typeparam name="TAction">The type of action (implementing <see cref="T:CommunityToolkit.HighPerformance.Helpers.IAction"/>) to invoke for each iteration index.</typeparam>
+            <param name="start">The starting iteration index.</param>
+            <param name="end">The final iteration index (exclusive).</param>
+            <param name="minimumActionsPerThread">
+            The minimum number of actions to run per individual thread. Set to 1 if all invocations
+            should be parallelized, or to a greater number if each individual invocation is fast
+            enough that it is more efficient to set a lower bound per each running thread.
+            </param>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Helpers.ParallelHelper.For``1(System.Int32,System.Int32,``0@)">
+            <summary>
+            Executes a specified action in an optimized parallel loop.
+            </summary>
+            <typeparam name="TAction">The type of action (implementing <see cref="T:CommunityToolkit.HighPerformance.Helpers.IAction"/>) to invoke for each iteration index.</typeparam>
+            <param name="start">The starting iteration index.</param>
+            <param name="end">The final iteration index (exclusive).</param>
+            <param name="action">The <typeparamref name="TAction"/> instance representing the action to invoke.</param>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Helpers.ParallelHelper.For``1(System.Int32,System.Int32,``0@,System.Int32)">
+            <summary>
+            Executes a specified action in an optimized parallel loop.
+            </summary>
+            <typeparam name="TAction">The type of action (implementing <see cref="T:CommunityToolkit.HighPerformance.Helpers.IAction"/>) to invoke for each iteration index.</typeparam>
+            <param name="start">The starting iteration index.</param>
+            <param name="end">The final iteration index (exclusive).</param>
+            <param name="action">The <typeparamref name="TAction"/> instance representing the action to invoke.</param>
+            <param name="minimumActionsPerThread">
+            The minimum number of actions to run per individual thread. Set to 1 if all invocations
+            should be parallelized, or to a greater number if each individual invocation is fast
+            enough that it is more efficient to set a lower bound per each running thread.
+            </param>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Helpers.ParallelHelper.ActionInvoker`1.Invoke(System.Int32)">
+            <summary>
+            Processes the batch of actions at a specified index
+            </summary>
+            <param name="i">The index of the batch to process</param>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Helpers.ParallelHelper.For2D``1(System.Range,System.Range)">
+            <summary>
+            Executes a specified action in an optimized parallel loop.
+            </summary>
+            <typeparam name="TAction">The type of action (implementing <see cref="T:CommunityToolkit.HighPerformance.Helpers.IAction2D"/>) to invoke for each pair of iteration indices.</typeparam>
+            <param name="i">The <see cref="T:System.Range"/> value indicating the iteration range for the outer loop.</param>
+            <param name="j">The <see cref="T:System.Range"/> value indicating the iteration range for the inner loop.</param>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Helpers.ParallelHelper.For2D``1(System.Range,System.Range,System.Int32)">
+            <summary>
+            Executes a specified action in an optimized parallel loop.
+            </summary>
+            <typeparam name="TAction">The type of action (implementing <see cref="T:CommunityToolkit.HighPerformance.Helpers.IAction2D"/>) to invoke for each pair of iteration indices.</typeparam>
+            <param name="i">The <see cref="T:System.Range"/> value indicating the iteration range for the outer loop.</param>
+            <param name="j">The <see cref="T:System.Range"/> value indicating the iteration range for the inner loop.</param>
+            <param name="minimumActionsPerThread">
+            The minimum number of actions to run per individual thread. Set to 1 if all invocations
+            should be parallelized, or to a greater number if each individual invocation is fast
+            enough that it is more efficient to set a lower bound per each running thread.
+            </param>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Helpers.ParallelHelper.For2D``1(System.Range,System.Range,``0@)">
+            <summary>
+            Executes a specified action in an optimized parallel loop.
+            </summary>
+            <typeparam name="TAction">The type of action (implementing <see cref="T:CommunityToolkit.HighPerformance.Helpers.IAction2D"/>) to invoke for each pair of iteration indices.</typeparam>
+            <param name="i">The <see cref="T:System.Range"/> value indicating the iteration range for the outer loop.</param>
+            <param name="j">The <see cref="T:System.Range"/> value indicating the iteration range for the inner loop.</param>
+            <param name="action">The <typeparamref name="TAction"/> instance representing the action to invoke.</param>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Helpers.ParallelHelper.For2D``1(System.Range,System.Range,``0@,System.Int32)">
+            <summary>
+            Executes a specified action in an optimized parallel loop.
+            </summary>
+            <typeparam name="TAction">The type of action (implementing <see cref="T:CommunityToolkit.HighPerformance.Helpers.IAction2D"/>) to invoke for each pair of iteration indices.</typeparam>
+            <param name="i">The <see cref="T:System.Range"/> value indicating the iteration range for the outer loop.</param>
+            <param name="j">The <see cref="T:System.Range"/> value indicating the iteration range for the inner loop.</param>
+            <param name="action">The <typeparamref name="TAction"/> instance representing the action to invoke.</param>
+            <param name="minimumActionsPerThread">
+            The minimum number of actions to run per individual thread. Set to 1 if all invocations
+            should be parallelized, or to a greater number if each individual invocation is fast
+            enough that it is more efficient to set a lower bound per each running thread.
+            </param>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Helpers.ParallelHelper.For2D``1(System.Drawing.Rectangle)">
+            <summary>
+            Executes a specified action in an optimized parallel loop.
+            </summary>
+            <typeparam name="TAction">The type of action (implementing <see cref="T:CommunityToolkit.HighPerformance.Helpers.IAction2D"/>) to invoke for each pair of iteration indices.</typeparam>
+            <param name="area">The <see cref="T:System.Drawing.Rectangle"/> value indicating the 2D iteration area to use.</param>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Helpers.ParallelHelper.For2D``1(System.Drawing.Rectangle,System.Int32)">
+            <summary>
+            Executes a specified action in an optimized parallel loop.
+            </summary>
+            <typeparam name="TAction">The type of action (implementing <see cref="T:CommunityToolkit.HighPerformance.Helpers.IAction2D"/>) to invoke for each pair of iteration indices.</typeparam>
+            <param name="area">The <see cref="T:System.Drawing.Rectangle"/> value indicating the 2D iteration area to use.</param>
+            <param name="minimumActionsPerThread">
+            The minimum number of actions to run per individual thread. Set to 1 if all invocations
+            should be parallelized, or to a greater number if each individual invocation is fast
+            enough that it is more efficient to set a lower bound per each running thread.
+            </param>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Helpers.ParallelHelper.For2D``1(System.Drawing.Rectangle,``0@)">
+            <summary>
+            Executes a specified action in an optimized parallel loop.
+            </summary>
+            <typeparam name="TAction">The type of action (implementing <see cref="T:CommunityToolkit.HighPerformance.Helpers.IAction2D"/>) to invoke for each pair of iteration indices.</typeparam>
+            <param name="area">The <see cref="T:System.Drawing.Rectangle"/> value indicating the 2D iteration area to use.</param>
+            <param name="action">The <typeparamref name="TAction"/> instance representing the action to invoke.</param>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Helpers.ParallelHelper.For2D``1(System.Drawing.Rectangle,``0@,System.Int32)">
+            <summary>
+            Executes a specified action in an optimized parallel loop.
+            </summary>
+            <typeparam name="TAction">The type of action (implementing <see cref="T:CommunityToolkit.HighPerformance.Helpers.IAction2D"/>) to invoke for each pair of iteration indices.</typeparam>
+            <param name="area">The <see cref="T:System.Drawing.Rectangle"/> value indicating the 2D iteration area to use.</param>
+            <param name="action">The <typeparamref name="TAction"/> instance representing the action to invoke.</param>
+            <param name="minimumActionsPerThread">
+            The minimum number of actions to run per individual thread. Set to 1 if all invocations
+            should be parallelized, or to a greater number if each individual invocation is fast
+            enough that it is more efficient to set a lower bound per each running thread.
+            </param>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Helpers.ParallelHelper.For2D``1(System.Int32,System.Int32,System.Int32,System.Int32)">
+            <summary>
+            Executes a specified action in an optimized parallel loop.
+            </summary>
+            <typeparam name="TAction">The type of action (implementing <see cref="T:CommunityToolkit.HighPerformance.Helpers.IAction2D"/>) to invoke for each pair of iteration indices.</typeparam>
+            <param name="top">The starting iteration value for the outer loop.</param>
+            <param name="bottom">The final iteration value for the outer loop (exclusive).</param>
+            <param name="left">The starting iteration value for the inner loop.</param>
+            <param name="right">The final iteration value for the inner loop (exclusive).</param>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Helpers.ParallelHelper.For2D``1(System.Int32,System.Int32,System.Int32,System.Int32,System.Int32)">
+            <summary>
+            Executes a specified action in an optimized parallel loop.
+            </summary>
+            <typeparam name="TAction">The type of action (implementing <see cref="T:CommunityToolkit.HighPerformance.Helpers.IAction2D"/>) to invoke for each pair of iteration indices.</typeparam>
+            <param name="top">The starting iteration value for the outer loop.</param>
+            <param name="bottom">The final iteration value for the outer loop (exclusive).</param>
+            <param name="left">The starting iteration value for the inner loop.</param>
+            <param name="right">The final iteration value for the inner loop (exclusive).</param>
+            <param name="minimumActionsPerThread">
+            The minimum number of actions to run per individual thread. Set to 1 if all invocations
+            should be parallelized, or to a greater number if each individual invocation is fast
+            enough that it is more efficient to set a lower bound per each running thread.
+            </param>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Helpers.ParallelHelper.For2D``1(System.Int32,System.Int32,System.Int32,System.Int32,``0@)">
+            <summary>
+            Executes a specified action in an optimized parallel loop.
+            </summary>
+            <typeparam name="TAction">The type of action (implementing <see cref="T:CommunityToolkit.HighPerformance.Helpers.IAction2D"/>) to invoke for each pair of iteration indices.</typeparam>
+            <param name="top">The starting iteration value for the outer loop.</param>
+            <param name="bottom">The final iteration value for the outer loop (exclusive).</param>
+            <param name="left">The starting iteration value for the inner loop.</param>
+            <param name="right">The final iteration value for the inner loop (exclusive).</param>
+            <param name="action">The <typeparamref name="TAction"/> instance representing the action to invoke.</param>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Helpers.ParallelHelper.For2D``1(System.Int32,System.Int32,System.Int32,System.Int32,``0@,System.Int32)">
+            <summary>
+            Executes a specified action in an optimized parallel loop.
+            </summary>
+            <typeparam name="TAction">The type of action (implementing <see cref="T:CommunityToolkit.HighPerformance.Helpers.IAction2D"/>) to invoke for each pair of iteration indices.</typeparam>
+            <param name="top">The starting iteration value for the outer loop.</param>
+            <param name="bottom">The final iteration value for the outer loop (exclusive).</param>
+            <param name="left">The starting iteration value for the inner loop.</param>
+            <param name="right">The final iteration value for the inner loop (exclusive).</param>
+            <param name="action">The <typeparamref name="TAction"/> instance representing the action to invoke.</param>
+            <param name="minimumActionsPerThread">
+            The minimum number of actions to run per individual thread. Set to 1 if all invocations
+            should be parallelized, or to a greater number if each individual invocation is fast
+            enough that it is more efficient to set a lower bound per each running thread.
+            </param>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Helpers.ParallelHelper.Action2DInvoker`1.Invoke(System.Int32)">
+            <summary>
+            Processes the batch of actions at a specified index
+            </summary>
+            <param name="i">The index of the batch to process</param>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Helpers.ParallelHelper.ForEach``2(System.ReadOnlyMemory{``0})">
+            <summary>
+            Executes a specified action in an optimized parallel loop over the input data.
+            </summary>
+            <typeparam name="TItem">The type of items to iterate over.</typeparam>
+            <typeparam name="TAction">The type of action (implementing <see cref="T:CommunityToolkit.HighPerformance.Helpers.IInAction`1"/> of <typeparamref name="TItem"/>) to invoke over each item.</typeparam>
+            <param name="memory">The input <see cref="T:System.ReadOnlyMemory`1"/> representing the data to process.</param>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Helpers.ParallelHelper.ForEach``2(System.ReadOnlyMemory{``0},System.Int32)">
+            <summary>
+            Executes a specified action in an optimized parallel loop over the input data.
+            </summary>
+            <typeparam name="TItem">The type of items to iterate over.</typeparam>
+            <typeparam name="TAction">The type of action (implementing <see cref="T:CommunityToolkit.HighPerformance.Helpers.IInAction`1"/> of <typeparamref name="TItem"/>) to invoke over each item.</typeparam>
+            <param name="memory">The input <see cref="T:System.ReadOnlyMemory`1"/> representing the data to process.</param>
+            <param name="minimumActionsPerThread">
+            The minimum number of actions to run per individual thread. Set to 1 if all invocations
+            should be parallelized, or to a greater number if each individual invocation is fast
+            enough that it is more efficient to set a lower bound per each running thread.
+            </param>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Helpers.ParallelHelper.ForEach``2(System.ReadOnlyMemory{``0},``1@)">
+            <summary>
+            Executes a specified action in an optimized parallel loop over the input data.
+            </summary>
+            <typeparam name="TItem">The type of items to iterate over.</typeparam>
+            <typeparam name="TAction">The type of action (implementing <see cref="T:CommunityToolkit.HighPerformance.Helpers.IInAction`1"/> of <typeparamref name="TItem"/>) to invoke over each item.</typeparam>
+            <param name="memory">The input <see cref="T:System.ReadOnlyMemory`1"/> representing the data to process.</param>
+            <param name="action">The <typeparamref name="TAction"/> instance representing the action to invoke.</param>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Helpers.ParallelHelper.ForEach``2(System.ReadOnlyMemory{``0},``1@,System.Int32)">
+            <summary>
+            Executes a specified action in an optimized parallel loop over the input data.
+            </summary>
+            <typeparam name="TItem">The type of items to iterate over.</typeparam>
+            <typeparam name="TAction">The type of action (implementing <see cref="T:CommunityToolkit.HighPerformance.Helpers.IInAction`1"/> of <typeparamref name="TItem"/>) to invoke over each item.</typeparam>
+            <param name="memory">The input <see cref="T:System.ReadOnlyMemory`1"/> representing the data to process.</param>
+            <param name="action">The <typeparamref name="TAction"/> instance representing the action to invoke.</param>
+            <param name="minimumActionsPerThread">
+            The minimum number of actions to run per individual thread. Set to 1 if all invocations
+            should be parallelized, or to a greater number if each individual invocation is fast
+            enough that it is more efficient to set a lower bound per each running thread.
+            </param>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Helpers.ParallelHelper.InActionInvoker`2.Invoke(System.Int32)">
+            <summary>
+            Processes the batch of actions at a specified index
+            </summary>
+            <param name="i">The index of the batch to process</param>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Helpers.ParallelHelper.ForEach``2(CommunityToolkit.HighPerformance.ReadOnlyMemory2D{``0})">
+            <summary>
+            Executes a specified action in an optimized parallel loop over the input data.
+            </summary>
+            <typeparam name="TItem">The type of items to iterate over.</typeparam>
+            <typeparam name="TAction">The type of action (implementing <see cref="T:CommunityToolkit.HighPerformance.Helpers.IInAction`1"/> of <typeparamref name="TItem"/>) to invoke over each item.</typeparam>
+            <param name="memory">The input <see cref="T:CommunityToolkit.HighPerformance.ReadOnlyMemory2D`1"/> representing the data to process.</param>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Helpers.ParallelHelper.ForEach``2(CommunityToolkit.HighPerformance.ReadOnlyMemory2D{``0},System.Int32)">
+            <summary>
+            Executes a specified action in an optimized parallel loop over the input data.
+            </summary>
+            <typeparam name="TItem">The type of items to iterate over.</typeparam>
+            <typeparam name="TAction">The type of action (implementing <see cref="T:CommunityToolkit.HighPerformance.Helpers.IInAction`1"/> of <typeparamref name="TItem"/>) to invoke over each item.</typeparam>
+            <param name="memory">The input <see cref="T:CommunityToolkit.HighPerformance.ReadOnlyMemory2D`1"/> representing the data to process.</param>
+            <param name="minimumActionsPerThread">
+            The minimum number of actions to run per individual thread. Set to 1 if all invocations
+            should be parallelized, or to a greater number if each individual invocation is fast
+            enough that it is more efficient to set a lower bound per each running thread.
+            </param>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Helpers.ParallelHelper.ForEach``2(CommunityToolkit.HighPerformance.ReadOnlyMemory2D{``0},``1@)">
+            <summary>
+            Executes a specified action in an optimized parallel loop over the input data.
+            </summary>
+            <typeparam name="TItem">The type of items to iterate over.</typeparam>
+            <typeparam name="TAction">The type of action (implementing <see cref="T:CommunityToolkit.HighPerformance.Helpers.IInAction`1"/> of <typeparamref name="TItem"/>) to invoke over each item.</typeparam>
+            <param name="memory">The input <see cref="T:CommunityToolkit.HighPerformance.ReadOnlyMemory2D`1"/> representing the data to process.</param>
+            <param name="action">The <typeparamref name="TAction"/> instance representing the action to invoke.</param>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Helpers.ParallelHelper.ForEach``2(CommunityToolkit.HighPerformance.ReadOnlyMemory2D{``0},``1@,System.Int32)">
+            <summary>
+            Executes a specified action in an optimized parallel loop over the input data.
+            </summary>
+            <typeparam name="TItem">The type of items to iterate over.</typeparam>
+            <typeparam name="TAction">The type of action (implementing <see cref="T:CommunityToolkit.HighPerformance.Helpers.IInAction`1"/> of <typeparamref name="TItem"/>) to invoke over each item.</typeparam>
+            <param name="memory">The input <see cref="T:CommunityToolkit.HighPerformance.ReadOnlyMemory2D`1"/> representing the data to process.</param>
+            <param name="action">The <typeparamref name="TAction"/> instance representing the action to invoke.</param>
+            <param name="minimumActionsPerThread">
+            The minimum number of actions to run per individual thread. Set to 1 if all invocations
+            should be parallelized, or to a greater number if each individual invocation is fast
+            enough that it is more efficient to set a lower bound per each running thread.
+            </param>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Helpers.ParallelHelper.InActionInvokerWithReadOnlyMemory2D`2.Invoke(System.Int32)">
+            <summary>
+            Processes the batch of actions at a specified index
+            </summary>
+            <param name="i">The index of the batch to process</param>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Helpers.ParallelHelper.ForEach``2(System.Memory{``0})">
+            <summary>
+            Executes a specified action in an optimized parallel loop over the input data.
+            </summary>
+            <typeparam name="TItem">The type of items to iterate over.</typeparam>
+            <typeparam name="TAction">The type of action (implementing <see cref="T:CommunityToolkit.HighPerformance.Helpers.IRefAction`1"/> of <typeparamref name="TItem"/>) to invoke over each item.</typeparam>
+            <param name="memory">The input <see cref="T:System.Memory`1"/> representing the data to process.</param>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Helpers.ParallelHelper.ForEach``2(System.Memory{``0},System.Int32)">
+            <summary>
+            Executes a specified action in an optimized parallel loop over the input data.
+            </summary>
+            <typeparam name="TItem">The type of items to iterate over.</typeparam>
+            <typeparam name="TAction">The type of action (implementing <see cref="T:CommunityToolkit.HighPerformance.Helpers.IInAction`1"/> of <typeparamref name="TItem"/>) to invoke over each item.</typeparam>
+            <param name="memory">The input <see cref="T:System.Memory`1"/> representing the data to process.</param>
+            <param name="minimumActionsPerThread">
+            The minimum number of actions to run per individual thread. Set to 1 if all invocations
+            should be parallelized, or to a greater number if each individual invocation is fast
+            enough that it is more efficient to set a lower bound per each running thread.
+            </param>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Helpers.ParallelHelper.ForEach``2(System.Memory{``0},``1@)">
+            <summary>
+            Executes a specified action in an optimized parallel loop over the input data.
+            </summary>
+            <typeparam name="TItem">The type of items to iterate over.</typeparam>
+            <typeparam name="TAction">The type of action (implementing <see cref="T:CommunityToolkit.HighPerformance.Helpers.IInAction`1"/> of <typeparamref name="TItem"/>) to invoke over each item.</typeparam>
+            <param name="memory">The input <see cref="T:System.Memory`1"/> representing the data to process.</param>
+            <param name="action">The <typeparamref name="TAction"/> instance representing the action to invoke.</param>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Helpers.ParallelHelper.ForEach``2(System.Memory{``0},``1@,System.Int32)">
+            <summary>
+            Executes a specified action in an optimized parallel loop over the input data.
+            </summary>
+            <typeparam name="TItem">The type of items to iterate over.</typeparam>
+            <typeparam name="TAction">The type of action (implementing <see cref="T:CommunityToolkit.HighPerformance.Helpers.IInAction`1"/> of <typeparamref name="TItem"/>) to invoke over each item.</typeparam>
+            <param name="memory">The input <see cref="T:System.Memory`1"/> representing the data to process.</param>
+            <param name="action">The <typeparamref name="TAction"/> instance representing the action to invoke.</param>
+            <param name="minimumActionsPerThread">
+            The minimum number of actions to run per individual thread. Set to 1 if all invocations
+            should be parallelized, or to a greater number if each individual invocation is fast
+            enough that it is more efficient to set a lower bound per each running thread.
+            </param>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Helpers.ParallelHelper.RefActionInvoker`2.Invoke(System.Int32)">
+            <summary>
+            Processes the batch of actions at a specified index
+            </summary>
+            <param name="i">The index of the batch to process</param>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Helpers.ParallelHelper.ForEach``2(CommunityToolkit.HighPerformance.Memory2D{``0})">
+            <summary>
+            Executes a specified action in an optimized parallel loop over the input data.
+            </summary>
+            <typeparam name="TItem">The type of items to iterate over.</typeparam>
+            <typeparam name="TAction">The type of action (implementing <see cref="T:CommunityToolkit.HighPerformance.Helpers.IRefAction`1"/> of <typeparamref name="TItem"/>) to invoke over each item.</typeparam>
+            <param name="memory">The input <see cref="T:CommunityToolkit.HighPerformance.Memory2D`1"/> representing the data to process.</param>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Helpers.ParallelHelper.ForEach``2(CommunityToolkit.HighPerformance.Memory2D{``0},System.Int32)">
+            <summary>
+            Executes a specified action in an optimized parallel loop over the input data.
+            </summary>
+            <typeparam name="TItem">The type of items to iterate over.</typeparam>
+            <typeparam name="TAction">The type of action (implementing <see cref="T:CommunityToolkit.HighPerformance.Helpers.IRefAction`1"/> of <typeparamref name="TItem"/>) to invoke over each item.</typeparam>
+            <param name="memory">The input <see cref="T:CommunityToolkit.HighPerformance.Memory2D`1"/> representing the data to process.</param>
+            <param name="minimumActionsPerThread">
+            The minimum number of actions to run per individual thread. Set to 1 if all invocations
+            should be parallelized, or to a greater number if each individual invocation is fast
+            enough that it is more efficient to set a lower bound per each running thread.
+            </param>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Helpers.ParallelHelper.ForEach``2(CommunityToolkit.HighPerformance.Memory2D{``0},``1@)">
+            <summary>
+            Executes a specified action in an optimized parallel loop over the input data.
+            </summary>
+            <typeparam name="TItem">The type of items to iterate over.</typeparam>
+            <typeparam name="TAction">The type of action (implementing <see cref="T:CommunityToolkit.HighPerformance.Helpers.IRefAction`1"/> of <typeparamref name="TItem"/>) to invoke over each item.</typeparam>
+            <param name="memory">The input <see cref="T:CommunityToolkit.HighPerformance.Memory2D`1"/> representing the data to process.</param>
+            <param name="action">The <typeparamref name="TAction"/> instance representing the action to invoke.</param>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Helpers.ParallelHelper.ForEach``2(CommunityToolkit.HighPerformance.Memory2D{``0},``1@,System.Int32)">
+            <summary>
+            Executes a specified action in an optimized parallel loop over the input data.
+            </summary>
+            <typeparam name="TItem">The type of items to iterate over.</typeparam>
+            <typeparam name="TAction">The type of action (implementing <see cref="T:CommunityToolkit.HighPerformance.Helpers.IRefAction`1"/> of <typeparamref name="TItem"/>) to invoke over each item.</typeparam>
+            <param name="memory">The input <see cref="T:CommunityToolkit.HighPerformance.Memory2D`1"/> representing the data to process.</param>
+            <param name="action">The <typeparamref name="TAction"/> instance representing the action to invoke.</param>
+            <param name="minimumActionsPerThread">
+            The minimum number of actions to run per individual thread. Set to 1 if all invocations
+            should be parallelized, or to a greater number if each individual invocation is fast
+            enough that it is more efficient to set a lower bound per each running thread.
+            </param>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Helpers.ParallelHelper.RefActionInvokerWithReadOnlyMemory2D`2.Invoke(System.Int32)">
+            <summary>
+            Processes the batch of actions at a specified index
+            </summary>
+            <param name="i">The index of the batch to process</param>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Helpers.ParallelHelper.ThrowArgumentOutOfRangeExceptionForInvalidMinimumActionsPerThread">
+            <summary>
+            Throws an <see cref="T:System.ArgumentOutOfRangeException"/> when an invalid parameter is specified for the minimum actions per thread.
+            </summary>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Helpers.ParallelHelper.ThrowArgumentOutOfRangeExceptionForStartGreaterThanEnd">
+            <summary>
+            Throws an <see cref="T:System.ArgumentOutOfRangeException"/> when an invalid start parameter is specified for 1D loops.
+            </summary>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Helpers.ParallelHelper.ThrowArgumentExceptionForRangeIndexFromEnd(System.String)">
+            <summary>
+            Throws an <see cref="T:System.ArgumentException"/> when a range has an index starting from an end.
+            </summary>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Helpers.ParallelHelper.ThrowArgumentOutOfRangeExceptionForTopGreaterThanBottom">
+            <summary>
+            Throws an <see cref="T:System.ArgumentOutOfRangeException"/> when an invalid top parameter is specified for 2D loops.
+            </summary>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Helpers.ParallelHelper.ThrowArgumentOutOfRangeExceptionForLeftGreaterThanRight">
+            <summary>
+            Throws an <see cref="T:System.ArgumentOutOfRangeException"/> when an invalid left parameter is specified for 2D loops.
+            </summary>
+        </member>
+        <member name="T:CommunityToolkit.HighPerformance.Helpers.IAction">
+            <summary>
+            A contract for actions being executed with an input index.
+            </summary>
+            <remarks>If the <see cref="M:CommunityToolkit.HighPerformance.Helpers.IAction.Invoke(System.Int32)"/> method is small enough, it is highly recommended to mark it with <see cref="F:System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining"/>.</remarks>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Helpers.IAction.Invoke(System.Int32)">
+            <summary>
+            Executes the action associated with a specific index.
+            </summary>
+            <param name="i">The current index for the action to execute.</param>
+        </member>
+        <member name="T:CommunityToolkit.HighPerformance.Helpers.IAction2D">
+            <summary>
+            A contract for actions being executed with two input indices.
+            </summary>
+            <remarks>If the <see cref="M:CommunityToolkit.HighPerformance.Helpers.IAction2D.Invoke(System.Int32,System.Int32)"/> method is small enough, it is highly recommended to mark it with <see cref="F:System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining"/>.</remarks>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Helpers.IAction2D.Invoke(System.Int32,System.Int32)">
+            <summary>
+            Executes the action associated with two specified indices.
+            </summary>
+            <param name="i">The first index for the action to execute.</param>
+            <param name="j">The second index for the action to execute.</param>
+        </member>
+        <member name="T:CommunityToolkit.HighPerformance.Helpers.IInAction`1">
+            <summary>
+            A contract for actions being executed on items of a specific type, with readonly access.
+            </summary>
+            <typeparam name="T">The type of items to process.</typeparam>
+            <remarks>If the <see cref="M:CommunityToolkit.HighPerformance.Helpers.IInAction`1.Invoke(`0@)"/> method is small enough, it is highly recommended to mark it with <see cref="F:System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining"/>.</remarks>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Helpers.IInAction`1.Invoke(`0@)">
+            <summary>
+            Executes the action on a specified <typeparamref name="T"/> item.
+            </summary>
+            <param name="item">The current item to process.</param>
+        </member>
+        <member name="T:CommunityToolkit.HighPerformance.Helpers.IRefAction`1">
+            <summary>
+            A contract for actions being executed on items of a specific type, with side effect.
+            </summary>
+            <typeparam name="T">The type of items to process.</typeparam>
+            <remarks>If the <see cref="M:CommunityToolkit.HighPerformance.Helpers.IRefAction`1.Invoke(`0@)"/> method is small enough, it is highly recommended to mark it with <see cref="F:System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining"/>.</remarks>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Helpers.IRefAction`1.Invoke(`0@)">
+            <summary>
+            Executes the action on a specified <typeparamref name="T"/> item.
+            </summary>
+            <param name="item">The current item to process.</param>
+        </member>
+        <member name="T:CommunityToolkit.HighPerformance.Memory.Internals.OverflowHelper">
+            <summary>
+            A helper to validate arithmetic operations for <see cref="T:CommunityToolkit.HighPerformance.Memory2D`1"/> and <see cref="T:CommunityToolkit.HighPerformance.Span2D`1"/>.
+            </summary>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Memory.Internals.OverflowHelper.EnsureIsInNativeIntRange(System.Int32,System.Int32,System.Int32)">
+            <summary>
+            Ensures that the input parameters will not exceed the maximum native int value when indexing.
+            </summary>
+            <param name="height">The height of the 2D memory area to map.</param>
+            <param name="width">The width of the 2D memory area to map.</param>
+            <param name="pitch">The pitch of the 2D memory area to map (the distance between each row).</param>
+            <exception cref="T:System.OverflowException">Throw when the inputs don't fit in the expected range.</exception>
+            <remarks>The input parameters are assumed to always be positive.</remarks>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Memory.Internals.OverflowHelper.ComputeInt32Area(System.Int32,System.Int32,System.Int32)">
+            <summary>
+            Ensures that the input parameters will not exceed <see cref="F:System.Int32.MaxValue"/> when indexing.
+            </summary>
+            <param name="height">The height of the 2D memory area to map.</param>
+            <param name="width">The width of the 2D memory area to map.</param>
+            <param name="pitch">The pitch of the 2D memory area to map (the distance between each row).</param>
+            <returns>The area resulting from the given parameters.</returns>
+            <exception cref="T:System.OverflowException">Throw when the inputs don't fit in the expected range.</exception>
+            <remarks>The input parameters are assumed to always be positive.</remarks>
+        </member>
+        <member name="T:CommunityToolkit.HighPerformance.Memory.Internals.ThrowHelper">
+            <summary>
+            A helper class to throw exceptions for memory types.
+            </summary>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Memory.Internals.ThrowHelper.ThrowArgumentExceptionForManagedType">
+            <summary>
+            Throws an <see cref="T:System.ArgumentException"/> when using the <see langword="void"/>* constructor with a managed type.
+            </summary>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Memory.Internals.ThrowHelper.ThrowArgumentExceptionForDestinationTooShort">
+            <summary>
+            Throws an <see cref="T:System.ArgumentException"/> when the target span is too short.
+            </summary>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Memory.Internals.ThrowHelper.ThrowArgumentExceptionForDestinationWithNotSameShape">
+            <summary>
+            Throws an <see cref="T:System.ArgumentException"/> when the target span does not have the same shape as the source.
+            </summary>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Memory.Internals.ThrowHelper.ThrowArrayTypeMismatchException">
+            <summary>
+            Throws an <see cref="T:System.ArrayTypeMismatchException"/> when using an array of an invalid type.
+            </summary>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Memory.Internals.ThrowHelper.ThrowArgumentExceptionForUnsupportedType">
+            <summary>
+            Throws an <see cref="T:System.ArgumentException"/> when using an array of an invalid type.
+            </summary>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Memory.Internals.ThrowHelper.ThrowIndexOutOfRangeException">
+            <summary>
+            Throws an <see cref="T:System.IndexOutOfRangeException"/> when the a given coordinate is invalid.
+            </summary>
+            <remarks>
+            Throwing <see cref="T:System.IndexOutOfRangeException"/> is technically discouraged in the docs, but
+            we're doing that here for consistency with the official <see cref="T:System.Span`1"/> type(s) from the BCL.
+            </remarks>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Memory.Internals.ThrowHelper.ThrowArgumentException">
+            <summary>
+            Throws an <see cref="T:System.ArgumentOutOfRangeException"/> when more than one parameter are invalid.
+            </summary>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Memory.Internals.ThrowHelper.ThrowArgumentOutOfRangeExceptionForDepth">
+            <summary>
+            Throws an <see cref="T:System.ArgumentOutOfRangeException"/> when the "depth" parameter is invalid.
+            </summary>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Memory.Internals.ThrowHelper.ThrowArgumentOutOfRangeExceptionForRow">
+            <summary>
+            Throws an <see cref="T:System.ArgumentOutOfRangeException"/> when the "row" parameter is invalid.
+            </summary>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Memory.Internals.ThrowHelper.ThrowArgumentOutOfRangeExceptionForColumn">
+            <summary>
+            Throws an <see cref="T:System.ArgumentOutOfRangeException"/> when the "column" parameter is invalid.
+            </summary>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Memory.Internals.ThrowHelper.ThrowArgumentOutOfRangeExceptionForOffset">
+            <summary>
+            Throws an <see cref="T:System.ArgumentOutOfRangeException"/> when the "offset" parameter is invalid.
+            </summary>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Memory.Internals.ThrowHelper.ThrowArgumentOutOfRangeExceptionForHeight">
+            <summary>
+            Throws an <see cref="T:System.ArgumentOutOfRangeException"/> when the "height" parameter is invalid.
+            </summary>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Memory.Internals.ThrowHelper.ThrowArgumentOutOfRangeExceptionForWidth">
+            <summary>
+            Throws an <see cref="T:System.ArgumentOutOfRangeException"/> when the "width" parameter is invalid.
+            </summary>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Memory.Internals.ThrowHelper.ThrowArgumentOutOfRangeExceptionForPitch">
+            <summary>
+            Throws an <see cref="T:System.ArgumentOutOfRangeException"/> when the "pitch" parameter is invalid.
+            </summary>
+        </member>
+        <member name="T:CommunityToolkit.HighPerformance.Memory.Views.MemoryDebugView2D`1">
+            <summary>
+            A debug proxy used to display items in a 2D layout.
+            </summary>
+            <typeparam name="T">The type of items to display.</typeparam>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Memory.Views.MemoryDebugView2D`1.#ctor(CommunityToolkit.HighPerformance.Memory2D{`0})">
+            <summary>
+            Initializes a new instance of the <see cref="T:CommunityToolkit.HighPerformance.Memory.Views.MemoryDebugView2D`1"/> class with the specified parameters.
+            </summary>
+            <param name="memory">The input <see cref="T:CommunityToolkit.HighPerformance.Memory2D`1"/> instance with the items to display.</param>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Memory.Views.MemoryDebugView2D`1.#ctor(CommunityToolkit.HighPerformance.ReadOnlyMemory2D{`0})">
+            <summary>
+            Initializes a new instance of the <see cref="T:CommunityToolkit.HighPerformance.Memory.Views.MemoryDebugView2D`1"/> class with the specified parameters.
+            </summary>
+            <param name="memory">The input <see cref="T:CommunityToolkit.HighPerformance.ReadOnlyMemory2D`1"/> instance with the items to display.</param>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Memory.Views.MemoryDebugView2D`1.#ctor(CommunityToolkit.HighPerformance.Span2D{`0})">
+            <summary>
+            Initializes a new instance of the <see cref="T:CommunityToolkit.HighPerformance.Memory.Views.MemoryDebugView2D`1"/> class with the specified parameters.
+            </summary>
+            <param name="span">The input <see cref="T:CommunityToolkit.HighPerformance.Span2D`1"/> instance with the items to display.</param>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Memory.Views.MemoryDebugView2D`1.#ctor(CommunityToolkit.HighPerformance.ReadOnlySpan2D{`0})">
+            <summary>
+            Initializes a new instance of the <see cref="T:CommunityToolkit.HighPerformance.Memory.Views.MemoryDebugView2D`1"/> class with the specified parameters.
+            </summary>
+            <param name="span">The input <see cref="T:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1"/> instance with the items to display.</param>
+        </member>
+        <member name="P:CommunityToolkit.HighPerformance.Memory.Views.MemoryDebugView2D`1.Items">
+            <summary>
+            Gets the items to display for the current instance
+            </summary>
+        </member>
+        <member name="T:CommunityToolkit.HighPerformance.Memory2D`1">
+            <summary>
+            <see cref="T:CommunityToolkit.HighPerformance.Memory2D`1"/> represents a 2D region of arbitrary memory. It is to <see cref="T:CommunityToolkit.HighPerformance.Span2D`1"/>
+            what <see cref="T:System.Memory`1"/> is to <see cref="T:System.Span`1"/>. For further details on how the internal layout
+            is structured, see the docs for <see cref="T:CommunityToolkit.HighPerformance.Span2D`1"/>. The <see cref="T:CommunityToolkit.HighPerformance.Memory2D`1"/> type can wrap arrays
+            of any rank, provided that a valid series of parameters for the target memory area(s) are specified.
+            </summary>
+            <typeparam name="T">The type of items in the current <see cref="T:CommunityToolkit.HighPerformance.Memory2D`1"/> instance.</typeparam>
+        </member>
+        <member name="F:CommunityToolkit.HighPerformance.Memory2D`1.instance">
+            <summary>
+            The target <see cref="T:System.Object"/> instance, if present.
+            </summary>
+        </member>
+        <member name="F:CommunityToolkit.HighPerformance.Memory2D`1.offset">
+            <summary>
+            The initial byte offset within <see cref="F:CommunityToolkit.HighPerformance.Memory2D`1.instance"/>.
+            </summary>
+        </member>
+        <member name="F:CommunityToolkit.HighPerformance.Memory2D`1.height">
+            <summary>
+            The height of the specified 2D region.
+            </summary>
+        </member>
+        <member name="F:CommunityToolkit.HighPerformance.Memory2D`1.width">
+            <summary>
+            The width of the specified 2D region.
+            </summary>
+        </member>
+        <member name="F:CommunityToolkit.HighPerformance.Memory2D`1.pitch">
+            <summary>
+            The pitch of the specified 2D region.
+            </summary>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Memory2D`1.#ctor(`0[],System.Int32,System.Int32)">
+            <summary>
+            Initializes a new instance of the <see cref="T:CommunityToolkit.HighPerformance.Memory2D`1"/> struct.
+            </summary>
+            <param name="array">The target array to wrap.</param>
+            <param name="height">The height of the resulting 2D area.</param>
+            <param name="width">The width of each row in the resulting 2D area.</param>
+            <exception cref="T:System.ArrayTypeMismatchException">
+            Thrown when <paramref name="array"/> doesn't match <typeparamref name="T"/>.
+            </exception>
+            <exception cref="T:System.ArgumentException">
+            Thrown when either <paramref name="height"/> or <paramref name="width"/> are invalid.
+            </exception>
+            <remarks>The total area must match the length of <paramref name="array"/>.</remarks>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Memory2D`1.#ctor(`0[],System.Int32,System.Int32,System.Int32,System.Int32)">
+            <summary>
+            Initializes a new instance of the <see cref="T:CommunityToolkit.HighPerformance.Memory2D`1"/> struct.
+            </summary>
+            <param name="array">The target array to wrap.</param>
+            <param name="offset">The initial offset within <paramref name="array"/>.</param>
+            <param name="height">The height of the resulting 2D area.</param>
+            <param name="width">The width of each row in the resulting 2D area.</param>
+            <param name="pitch">The pitch in the resulting 2D area.</param>
+            <exception cref="T:System.ArrayTypeMismatchException">
+            Thrown when <paramref name="array"/> doesn't match <typeparamref name="T"/>.
+            </exception>
+            <exception cref="T:System.ArgumentOutOfRangeException">
+            Thrown when one of the input parameters is out of range.
+            </exception>
+            <exception cref="T:System.ArgumentException">
+            Thrown when the requested area is outside of bounds for <paramref name="array"/>.
+            </exception>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Memory2D`1.#ctor(`0[0:,0:])">
+            <summary>
+            Initializes a new instance of the <see cref="T:CommunityToolkit.HighPerformance.Memory2D`1"/> struct wrapping a 2D array.
+            </summary>
+            <param name="array">The given 2D array to wrap.</param>
+            <exception cref="T:System.ArrayTypeMismatchException">
+            Thrown when <paramref name="array"/> doesn't match <typeparamref name="T"/>.
+            </exception>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Memory2D`1.#ctor(`0[0:,0:],System.Int32,System.Int32,System.Int32,System.Int32)">
+            <summary>
+            Initializes a new instance of the <see cref="T:CommunityToolkit.HighPerformance.Memory2D`1"/> struct wrapping a 2D array.
+            </summary>
+            <param name="array">The given 2D array to wrap.</param>
+            <param name="row">The target row to map within <paramref name="array"/>.</param>
+            <param name="column">The target column to map within <paramref name="array"/>.</param>
+            <param name="height">The height to map within <paramref name="array"/>.</param>
+            <param name="width">The width to map within <paramref name="array"/>.</param>
+            <exception cref="T:System.ArrayTypeMismatchException">
+            Thrown when <paramref name="array"/> doesn't match <typeparamref name="T"/>.
+            </exception>
+            <exception cref="T:System.ArgumentOutOfRangeException">
+            Thrown when either <paramref name="height"/>, <paramref name="width"/> or <paramref name="height"/>
+            are negative or not within the bounds that are valid for <paramref name="array"/>.
+            </exception>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Memory2D`1.#ctor(`0[0:,0:,0:],System.Int32)">
+            <summary>
+            Initializes a new instance of the <see cref="T:CommunityToolkit.HighPerformance.Memory2D`1"/> struct wrapping a layer in a 3D array.
+            </summary>
+            <param name="array">The given 3D array to wrap.</param>
+            <param name="depth">The target layer to map within <paramref name="array"/>.</param>
+            <exception cref="T:System.ArrayTypeMismatchException">
+            Thrown when <paramref name="array"/> doesn't match <typeparamref name="T"/>.
+            </exception>
+            <exception cref="T:System.ArgumentOutOfRangeException">Thrown when a parameter is invalid.</exception>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Memory2D`1.#ctor(`0[0:,0:,0:],System.Int32,System.Int32,System.Int32,System.Int32,System.Int32)">
+            <summary>
+            Initializes a new instance of the <see cref="T:CommunityToolkit.HighPerformance.Memory2D`1"/> struct wrapping a layer in a 3D array.
+            </summary>
+            <param name="array">The given 3D array to wrap.</param>
+            <param name="depth">The target layer to map within <paramref name="array"/>.</param>
+            <param name="row">The target row to map within <paramref name="array"/>.</param>
+            <param name="column">The target column to map within <paramref name="array"/>.</param>
+            <param name="height">The height to map within <paramref name="array"/>.</param>
+            <param name="width">The width to map within <paramref name="array"/>.</param>
+            <exception cref="T:System.ArrayTypeMismatchException">
+            Thrown when <paramref name="array"/> doesn't match <typeparamref name="T"/>.
+            </exception>
+            <exception cref="T:System.ArgumentOutOfRangeException">Thrown when a parameter is invalid.</exception>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Memory2D`1.#ctor(System.Buffers.MemoryManager{`0},System.Int32,System.Int32)">
+            <summary>
+            Initializes a new instance of the <see cref="T:CommunityToolkit.HighPerformance.Memory2D`1"/> struct.
+            </summary>
+            <param name="memoryManager">The target <see cref="T:System.Buffers.MemoryManager`1"/> to wrap.</param>
+            <param name="height">The height of the resulting 2D area.</param>
+            <param name="width">The width of each row in the resulting 2D area.</param>
+            <exception cref="T:System.ArgumentException">
+            Thrown when either <paramref name="height"/> or <paramref name="width"/> are invalid.
+            </exception>
+            <remarks>The total area must match the length of <paramref name="memoryManager"/>.</remarks>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Memory2D`1.#ctor(System.Buffers.MemoryManager{`0},System.Int32,System.Int32,System.Int32,System.Int32)">
+            <summary>
+            Initializes a new instance of the <see cref="T:CommunityToolkit.HighPerformance.Memory2D`1"/> struct.
+            </summary>
+            <param name="memoryManager">The target <see cref="T:System.Buffers.MemoryManager`1"/> to wrap.</param>
+            <param name="offset">The initial offset within <paramref name="memoryManager"/>.</param>
+            <param name="height">The height of the resulting 2D area.</param>
+            <param name="width">The width of each row in the resulting 2D area.</param>
+            <param name="pitch">The pitch in the resulting 2D area.</param>
+            <exception cref="T:System.ArgumentOutOfRangeException">
+            Thrown when one of the input parameters is out of range.
+            </exception>
+            <exception cref="T:System.ArgumentException">
+            Thrown when the requested area is outside of bounds for <paramref name="memoryManager"/>.
+            </exception>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Memory2D`1.#ctor(System.Memory{`0},System.Int32,System.Int32)">
+            <summary>
+            Initializes a new instance of the <see cref="T:CommunityToolkit.HighPerformance.Memory2D`1"/> struct.
+            </summary>
+            <param name="memory">The target <see cref="T:System.Memory`1"/> to wrap.</param>
+            <param name="height">The height of the resulting 2D area.</param>
+            <param name="width">The width of each row in the resulting 2D area.</param>
+            <exception cref="T:System.ArgumentException">
+            Thrown when either <paramref name="height"/> or <paramref name="width"/> are invalid.
+            </exception>
+            <remarks>The total area must match the length of <paramref name="memory"/>.</remarks>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Memory2D`1.#ctor(System.Memory{`0},System.Int32,System.Int32,System.Int32,System.Int32)">
+            <summary>
+            Initializes a new instance of the <see cref="T:CommunityToolkit.HighPerformance.Memory2D`1"/> struct.
+            </summary>
+            <param name="memory">The target <see cref="T:System.Memory`1"/> to wrap.</param>
+            <param name="offset">The initial offset within <paramref name="memory"/>.</param>
+            <param name="height">The height of the resulting 2D area.</param>
+            <param name="width">The width of each row in the resulting 2D area.</param>
+            <param name="pitch">The pitch in the resulting 2D area.</param>
+            <exception cref="T:System.ArgumentOutOfRangeException">
+            Thrown when one of the input parameters is out of range.
+            </exception>
+            <exception cref="T:System.ArgumentException">
+            Thrown when the requested area is outside of bounds for <paramref name="memory"/>.
+            </exception>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Memory2D`1.#ctor(System.Object,System.IntPtr,System.Int32,System.Int32,System.Int32)">
+            <summary>
+            Initializes a new instance of the <see cref="T:CommunityToolkit.HighPerformance.Memory2D`1"/> struct with the specified parameters.
+            </summary>
+            <param name="instance">The target <see cref="T:System.Object"/> instance.</param>
+            <param name="offset">The initial offset within <see cref="F:CommunityToolkit.HighPerformance.Memory2D`1.instance"/>.</param>
+            <param name="height">The height of the 2D memory area to map.</param>
+            <param name="width">The width of the 2D memory area to map.</param>
+            <param name="pitch">The pitch of the 2D memory area to map.</param>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Memory2D`1.DangerousCreate(System.Object,`0@,System.Int32,System.Int32,System.Int32)">
+            <summary>
+            Creates a new <see cref="T:CommunityToolkit.HighPerformance.Memory2D`1"/> instance from an arbitrary object.
+            </summary>
+            <param name="instance">The <see cref="T:System.Object"/> instance holding the data to map.</param>
+            <param name="value">The target reference to point to (it must be within <paramref name="instance"/>).</param>
+            <param name="height">The height of the 2D memory area to map.</param>
+            <param name="width">The width of the 2D memory area to map.</param>
+            <param name="pitch">The pitch of the 2D memory area to map.</param>
+            <returns>A <see cref="T:CommunityToolkit.HighPerformance.Memory2D`1"/> instance with the specified parameters.</returns>
+            <remarks>The <paramref name="value"/> parameter is not validated, and it's responsibility of the caller to ensure it's valid.</remarks>
+            <exception cref="T:System.ArgumentOutOfRangeException">
+            Thrown when one of the input parameters is out of range.
+            </exception>
+        </member>
+        <member name="P:CommunityToolkit.HighPerformance.Memory2D`1.Empty">
+            <summary>
+            Gets an empty <see cref="T:CommunityToolkit.HighPerformance.Memory2D`1"/> instance.
+            </summary>
+        </member>
+        <member name="P:CommunityToolkit.HighPerformance.Memory2D`1.IsEmpty">
+            <summary>
+            Gets a value indicating whether the current <see cref="T:CommunityToolkit.HighPerformance.Memory2D`1"/> instance is empty.
+            </summary>
+        </member>
+        <member name="P:CommunityToolkit.HighPerformance.Memory2D`1.Length">
+            <summary>
+            Gets the length of the current <see cref="T:CommunityToolkit.HighPerformance.Memory2D`1"/> instance.
+            </summary>
+        </member>
+        <member name="P:CommunityToolkit.HighPerformance.Memory2D`1.Height">
+            <summary>
+            Gets the height of the underlying 2D memory area.
+            </summary>
+        </member>
+        <member name="P:CommunityToolkit.HighPerformance.Memory2D`1.Width">
+            <summary>
+            Gets the width of the underlying 2D memory area.
+            </summary>
+        </member>
+        <member name="P:CommunityToolkit.HighPerformance.Memory2D`1.Span">
+            <summary>
+            Gets a <see cref="T:CommunityToolkit.HighPerformance.Span2D`1"/> instance from the current memory.
+            </summary>
+        </member>
+        <member name="P:CommunityToolkit.HighPerformance.Memory2D`1.Item(System.Range,System.Range)">
+            <summary>
+            Slices the current instance with the specified parameters.
+            </summary>
+            <param name="rows">The target range of rows to select.</param>
+            <param name="columns">The target range of columns to select.</param>
+            <exception cref="T:System.ArgumentException">
+            Thrown when either <paramref name="rows"/> or <paramref name="columns"/> are invalid.
+            </exception>
+            <returns>A new <see cref="T:CommunityToolkit.HighPerformance.Memory2D`1"/> instance representing a slice of the current one.</returns>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Memory2D`1.Slice(System.Int32,System.Int32,System.Int32,System.Int32)">
+            <summary>
+            Slices the current instance with the specified parameters.
+            </summary>
+            <param name="row">The target row to map within the current instance.</param>
+            <param name="column">The target column to map within the current instance.</param>
+            <param name="height">The height to map within the current instance.</param>
+            <param name="width">The width to map within the current instance.</param>
+            <exception cref="T:System.ArgumentOutOfRangeException">
+            Thrown when either <paramref name="height"/>, <paramref name="width"/> or <paramref name="height"/>
+            are negative or not within the bounds that are valid for the current instance.
+            </exception>
+            <returns>A new <see cref="T:CommunityToolkit.HighPerformance.Memory2D`1"/> instance representing a slice of the current one.</returns>
+            <remarks>See additional remarks in the <see cref="M:CommunityToolkit.HighPerformance.Span2D`1.Slice(System.Int32,System.Int32,System.Int32,System.Int32)"/> docs.</remarks>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Memory2D`1.CopyTo(System.Memory{`0})">
+            <summary>
+            Copies the contents of this <see cref="T:CommunityToolkit.HighPerformance.Memory2D`1"/> into a destination <see cref="T:System.Memory`1"/> instance.
+            </summary>
+            <param name="destination">The destination <see cref="T:System.Memory`1"/> instance.</param>
+            <exception cref="T:System.ArgumentException">
+            Thrown when <paramref name="destination" /> is shorter than the source <see cref="T:CommunityToolkit.HighPerformance.Memory2D`1"/> instance.
+            </exception>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Memory2D`1.TryCopyTo(System.Memory{`0})">
+            <summary>
+            Attempts to copy the current <see cref="T:CommunityToolkit.HighPerformance.Memory2D`1"/> instance to a destination <see cref="T:System.Memory`1"/>.
+            </summary>
+            <param name="destination">The target <see cref="T:System.Memory`1"/> of the copy operation.</param>
+            <returns>Whether or not the operation was successful.</returns>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Memory2D`1.CopyTo(CommunityToolkit.HighPerformance.Memory2D{`0})">
+            <summary>
+            Copies the contents of this <see cref="T:CommunityToolkit.HighPerformance.Memory2D`1"/> into a destination <see cref="T:CommunityToolkit.HighPerformance.Memory2D`1"/> instance.
+            For this API to succeed, the target <see cref="T:CommunityToolkit.HighPerformance.Memory2D`1"/> has to have the same shape as the current one.
+            </summary>
+            <param name="destination">The destination <see cref="T:CommunityToolkit.HighPerformance.Memory2D`1"/> instance.</param>
+            <exception cref="T:System.ArgumentException">
+            Thrown when <paramref name="destination" /> is shorter than the source <see cref="T:CommunityToolkit.HighPerformance.Memory2D`1"/> instance.
+            </exception>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Memory2D`1.TryCopyTo(CommunityToolkit.HighPerformance.Memory2D{`0})">
+            <summary>
+            Attempts to copy the current <see cref="T:CommunityToolkit.HighPerformance.Memory2D`1"/> instance to a destination <see cref="T:CommunityToolkit.HighPerformance.Memory2D`1"/>.
+            For this API to succeed, the target <see cref="T:CommunityToolkit.HighPerformance.Memory2D`1"/> has to have the same shape as the current one.
+            </summary>
+            <param name="destination">The target <see cref="T:CommunityToolkit.HighPerformance.Memory2D`1"/> of the copy operation.</param>
+            <returns>Whether or not the operation was successful.</returns>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Memory2D`1.Pin">
+            <summary>
+            Creates a handle for the memory.
+            The GC will not move the memory until the returned <see cref="T:System.Buffers.MemoryHandle"/>
+            is disposed, enabling taking and using the memory's address.
+            </summary>
+            <exception cref="T:System.ArgumentException">
+            An instance with non-primitive (non-blittable) members cannot be pinned.
+            </exception>
+            <returns>A <see cref="T:System.Buffers.MemoryHandle"/> instance wrapping the pinned handle.</returns>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Memory2D`1.TryGetMemory(System.Memory{`0}@)">
+            <summary>
+            Tries to get a <see cref="T:System.Memory`1"/> instance, if the underlying buffer is contiguous and small enough.
+            </summary>
+            <param name="memory">The resulting <see cref="T:System.Memory`1"/>, in case of success.</param>
+            <returns>Whether or not <paramref name="memory"/> was correctly assigned.</returns>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Memory2D`1.ToArray">
+            <summary>
+            Copies the contents of the current <see cref="T:CommunityToolkit.HighPerformance.Memory2D`1"/> instance into a new 2D array.
+            </summary>
+            <returns>A 2D array containing the data in the current <see cref="T:CommunityToolkit.HighPerformance.Memory2D`1"/> instance.</returns>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Memory2D`1.Equals(System.Object)">
+            <inheritdoc/>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Memory2D`1.Equals(CommunityToolkit.HighPerformance.Memory2D{`0})">
+            <inheritdoc/>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Memory2D`1.GetHashCode">
+            <inheritdoc/>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Memory2D`1.ToString">
+            <inheritdoc/>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Memory2D`1.op_Implicit(`0[0:,0:])~CommunityToolkit.HighPerformance.Memory2D{`0}">
+            <summary>
+            Defines an implicit conversion of an array to a <see cref="T:CommunityToolkit.HighPerformance.Memory2D`1"/>
+            </summary>
+        </member>
+        <member name="T:CommunityToolkit.HighPerformance.ReadOnlyMemory2D`1">
+            <summary>
+            A readonly version of <see cref="T:CommunityToolkit.HighPerformance.Memory2D`1"/>.
+            </summary>
+            <typeparam name="T">The type of items in the current <see cref="T:CommunityToolkit.HighPerformance.ReadOnlyMemory2D`1"/> instance.</typeparam>
+        </member>
+        <member name="F:CommunityToolkit.HighPerformance.ReadOnlyMemory2D`1.instance">
+            <summary>
+            The target <see cref="T:System.Object"/> instance, if present.
+            </summary>
+        </member>
+        <member name="F:CommunityToolkit.HighPerformance.ReadOnlyMemory2D`1.offset">
+            <summary>
+            The initial byte offset within <see cref="F:CommunityToolkit.HighPerformance.ReadOnlyMemory2D`1.instance"/>.
+            </summary>
+        </member>
+        <member name="F:CommunityToolkit.HighPerformance.ReadOnlyMemory2D`1.height">
+            <summary>
+            The height of the specified 2D region.
+            </summary>
+        </member>
+        <member name="F:CommunityToolkit.HighPerformance.ReadOnlyMemory2D`1.width">
+            <summary>
+            The width of the specified 2D region.
+            </summary>
+        </member>
+        <member name="F:CommunityToolkit.HighPerformance.ReadOnlyMemory2D`1.pitch">
+            <summary>
+            The pitch of the specified 2D region.
+            </summary>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.ReadOnlyMemory2D`1.#ctor(System.String,System.Int32,System.Int32)">
+            <summary>
+            Initializes a new instance of the <see cref="T:CommunityToolkit.HighPerformance.ReadOnlyMemory2D`1"/> struct.
+            </summary>
+            <param name="text">The target <see cref="T:System.String"/> to wrap.</param>
+            <param name="height">The height of the resulting 2D area.</param>
+            <param name="width">The width of each row in the resulting 2D area.</param>
+            <exception cref="T:System.ArgumentException">
+            Thrown when either <paramref name="height"/> or <paramref name="width"/> are invalid.
+            </exception>
+            <remarks>The total area must match the length of <paramref name="text"/>.</remarks>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.ReadOnlyMemory2D`1.#ctor(System.String,System.Int32,System.Int32,System.Int32,System.Int32)">
+            <summary>
+            Initializes a new instance of the <see cref="T:CommunityToolkit.HighPerformance.ReadOnlyMemory2D`1"/> struct.
+            </summary>
+            <param name="text">The target <see cref="T:System.String"/> to wrap.</param>
+            <param name="offset">The initial offset within <paramref name="text"/>.</param>
+            <param name="height">The height of the resulting 2D area.</param>
+            <param name="width">The width of each row in the resulting 2D area.</param>
+            <param name="pitch">The pitch in the resulting 2D area.</param>
+            <exception cref="T:System.ArgumentOutOfRangeException">
+            Thrown when one of the input parameters is out of range.
+            </exception>
+            <exception cref="T:System.ArgumentException">
+            Thrown when the requested area is outside of bounds for <paramref name="text"/>.
+            </exception>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.ReadOnlyMemory2D`1.#ctor(`0[],System.Int32,System.Int32)">
+            <summary>
+            Initializes a new instance of the <see cref="T:CommunityToolkit.HighPerformance.ReadOnlyMemory2D`1"/> struct.
+            </summary>
+            <param name="array">The target array to wrap.</param>
+            <param name="height">The height of the resulting 2D area.</param>
+            <param name="width">The width of each row in the resulting 2D area.</param>
+            <exception cref="T:System.ArgumentException">
+            Thrown when either <paramref name="height"/> or <paramref name="width"/> are invalid.
+            </exception>
+            <remarks>The total area must match the length of <paramref name="array"/>.</remarks>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.ReadOnlyMemory2D`1.#ctor(`0[],System.Int32,System.Int32,System.Int32,System.Int32)">
+            <summary>
+            Initializes a new instance of the <see cref="T:CommunityToolkit.HighPerformance.ReadOnlyMemory2D`1"/> struct.
+            </summary>
+            <param name="array">The target array to wrap.</param>
+            <param name="offset">The initial offset within <paramref name="array"/>.</param>
+            <param name="height">The height of the resulting 2D area.</param>
+            <param name="width">The width of each row in the resulting 2D area.</param>
+            <param name="pitch">The pitch in the resulting 2D area.</param>
+            <exception cref="T:System.ArgumentOutOfRangeException">
+            Thrown when one of the input parameters is out of range.
+            </exception>
+            <exception cref="T:System.ArgumentException">
+            Thrown when the requested area is outside of bounds for <paramref name="array"/>.
+            </exception>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.ReadOnlyMemory2D`1.#ctor(`0[0:,0:])">
+            <summary>
+            Initializes a new instance of the <see cref="T:CommunityToolkit.HighPerformance.ReadOnlyMemory2D`1"/> struct wrapping a 2D array.
+            </summary>
+            <param name="array">The given 2D array to wrap.</param>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.ReadOnlyMemory2D`1.#ctor(`0[0:,0:],System.Int32,System.Int32,System.Int32,System.Int32)">
+            <summary>
+            Initializes a new instance of the <see cref="T:CommunityToolkit.HighPerformance.ReadOnlyMemory2D`1"/> struct wrapping a 2D array.
+            </summary>
+            <param name="array">The given 2D array to wrap.</param>
+            <param name="row">The target row to map within <paramref name="array"/>.</param>
+            <param name="column">The target column to map within <paramref name="array"/>.</param>
+            <param name="height">The height to map within <paramref name="array"/>.</param>
+            <param name="width">The width to map within <paramref name="array"/>.</param>
+            <exception cref="T:System.ArgumentOutOfRangeException">
+            Thrown when either <paramref name="height"/>, <paramref name="width"/> or <paramref name="height"/>
+            are negative or not within the bounds that are valid for <paramref name="array"/>.
+            </exception>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.ReadOnlyMemory2D`1.#ctor(`0[0:,0:,0:],System.Int32)">
+            <summary>
+            Initializes a new instance of the <see cref="T:CommunityToolkit.HighPerformance.ReadOnlyMemory2D`1"/> struct wrapping a layer in a 3D array.
+            </summary>
+            <param name="array">The given 3D array to wrap.</param>
+            <param name="depth">The target layer to map within <paramref name="array"/>.</param>
+            <exception cref="T:System.ArgumentOutOfRangeException">Thrown when a parameter is invalid.</exception>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.ReadOnlyMemory2D`1.#ctor(`0[0:,0:,0:],System.Int32,System.Int32,System.Int32,System.Int32,System.Int32)">
+            <summary>
+            Initializes a new instance of the <see cref="T:CommunityToolkit.HighPerformance.ReadOnlyMemory2D`1"/> struct wrapping a layer in a 3D array.
+            </summary>
+            <param name="array">The given 3D array to wrap.</param>
+            <param name="depth">The target layer to map within <paramref name="array"/>.</param>
+            <param name="row">The target row to map within <paramref name="array"/>.</param>
+            <param name="column">The target column to map within <paramref name="array"/>.</param>
+            <param name="height">The height to map within <paramref name="array"/>.</param>
+            <param name="width">The width to map within <paramref name="array"/>.</param>
+            <exception cref="T:System.ArgumentOutOfRangeException">Thrown when a parameter is invalid.</exception>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.ReadOnlyMemory2D`1.#ctor(System.Buffers.MemoryManager{`0},System.Int32,System.Int32)">
+            <summary>
+            Initializes a new instance of the <see cref="T:CommunityToolkit.HighPerformance.ReadOnlyMemory2D`1"/> struct.
+            </summary>
+            <param name="memoryManager">The target <see cref="T:System.Buffers.MemoryManager`1"/> to wrap.</param>
+            <param name="height">The height of the resulting 2D area.</param>
+            <param name="width">The width of each row in the resulting 2D area.</param>
+            <exception cref="T:System.ArgumentException">
+            Thrown when either <paramref name="height"/> or <paramref name="width"/> are invalid.
+            </exception>
+            <remarks>The total area must match the length of <paramref name="memoryManager"/>.</remarks>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.ReadOnlyMemory2D`1.#ctor(System.Buffers.MemoryManager{`0},System.Int32,System.Int32,System.Int32,System.Int32)">
+            <summary>
+            Initializes a new instance of the <see cref="T:CommunityToolkit.HighPerformance.ReadOnlyMemory2D`1"/> struct.
+            </summary>
+            <param name="memoryManager">The target <see cref="T:System.Buffers.MemoryManager`1"/> to wrap.</param>
+            <param name="offset">The initial offset within <paramref name="memoryManager"/>.</param>
+            <param name="height">The height of the resulting 2D area.</param>
+            <param name="width">The width of each row in the resulting 2D area.</param>
+            <param name="pitch">The pitch in the resulting 2D area.</param>
+            <exception cref="T:System.ArgumentOutOfRangeException">
+            Thrown when one of the input parameters is out of range.
+            </exception>
+            <exception cref="T:System.ArgumentException">
+            Thrown when the requested area is outside of bounds for <paramref name="memoryManager"/>.
+            </exception>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.ReadOnlyMemory2D`1.#ctor(System.ReadOnlyMemory{`0},System.Int32,System.Int32)">
+            <summary>
+            Initializes a new instance of the <see cref="T:CommunityToolkit.HighPerformance.ReadOnlyMemory2D`1"/> struct.
+            </summary>
+            <param name="memory">The target <see cref="T:System.Memory`1"/> to wrap.</param>
+            <param name="height">The height of the resulting 2D area.</param>
+            <param name="width">The width of each row in the resulting 2D area.</param>
+            <exception cref="T:System.ArgumentException">
+            Thrown when either <paramref name="height"/> or <paramref name="width"/> are invalid.
+            </exception>
+            <remarks>The total area must match the length of <paramref name="memory"/>.</remarks>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.ReadOnlyMemory2D`1.#ctor(System.ReadOnlyMemory{`0},System.Int32,System.Int32,System.Int32,System.Int32)">
+            <summary>
+            Initializes a new instance of the <see cref="T:CommunityToolkit.HighPerformance.ReadOnlyMemory2D`1"/> struct.
+            </summary>
+            <param name="memory">The target <see cref="T:System.ReadOnlyMemory`1"/> to wrap.</param>
+            <param name="offset">The initial offset within <paramref name="memory"/>.</param>
+            <param name="height">The height of the resulting 2D area.</param>
+            <param name="width">The width of each row in the resulting 2D area.</param>
+            <param name="pitch">The pitch in the resulting 2D area.</param>
+            <exception cref="T:System.ArgumentOutOfRangeException">
+            Thrown when one of the input parameters is out of range.
+            </exception>
+            <exception cref="T:System.ArgumentException">
+            Thrown when the requested area is outside of bounds for <paramref name="memory"/>.
+            </exception>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.ReadOnlyMemory2D`1.#ctor(System.Object,System.IntPtr,System.Int32,System.Int32,System.Int32)">
+            <summary>
+            Initializes a new instance of the <see cref="T:CommunityToolkit.HighPerformance.ReadOnlyMemory2D`1"/> struct with the specified parameters.
+            </summary>
+            <param name="instance">The target <see cref="T:System.Object"/> instance.</param>
+            <param name="offset">The initial offset within <see cref="F:CommunityToolkit.HighPerformance.ReadOnlyMemory2D`1.instance"/>.</param>
+            <param name="height">The height of the 2D memory area to map.</param>
+            <param name="width">The width of the 2D memory area to map.</param>
+            <param name="pitch">The pitch of the 2D memory area to map.</param>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.ReadOnlyMemory2D`1.DangerousCreate(System.Object,`0@,System.Int32,System.Int32,System.Int32)">
+            <summary>
+            Creates a new <see cref="T:CommunityToolkit.HighPerformance.ReadOnlyMemory2D`1"/> instance from an arbitrary object.
+            </summary>
+            <param name="instance">The <see cref="T:System.Object"/> instance holding the data to map.</param>
+            <param name="value">The target reference to point to (it must be within <paramref name="instance"/>).</param>
+            <param name="height">The height of the 2D memory area to map.</param>
+            <param name="width">The width of the 2D memory area to map.</param>
+            <param name="pitch">The pitch of the 2D memory area to map.</param>
+            <returns>A <see cref="T:CommunityToolkit.HighPerformance.ReadOnlyMemory2D`1"/> instance with the specified parameters.</returns>
+            <remarks>The <paramref name="value"/> parameter is not validated, and it's responsibility of the caller to ensure it's valid.</remarks>
+            <exception cref="T:System.ArgumentOutOfRangeException">
+            Thrown when one of the input parameters is out of range.
+            </exception>
+        </member>
+        <member name="P:CommunityToolkit.HighPerformance.ReadOnlyMemory2D`1.Empty">
+            <summary>
+            Gets an empty <see cref="T:CommunityToolkit.HighPerformance.ReadOnlyMemory2D`1"/> instance.
+            </summary>
+        </member>
+        <member name="P:CommunityToolkit.HighPerformance.ReadOnlyMemory2D`1.IsEmpty">
+            <summary>
+            Gets a value indicating whether the current <see cref="T:CommunityToolkit.HighPerformance.ReadOnlyMemory2D`1"/> instance is empty.
+            </summary>
+        </member>
+        <member name="P:CommunityToolkit.HighPerformance.ReadOnlyMemory2D`1.Length">
+            <summary>
+            Gets the length of the current <see cref="T:CommunityToolkit.HighPerformance.ReadOnlyMemory2D`1"/> instance.
+            </summary>
+        </member>
+        <member name="P:CommunityToolkit.HighPerformance.ReadOnlyMemory2D`1.Height">
+            <summary>
+            Gets the height of the underlying 2D memory area.
+            </summary>
+        </member>
+        <member name="P:CommunityToolkit.HighPerformance.ReadOnlyMemory2D`1.Width">
+            <summary>
+            Gets the width of the underlying 2D memory area.
+            </summary>
+        </member>
+        <member name="P:CommunityToolkit.HighPerformance.ReadOnlyMemory2D`1.Span">
+            <summary>
+            Gets a <see cref="T:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1"/> instance from the current memory.
+            </summary>
+        </member>
+        <member name="P:CommunityToolkit.HighPerformance.ReadOnlyMemory2D`1.Item(System.Range,System.Range)">
+            <summary>
+            Slices the current instance with the specified parameters.
+            </summary>
+            <param name="rows">The target range of rows to select.</param>
+            <param name="columns">The target range of columns to select.</param>
+            <exception cref="T:System.ArgumentException">
+            Thrown when either <paramref name="rows"/> or <paramref name="columns"/> are invalid.
+            </exception>
+            <returns>A new <see cref="T:CommunityToolkit.HighPerformance.ReadOnlyMemory2D`1"/> instance representing a slice of the current one.</returns>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.ReadOnlyMemory2D`1.Slice(System.Int32,System.Int32,System.Int32,System.Int32)">
+            <summary>
+            Slices the current instance with the specified parameters.
+            </summary>
+            <param name="row">The target row to map within the current instance.</param>
+            <param name="column">The target column to map within the current instance.</param>
+            <param name="height">The height to map within the current instance.</param>
+            <param name="width">The width to map within the current instance.</param>
+            <exception cref="T:System.ArgumentOutOfRangeException">
+            Thrown when either <paramref name="height"/>, <paramref name="width"/> or <paramref name="height"/>
+            are negative or not within the bounds that are valid for the current instance.
+            </exception>
+            <returns>A new <see cref="T:CommunityToolkit.HighPerformance.ReadOnlyMemory2D`1"/> instance representing a slice of the current one.</returns>
+            <remarks>See additional remarks in the <see cref="M:CommunityToolkit.HighPerformance.Span2D`1.Slice(System.Int32,System.Int32,System.Int32,System.Int32)"/> docs.</remarks>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.ReadOnlyMemory2D`1.CopyTo(System.Memory{`0})">
+            <summary>
+            Copies the contents of this <see cref="T:CommunityToolkit.HighPerformance.ReadOnlyMemory2D`1"/> into a destination <see cref="T:System.Memory`1"/> instance.
+            </summary>
+            <param name="destination">The destination <see cref="T:System.Memory`1"/> instance.</param>
+            <exception cref="T:System.ArgumentException">
+            Thrown when <paramref name="destination" /> is shorter than the source <see cref="T:CommunityToolkit.HighPerformance.ReadOnlyMemory2D`1"/> instance.
+            </exception>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.ReadOnlyMemory2D`1.TryCopyTo(System.Memory{`0})">
+            <summary>
+            Attempts to copy the current <see cref="T:CommunityToolkit.HighPerformance.ReadOnlyMemory2D`1"/> instance to a destination <see cref="T:System.Memory`1"/>.
+            </summary>
+            <param name="destination">The target <see cref="T:System.Memory`1"/> of the copy operation.</param>
+            <returns>Whether or not the operation was successful.</returns>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.ReadOnlyMemory2D`1.CopyTo(CommunityToolkit.HighPerformance.Memory2D{`0})">
+            <summary>
+            Copies the contents of this <see cref="T:CommunityToolkit.HighPerformance.ReadOnlyMemory2D`1"/> into a destination <see cref="T:CommunityToolkit.HighPerformance.Memory2D`1"/> instance.
+            For this API to succeed, the target <see cref="T:CommunityToolkit.HighPerformance.Memory2D`1"/> has to have the same shape as the current one.
+            </summary>
+            <param name="destination">The destination <see cref="T:CommunityToolkit.HighPerformance.Memory2D`1"/> instance.</param>
+            <exception cref="T:System.ArgumentException">
+            Thrown when <paramref name="destination" /> is shorter than the source <see cref="T:CommunityToolkit.HighPerformance.ReadOnlyMemory2D`1"/> instance.
+            </exception>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.ReadOnlyMemory2D`1.TryCopyTo(CommunityToolkit.HighPerformance.Memory2D{`0})">
+            <summary>
+            Attempts to copy the current <see cref="T:CommunityToolkit.HighPerformance.ReadOnlyMemory2D`1"/> instance to a destination <see cref="T:CommunityToolkit.HighPerformance.Memory2D`1"/>.
+            For this API to succeed, the target <see cref="T:CommunityToolkit.HighPerformance.Memory2D`1"/> has to have the same shape as the current one.
+            </summary>
+            <param name="destination">The target <see cref="T:CommunityToolkit.HighPerformance.Memory2D`1"/> of the copy operation.</param>
+            <returns>Whether or not the operation was successful.</returns>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.ReadOnlyMemory2D`1.Pin">
+            <summary>
+            Creates a handle for the memory.
+            The GC will not move the memory until the returned <see cref="T:System.Buffers.MemoryHandle"/>
+            is disposed, enabling taking and using the memory's address.
+            </summary>
+            <exception cref="T:System.ArgumentException">
+            An instance with non-primitive (non-blittable) members cannot be pinned.
+            </exception>
+            <returns>A <see cref="T:System.Buffers.MemoryHandle"/> instance wrapping the pinned handle.</returns>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.ReadOnlyMemory2D`1.TryGetMemory(System.ReadOnlyMemory{`0}@)">
+            <summary>
+            Tries to get a <see cref="T:System.ReadOnlyMemory`1"/> instance, if the underlying buffer is contiguous and small enough.
+            </summary>
+            <param name="memory">The resulting <see cref="T:System.ReadOnlyMemory`1"/>, in case of success.</param>
+            <returns>Whether or not <paramref name="memory"/> was correctly assigned.</returns>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.ReadOnlyMemory2D`1.ToArray">
+            <summary>
+            Copies the contents of the current <see cref="T:CommunityToolkit.HighPerformance.ReadOnlyMemory2D`1"/> instance into a new 2D array.
+            </summary>
+            <returns>A 2D array containing the data in the current <see cref="T:CommunityToolkit.HighPerformance.ReadOnlyMemory2D`1"/> instance.</returns>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.ReadOnlyMemory2D`1.Equals(System.Object)">
+            <inheritdoc/>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.ReadOnlyMemory2D`1.Equals(CommunityToolkit.HighPerformance.ReadOnlyMemory2D{`0})">
+            <inheritdoc/>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.ReadOnlyMemory2D`1.GetHashCode">
+            <inheritdoc/>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.ReadOnlyMemory2D`1.ToString">
+            <inheritdoc/>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.ReadOnlyMemory2D`1.op_Implicit(`0[0:,0:])~CommunityToolkit.HighPerformance.ReadOnlyMemory2D{`0}">
+            <summary>
+            Defines an implicit conversion of an array to a <see cref="T:CommunityToolkit.HighPerformance.ReadOnlyMemory2D`1"/>
+            </summary>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.ReadOnlyMemory2D`1.op_Implicit(CommunityToolkit.HighPerformance.Memory2D{`0})~CommunityToolkit.HighPerformance.ReadOnlyMemory2D{`0}">
+            <summary>
+            Defines an implicit conversion of a <see cref="T:CommunityToolkit.HighPerformance.Memory2D`1"/> to a <see cref="T:CommunityToolkit.HighPerformance.ReadOnlyMemory2D`1"/>
+            </summary>
+        </member>
+        <member name="T:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1">
+            <summary>
+            A readonly version of <see cref="T:CommunityToolkit.HighPerformance.Span2D`1"/>.
+            </summary>
+            <typeparam name="T">The type of items in the current <see cref="T:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1"/> instance.</typeparam>
+            <inheritdoc/>
+        </member>
+        <member name="F:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1.span">
+            <summary>
+            The <see cref="T:System.ReadOnlySpan`1"/> instance pointing to the first item in the target memory area.
+            </summary>
+        </member>
+        <member name="F:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1.width">
+            <summary>
+            The width of the specified 2D region.
+            </summary>
+        </member>
+        <member name="F:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1.stride">
+            <summary>
+            The stride of the specified 2D region.
+            </summary>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1.#ctor(`0@,System.Int32,System.Int32,System.Int32)">
+            <summary>
+            Initializes a new instance of the <see cref="T:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1"/> struct with the specified parameters.
+            </summary>
+            <param name="value">The reference to the first <typeparamref name="T"/> item to map.</param>
+            <param name="height">The height of the 2D memory area to map.</param>
+            <param name="width">The width of the 2D memory area to map.</param>
+            <param name="pitch">The pitch of the 2D memory area to map (the distance between each row).</param>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1.#ctor(System.Void*,System.Int32,System.Int32,System.Int32)">
+            <summary>
+            Initializes a new instance of the <see cref="T:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1"/> struct with the specified parameters.
+            </summary>
+            <param name="pointer">The pointer to the first <typeparamref name="T"/> item to map.</param>
+            <param name="height">The height of the 2D memory area to map.</param>
+            <param name="width">The width of the 2D memory area to map.</param>
+            <param name="pitch">The pitch of the 2D memory area to map (the distance between each row).</param>
+            <exception cref="T:System.ArgumentOutOfRangeException">Thrown when one of the parameters are negative.</exception>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1.#ctor(`0[],System.Int32,System.Int32)">
+            <summary>
+            Initializes a new instance of the <see cref="T:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1"/> struct.
+            </summary>
+            <param name="array">The target array to wrap.</param>
+            <param name="height">The height of the resulting 2D area.</param>
+            <param name="width">The width of each row in the resulting 2D area.</param>
+            <exception cref="T:System.ArgumentException">
+            Thrown when either <paramref name="height"/> or <paramref name="width"/> are invalid.
+            </exception>
+            <remarks>The total area must match the length of <paramref name="array"/>.</remarks>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1.#ctor(`0[],System.Int32,System.Int32,System.Int32,System.Int32)">
+            <summary>
+            Initializes a new instance of the <see cref="T:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1"/> struct.
+            </summary>
+            <param name="array">The target array to wrap.</param>
+            <param name="offset">The initial offset within <paramref name="array"/>.</param>
+            <param name="height">The height of the resulting 2D area.</param>
+            <param name="width">The width of each row in the resulting 2D area.</param>
+            <param name="pitch">The pitch in the resulting 2D area.</param>
+            <exception cref="T:System.ArgumentOutOfRangeException">
+            Thrown when one of the input parameters is out of range.
+            </exception>
+            <exception cref="T:System.ArgumentException">
+            Thrown when the requested area is outside of bounds for <paramref name="array"/>.
+            </exception>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1.#ctor(`0[0:,0:])">
+            <summary>
+            Initializes a new instance of the <see cref="T:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1"/> struct wrapping a 2D array.
+            </summary>
+            <param name="array">The given 2D array to wrap.</param>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1.#ctor(`0[0:,0:],System.Int32,System.Int32,System.Int32,System.Int32)">
+            <summary>
+            Initializes a new instance of the <see cref="T:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1"/> struct wrapping a 2D array.
+            </summary>
+            <param name="array">The given 2D array to wrap.</param>
+            <param name="row">The target row to map within <paramref name="array"/>.</param>
+            <param name="column">The target column to map within <paramref name="array"/>.</param>
+            <param name="height">The height to map within <paramref name="array"/>.</param>
+            <param name="width">The width to map within <paramref name="array"/>.</param>
+            <exception cref="T:System.ArgumentOutOfRangeException">
+            Thrown when either <paramref name="height"/>, <paramref name="width"/> or <paramref name="height"/>
+            are negative or not within the bounds that are valid for <paramref name="array"/>.
+            </exception>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1.#ctor(`0[0:,0:,0:],System.Int32)">
+            <summary>
+            Initializes a new instance of the <see cref="T:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1"/> struct wrapping a layer in a 3D array.
+            </summary>
+            <param name="array">The given 3D array to wrap.</param>
+            <param name="depth">The target layer to map within <paramref name="array"/>.</param>
+            <exception cref="T:System.ArgumentOutOfRangeException">Thrown when a parameter is invalid.</exception>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1.#ctor(`0[0:,0:,0:],System.Int32,System.Int32,System.Int32,System.Int32,System.Int32)">
+            <summary>
+            Initializes a new instance of the <see cref="T:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1"/> struct wrapping a layer in a 3D array.
+            </summary>
+            <param name="array">The given 3D array to wrap.</param>
+            <param name="depth">The target layer to map within <paramref name="array"/>.</param>
+            <param name="row">The target row to map within <paramref name="array"/>.</param>
+            <param name="column">The target column to map within <paramref name="array"/>.</param>
+            <param name="height">The height to map within <paramref name="array"/>.</param>
+            <param name="width">The width to map within <paramref name="array"/>.</param>
+            <exception cref="T:System.ArgumentOutOfRangeException">Thrown when a parameter is invalid.</exception>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1.#ctor(System.ReadOnlySpan{`0},System.Int32,System.Int32)">
+            <summary>
+            Initializes a new instance of the <see cref="T:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1"/> struct.
+            </summary>
+            <param name="span">The target <see cref="T:System.ReadOnlySpan`1"/> to wrap.</param>
+            <param name="height">The height of the resulting 2D area.</param>
+            <param name="width">The width of each row in the resulting 2D area.</param>
+            <exception cref="T:System.ArgumentException">
+            Thrown when either <paramref name="height"/> or <paramref name="width"/> are invalid.
+            </exception>
+            <remarks>The total area must match the length of <paramref name="span"/>.</remarks>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1.#ctor(System.ReadOnlySpan{`0},System.Int32,System.Int32,System.Int32,System.Int32)">
+            <summary>
+            Initializes a new instance of the <see cref="T:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1"/> struct.
+            </summary>
+            <param name="span">The target <see cref="T:System.ReadOnlySpan`1"/> to wrap.</param>
+            <param name="offset">The initial offset within <paramref name="span"/>.</param>
+            <param name="height">The height of the resulting 2D area.</param>
+            <param name="width">The width of each row in the resulting 2D area.</param>
+            <param name="pitch">The pitch in the resulting 2D area.</param>
+            <exception cref="T:System.ArgumentOutOfRangeException">
+            Thrown when one of the input parameters is out of range.
+            </exception>
+            <exception cref="T:System.ArgumentException">
+            Thrown when the requested area is outside of bounds for <paramref name="span"/>.
+            </exception>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1.DangerousCreate(`0@,System.Int32,System.Int32,System.Int32)">
+            <summary>
+            Creates a new instance of the <see cref="T:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1"/> struct with the specified parameters.
+            </summary>
+            <param name="value">The reference to the first <typeparamref name="T"/> item to map.</param>
+            <param name="height">The height of the 2D memory area to map.</param>
+            <param name="width">The width of the 2D memory area to map.</param>
+            <param name="pitch">The pitch of the 2D memory area to map (the distance between each row).</param>
+            <returns>A <see cref="T:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1"/> instance with the specified parameters.</returns>
+            <exception cref="T:System.ArgumentOutOfRangeException">Thrown when one of the parameters are negative.</exception>
+        </member>
+        <member name="P:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1.Empty">
+            <summary>
+            Gets an empty <see cref="T:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1"/> instance.
+            </summary>
+        </member>
+        <member name="P:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1.IsEmpty">
+            <summary>
+            Gets a value indicating whether the current <see cref="T:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1"/> instance is empty.
+            </summary>
+        </member>
+        <member name="P:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1.Length">
+            <summary>
+            Gets the length of the current <see cref="T:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1"/> instance.
+            </summary>
+        </member>
+        <member name="P:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1.Height">
+            <summary>
+            Gets the height of the underlying 2D memory area.
+            </summary>
+        </member>
+        <member name="P:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1.Width">
+            <summary>
+            Gets the width of the underlying 2D memory area.
+            </summary>
+        </member>
+        <member name="P:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1.Item(System.Int32,System.Int32)">
+            <summary>
+            Gets the element at the specified zero-based indices.
+            </summary>
+            <param name="row">The target row to get the element from.</param>
+            <param name="column">The target column to get the element from.</param>
+            <returns>A reference to the element at the specified indices.</returns>
+            <exception cref="T:System.IndexOutOfRangeException">
+            Thrown when either <paramref name="row"/> or <paramref name="column"/> are invalid.
+            </exception>
+        </member>
+        <member name="P:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1.Item(System.Index,System.Index)">
+            <summary>
+            Gets the element at the specified zero-based indices.
+            </summary>
+            <param name="row">The target row to get the element from.</param>
+            <param name="column">The target column to get the element from.</param>
+            <returns>A reference to the element at the specified indices.</returns>
+            <exception cref="T:System.IndexOutOfRangeException">
+            Thrown when either <paramref name="row"/> or <paramref name="column"/> are invalid.
+            </exception>
+        </member>
+        <member name="P:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1.Item(System.Range,System.Range)">
+            <summary>
+            Slices the current instance with the specified parameters.
+            </summary>
+            <param name="rows">The target range of rows to select.</param>
+            <param name="columns">The target range of columns to select.</param>
+            <exception cref="T:System.ArgumentException">
+            Thrown when either <paramref name="rows"/> or <paramref name="columns"/> are invalid.
+            </exception>
+            <returns>A new <see cref="T:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1"/> instance representing a slice of the current one.</returns>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1.CopyTo(System.Span{`0})">
+            <summary>
+            Copies the contents of this <see cref="T:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1"/> into a destination <see cref="T:System.Span`1"/> instance.
+            </summary>
+            <param name="destination">The destination <see cref="T:System.Span`1"/> instance.</param>
+            <exception cref="T:System.ArgumentException">
+            Thrown when <paramref name="destination" /> is shorter than the source <see cref="T:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1"/> instance.
+            </exception>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1.CopyTo(CommunityToolkit.HighPerformance.Span2D{`0})">
+            <summary>
+            Copies the contents of this <see cref="T:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1"/> into a destination <see cref="T:CommunityToolkit.HighPerformance.Span2D`1"/> instance.
+            For this API to succeed, the target <see cref="T:CommunityToolkit.HighPerformance.Span2D`1"/> has to have the same shape as the current one.
+            </summary>
+            <param name="destination">The destination <see cref="T:CommunityToolkit.HighPerformance.Span2D`1"/> instance.</param>
+            <exception cref="T:System.ArgumentException">
+            Thrown when <paramref name="destination" /> does not have the same shape as the source <see cref="T:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1"/> instance.
+            </exception>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1.TryCopyTo(System.Span{`0})">
+            <summary>
+            Attempts to copy the current <see cref="T:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1"/> instance to a destination <see cref="T:System.Span`1"/>.
+            </summary>
+            <param name="destination">The target <see cref="T:System.Span`1"/> of the copy operation.</param>
+            <returns>Whether or not the operation was successful.</returns>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1.TryCopyTo(CommunityToolkit.HighPerformance.Span2D{`0})">
+            <summary>
+            Attempts to copy the current <see cref="T:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1"/> instance to a destination <see cref="T:CommunityToolkit.HighPerformance.Span2D`1"/>.
+            </summary>
+            <param name="destination">The target <see cref="T:CommunityToolkit.HighPerformance.Span2D`1"/> of the copy operation.</param>
+            <returns>Whether or not the operation was successful.</returns>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1.GetPinnableReference">
+            <summary>
+            Returns a reference to the 0th element of the <see cref="T:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1"/> instance. If the current
+            instance is empty, returns a <see langword="null"/> reference. It can be used for pinning
+            and is required to support the use of span within a fixed statement.
+            </summary>
+            <returns>A reference to the 0th element, or a <see langword="null"/> reference.</returns>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1.DangerousGetReference">
+            <summary>
+            Returns a reference to the first element within the current instance, with no bounds check.
+            </summary>
+            <returns>A reference to the first element within the current instance.</returns>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1.DangerousGetReferenceAt(System.Int32,System.Int32)">
+            <summary>
+            Returns a reference to a specified element within the current instance, with no bounds check.
+            </summary>
+            <param name="i">The target row to get the element from.</param>
+            <param name="j">The target column to get the element from.</param>
+            <returns>A reference to the element at the specified indices.</returns>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1.Slice(System.Int32,System.Int32,System.Int32,System.Int32)">
+            <summary>
+            Slices the current instance with the specified parameters.
+            </summary>
+            <param name="row">The target row to map within the current instance.</param>
+            <param name="column">The target column to map within the current instance.</param>
+            <param name="height">The height to map within the current instance.</param>
+            <param name="width">The width to map within the current instance.</param>
+            <exception cref="T:System.ArgumentOutOfRangeException">
+            Thrown when either <paramref name="height"/>, <paramref name="width"/> or <paramref name="height"/>
+            are negative or not within the bounds that are valid for the current instance.
+            </exception>
+            <returns>A new <see cref="T:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1"/> instance representing a slice of the current one.</returns>
+            <remarks>See additional remarks in the <see cref="M:CommunityToolkit.HighPerformance.Span2D`1.Slice(System.Int32,System.Int32,System.Int32,System.Int32)"/> docs.</remarks>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1.GetRowSpan(System.Int32)">
+            <summary>
+            Gets a <see cref="T:System.ReadOnlySpan`1"/> for a specified row.
+            </summary>
+            <param name="row">The index of the target row to retrieve.</param>
+            <exception cref="T:System.ArgumentOutOfRangeException">Throw when <paramref name="row"/> is out of range.</exception>
+            <returns>The resulting row <see cref="T:System.ReadOnlySpan`1"/>.</returns>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1.TryGetSpan(System.ReadOnlySpan{`0}@)">
+            <summary>
+            Tries to get a <see cref="T:System.ReadOnlySpan`1"/> instance, if the underlying buffer is contiguous and small enough.
+            </summary>
+            <param name="span">The resulting <see cref="T:System.ReadOnlySpan`1"/>, in case of success.</param>
+            <returns>Whether or not <paramref name="span"/> was correctly assigned.</returns>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1.ToArray">
+            <summary>
+            Copies the contents of the current <see cref="T:CommunityToolkit.HighPerformance.Span2D`1"/> instance into a new 2D array.
+            </summary>
+            <returns>A 2D array containing the data in the current <see cref="T:CommunityToolkit.HighPerformance.Span2D`1"/> instance.</returns>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1.Equals(System.Object)">
+            <inheritdoc cref="M:System.ReadOnlySpan`1.Equals(System.Object)"/>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1.GetHashCode">
+            <inheritdoc cref="M:System.ReadOnlySpan`1.GetHashCode"/>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1.ToString">
+            <inheritdoc/>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1.op_Equality(CommunityToolkit.HighPerformance.ReadOnlySpan2D{`0},CommunityToolkit.HighPerformance.ReadOnlySpan2D{`0})">
+            <summary>
+            Checks whether two <see cref="T:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1"/> instances are equal.
+            </summary>
+            <param name="left">The first <see cref="T:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1"/> instance to compare.</param>
+            <param name="right">The second <see cref="T:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1"/> instance to compare.</param>
+            <returns>Whether or not <paramref name="left"/> and <paramref name="right"/> are equal.</returns>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1.op_Inequality(CommunityToolkit.HighPerformance.ReadOnlySpan2D{`0},CommunityToolkit.HighPerformance.ReadOnlySpan2D{`0})">
+            <summary>
+            Checks whether two <see cref="T:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1"/> instances are not equal.
+            </summary>
+            <param name="left">The first <see cref="T:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1"/> instance to compare.</param>
+            <param name="right">The second <see cref="T:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1"/> instance to compare.</param>
+            <returns>Whether or not <paramref name="left"/> and <paramref name="right"/> are not equal.</returns>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1.op_Implicit(`0[0:,0:])~CommunityToolkit.HighPerformance.ReadOnlySpan2D{`0}">
+            <summary>
+            Implicitly converts a given 2D array into a <see cref="T:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1"/> instance.
+            </summary>
+            <param name="array">The input 2D array to convert.</param>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1.op_Implicit(CommunityToolkit.HighPerformance.Span2D{`0})~CommunityToolkit.HighPerformance.ReadOnlySpan2D{`0}">
+            <summary>
+            Implicitly converts a given <see cref="T:CommunityToolkit.HighPerformance.Span2D`1"/> into a <see cref="T:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1"/> instance.
+            </summary>
+            <param name="span">The input <see cref="T:CommunityToolkit.HighPerformance.Span2D`1"/> to convert.</param>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1.GetRow(System.Int32)">
+            <summary>
+            Gets an enumerable that traverses items in a specified row.
+            </summary>
+            <param name="row">The target row to enumerate within the current <see cref="T:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1"/> instance.</param>
+            <returns>A <see cref="T:CommunityToolkit.HighPerformance.Enumerables.ReadOnlyRefEnumerable`1"/> with target items to enumerate.</returns>
+            <remarks>The returned <see cref="T:CommunityToolkit.HighPerformance.Enumerables.ReadOnlyRefEnumerable`1"/> value shouldn't be used directly: use this extension in a <see langword="foreach"/> loop.</remarks>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1.GetColumn(System.Int32)">
+            <summary>
+            Gets an enumerable that traverses items in a specified column.
+            </summary>
+            <param name="column">The target column to enumerate within the current <see cref="T:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1"/> instance.</param>
+            <returns>A <see cref="T:CommunityToolkit.HighPerformance.Enumerables.ReadOnlyRefEnumerable`1"/> with target items to enumerate.</returns>
+            <remarks>The returned <see cref="T:CommunityToolkit.HighPerformance.Enumerables.ReadOnlyRefEnumerable`1"/> value shouldn't be used directly: use this extension in a <see langword="foreach"/> loop.</remarks>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1.GetEnumerator">
+            <summary>
+            Returns an enumerator for the current <see cref="T:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1"/> instance.
+            </summary>
+            <returns>
+            An enumerator that can be used to traverse the items in the current <see cref="T:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1"/> instance
+            </returns>
+        </member>
+        <member name="T:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1.Enumerator">
+            <summary>
+            Provides an enumerator for the elements of a <see cref="T:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1"/> instance.
+            </summary>
+        </member>
+        <member name="F:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1.Enumerator.span">
+            <summary>
+            The <see cref="T:System.ReadOnlySpan`1"/> instance pointing to the first item in the target memory area.
+            </summary>
+            <remarks>Just like in <see cref="T:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1"/>, the length is the height of the 2D region.</remarks>
+        </member>
+        <member name="F:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1.Enumerator.width">
+            <summary>
+            The width of the specified 2D region.
+            </summary>
+        </member>
+        <member name="F:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1.Enumerator.stride">
+            <summary>
+            The stride of the specified 2D region.
+            </summary>
+        </member>
+        <member name="F:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1.Enumerator.x">
+            <summary>
+            The current horizontal offset.
+            </summary>
+        </member>
+        <member name="F:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1.Enumerator.y">
+            <summary>
+            The current vertical offset.
+            </summary>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1.Enumerator.#ctor(CommunityToolkit.HighPerformance.ReadOnlySpan2D{`0})">
+            <summary>
+            Initializes a new instance of the <see cref="T:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1.Enumerator"/> struct.
+            </summary>
+            <param name="span">The target <see cref="T:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1"/> instance to enumerate.</param>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1.Enumerator.MoveNext">
+            <summary>
+            Implements the duck-typed <see cref="M:System.Collections.IEnumerator.MoveNext"/> method.
+            </summary>
+            <returns><see langword="true"/> whether a new element is available, <see langword="false"/> otherwise</returns>
+        </member>
+        <member name="P:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1.Enumerator.Current">
+            <summary>
+            Gets the duck-typed <see cref="P:System.Collections.Generic.IEnumerator`1.Current"/> property.
+            </summary>
+        </member>
+        <member name="T:CommunityToolkit.HighPerformance.Span2D`1">
+            <summary>
+            <see cref="T:CommunityToolkit.HighPerformance.Span2D`1"/> represents a 2D region of arbitrary memory. Like the <see cref="T:System.Span`1"/> type,
+            it can point to either managed or native memory, or to memory allocated on the stack. It is type- and memory-safe.
+            One key difference with <see cref="T:System.Span`1"/> and arrays is that the underlying buffer for a <see cref="T:CommunityToolkit.HighPerformance.Span2D`1"/>
+            instance might not be contiguous in memory: this is supported to enable mapping arbitrary 2D regions even if they
+            require padding between boundaries of sequential rows. All this logic is handled internally by the <see cref="T:CommunityToolkit.HighPerformance.Span2D`1"/>
+            type and it is transparent to the user, but note that working over discontiguous buffers has a performance impact.
+            </summary>
+            <typeparam name="T">The type of items in the current <see cref="T:CommunityToolkit.HighPerformance.Span2D`1"/> instance.</typeparam>
+            <inheritdoc/>
+        </member>
+        <member name="F:CommunityToolkit.HighPerformance.Span2D`1.span">
+            <summary>
+            The <see cref="T:System.Span`1"/> instance pointing to the first item in the target memory area.
+            </summary>
+            <remarks>
+            The <see cref="P:System.Span`1.Length"/> field maps to the height of the 2D region.
+            This is done to save 4 bytes in the layout of the <see cref="T:CommunityToolkit.HighPerformance.Span2D`1"/> type.
+            </remarks>
+        </member>
+        <member name="F:CommunityToolkit.HighPerformance.Span2D`1.width">
+            <summary>
+            The width of the specified 2D region.
+            </summary>
+        </member>
+        <member name="F:CommunityToolkit.HighPerformance.Span2D`1.Stride">
+            <summary>
+            The stride of the specified 2D region.
+            </summary>
+            <remarks>
+            This combines both the width and pitch in a single value so that the indexing
+            logic can be simplified (no need to recompute the sum every time) and be faster.
+            </remarks>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Span2D`1.#ctor(`0@,System.Int32,System.Int32,System.Int32)">
+            <summary>
+            Initializes a new instance of the <see cref="T:CommunityToolkit.HighPerformance.Span2D`1"/> struct with the specified parameters.
+            </summary>
+            <param name="value">The reference to the first <typeparamref name="T"/> item to map.</param>
+            <param name="height">The height of the 2D memory area to map.</param>
+            <param name="width">The width of the 2D memory area to map.</param>
+            <param name="pitch">The pitch of the 2D memory area to map (the distance between each row).</param>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Span2D`1.#ctor(System.Void*,System.Int32,System.Int32,System.Int32)">
+            <summary>
+            Initializes a new instance of the <see cref="T:CommunityToolkit.HighPerformance.Span2D`1"/> struct with the specified parameters.
+            </summary>
+            <param name="pointer">The pointer to the first <typeparamref name="T"/> item to map.</param>
+            <param name="height">The height of the 2D memory area to map.</param>
+            <param name="width">The width of the 2D memory area to map.</param>
+            <param name="pitch">The pitch of the 2D memory area to map (the distance between each row).</param>
+            <exception cref="T:System.ArgumentOutOfRangeException">Thrown when one of the parameters are negative.</exception>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Span2D`1.#ctor(`0[],System.Int32,System.Int32)">
+            <summary>
+            Initializes a new instance of the <see cref="T:CommunityToolkit.HighPerformance.Span2D`1"/> struct.
+            </summary>
+            <param name="array">The target array to wrap.</param>
+            <param name="height">The height of the resulting 2D area.</param>
+            <param name="width">The width of each row in the resulting 2D area.</param>
+            <exception cref="T:System.ArrayTypeMismatchException">
+            Thrown when <paramref name="array"/> doesn't match <typeparamref name="T"/>.
+            </exception>
+            <exception cref="T:System.ArgumentException">
+            Thrown when either <paramref name="height"/> or <paramref name="width"/> are invalid.
+            </exception>
+            <remarks>The total area must match the length of <paramref name="array"/>.</remarks>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Span2D`1.#ctor(`0[],System.Int32,System.Int32,System.Int32,System.Int32)">
+            <summary>
+            Initializes a new instance of the <see cref="T:CommunityToolkit.HighPerformance.Span2D`1"/> struct.
+            </summary>
+            <param name="array">The target array to wrap.</param>
+            <param name="offset">The initial offset within <paramref name="array"/>.</param>
+            <param name="height">The height of the resulting 2D area.</param>
+            <param name="width">The width of each row in the resulting 2D area.</param>
+            <param name="pitch">The pitch in the resulting 2D area.</param>
+            <exception cref="T:System.ArrayTypeMismatchException">
+            Thrown when <paramref name="array"/> doesn't match <typeparamref name="T"/>.
+            </exception>
+            <exception cref="T:System.ArgumentOutOfRangeException">
+            Thrown when one of the input parameters is out of range.
+            </exception>
+            <exception cref="T:System.ArgumentException">
+            Thrown when the requested area is outside of bounds for <paramref name="array"/>.
+            </exception>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Span2D`1.#ctor(`0[0:,0:])">
+            <summary>
+            Initializes a new instance of the <see cref="T:CommunityToolkit.HighPerformance.Span2D`1"/> struct wrapping a 2D array.
+            </summary>
+            <param name="array">The given 2D array to wrap.</param>
+            <exception cref="T:System.ArrayTypeMismatchException">
+            Thrown when <paramref name="array"/> doesn't match <typeparamref name="T"/>.
+            </exception>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Span2D`1.#ctor(`0[0:,0:],System.Int32,System.Int32,System.Int32,System.Int32)">
+            <summary>
+            Initializes a new instance of the <see cref="T:CommunityToolkit.HighPerformance.Span2D`1"/> struct wrapping a 2D array.
+            </summary>
+            <param name="array">The given 2D array to wrap.</param>
+            <param name="row">The target row to map within <paramref name="array"/>.</param>
+            <param name="column">The target column to map within <paramref name="array"/>.</param>
+            <param name="height">The height to map within <paramref name="array"/>.</param>
+            <param name="width">The width to map within <paramref name="array"/>.</param>
+            <exception cref="T:System.ArrayTypeMismatchException">
+            Thrown when <paramref name="array"/> doesn't match <typeparamref name="T"/>.
+            </exception>
+            <exception cref="T:System.ArgumentOutOfRangeException">
+            Thrown when either <paramref name="height"/>, <paramref name="width"/> or <paramref name="height"/>
+            are negative or not within the bounds that are valid for <paramref name="array"/>.
+            </exception>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Span2D`1.#ctor(`0[0:,0:,0:],System.Int32)">
+            <summary>
+            Initializes a new instance of the <see cref="T:CommunityToolkit.HighPerformance.Span2D`1"/> struct wrapping a layer in a 3D array.
+            </summary>
+            <param name="array">The given 3D array to wrap.</param>
+            <param name="depth">The target layer to map within <paramref name="array"/>.</param>
+            <exception cref="T:System.ArrayTypeMismatchException">
+            Thrown when <paramref name="array"/> doesn't match <typeparamref name="T"/>.
+            </exception>
+            <exception cref="T:System.ArgumentOutOfRangeException">Thrown when a parameter is invalid.</exception>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Span2D`1.#ctor(`0[0:,0:,0:],System.Int32,System.Int32,System.Int32,System.Int32,System.Int32)">
+            <summary>
+            Initializes a new instance of the <see cref="T:CommunityToolkit.HighPerformance.Span2D`1"/> struct wrapping a layer in a 3D array.
+            </summary>
+            <param name="array">The given 3D array to wrap.</param>
+            <param name="depth">The target layer to map within <paramref name="array"/>.</param>
+            <param name="row">The target row to map within <paramref name="array"/>.</param>
+            <param name="column">The target column to map within <paramref name="array"/>.</param>
+            <param name="height">The height to map within <paramref name="array"/>.</param>
+            <param name="width">The width to map within <paramref name="array"/>.</param>
+            <exception cref="T:System.ArrayTypeMismatchException">
+            Thrown when <paramref name="array"/> doesn't match <typeparamref name="T"/>.
+            </exception>
+            <exception cref="T:System.ArgumentOutOfRangeException">Thrown when a parameter is invalid.</exception>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Span2D`1.#ctor(System.Span{`0},System.Int32,System.Int32)">
+            <summary>
+            Initializes a new instance of the <see cref="T:CommunityToolkit.HighPerformance.Span2D`1"/> struct.
+            </summary>
+            <param name="span">The target <see cref="T:System.Span`1"/> to wrap.</param>
+            <param name="height">The height of the resulting 2D area.</param>
+            <param name="width">The width of each row in the resulting 2D area.</param>
+            <exception cref="T:System.ArgumentException">
+            Thrown when either <paramref name="height"/> or <paramref name="width"/> are invalid.
+            </exception>
+            <remarks>The total area must match the length of <paramref name="span"/>.</remarks>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Span2D`1.#ctor(System.Span{`0},System.Int32,System.Int32,System.Int32,System.Int32)">
+            <summary>
+            Initializes a new instance of the <see cref="T:CommunityToolkit.HighPerformance.Span2D`1"/> struct.
+            </summary>
+            <param name="span">The target <see cref="T:System.Span`1"/> to wrap.</param>
+            <param name="offset">The initial offset within <paramref name="span"/>.</param>
+            <param name="height">The height of the resulting 2D area.</param>
+            <param name="width">The width of each row in the resulting 2D area.</param>
+            <param name="pitch">The pitch in the resulting 2D area.</param>
+            <exception cref="T:System.ArgumentOutOfRangeException">
+            Thrown when one of the input parameters is out of range.
+            </exception>
+            <exception cref="T:System.ArgumentException">
+            Thrown when the requested area is outside of bounds for <paramref name="span"/>.
+            </exception>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Span2D`1.DangerousCreate(`0@,System.Int32,System.Int32,System.Int32)">
+            <summary>
+            Creates a new instance of the <see cref="T:CommunityToolkit.HighPerformance.Span2D`1"/> struct with the specified parameters.
+            </summary>
+            <param name="value">The reference to the first <typeparamref name="T"/> item to map.</param>
+            <param name="height">The height of the 2D memory area to map.</param>
+            <param name="width">The width of the 2D memory area to map.</param>
+            <param name="pitch">The pitch of the 2D memory area to map (the distance between each row).</param>
+            <returns>A <see cref="T:CommunityToolkit.HighPerformance.Span2D`1"/> instance with the specified parameters.</returns>
+            <exception cref="T:System.ArgumentOutOfRangeException">Thrown when one of the parameters are negative.</exception>
+        </member>
+        <member name="P:CommunityToolkit.HighPerformance.Span2D`1.Empty">
+            <summary>
+            Gets an empty <see cref="T:CommunityToolkit.HighPerformance.Span2D`1"/> instance.
+            </summary>
+        </member>
+        <member name="P:CommunityToolkit.HighPerformance.Span2D`1.IsEmpty">
+            <summary>
+            Gets a value indicating whether the current <see cref="T:CommunityToolkit.HighPerformance.Span2D`1"/> instance is empty.
+            </summary>
+        </member>
+        <member name="P:CommunityToolkit.HighPerformance.Span2D`1.Length">
+            <summary>
+            Gets the length of the current <see cref="T:CommunityToolkit.HighPerformance.Span2D`1"/> instance.
+            </summary>
+        </member>
+        <member name="P:CommunityToolkit.HighPerformance.Span2D`1.Height">
+            <summary>
+            Gets the height of the underlying 2D memory area.
+            </summary>
+        </member>
+        <member name="P:CommunityToolkit.HighPerformance.Span2D`1.Width">
+            <summary>
+            Gets the width of the underlying 2D memory area.
+            </summary>
+        </member>
+        <member name="P:CommunityToolkit.HighPerformance.Span2D`1.Item(System.Int32,System.Int32)">
+            <summary>
+            Gets the element at the specified zero-based indices.
+            </summary>
+            <param name="row">The target row to get the element from.</param>
+            <param name="column">The target column to get the element from.</param>
+            <returns>A reference to the element at the specified indices.</returns>
+            <exception cref="T:System.IndexOutOfRangeException">
+            Thrown when either <paramref name="row"/> or <paramref name="column"/> are invalid.
+            </exception>
+        </member>
+        <member name="P:CommunityToolkit.HighPerformance.Span2D`1.Item(System.Index,System.Index)">
+            <summary>
+            Gets the element at the specified zero-based indices.
+            </summary>
+            <param name="row">The target row to get the element from.</param>
+            <param name="column">The target column to get the element from.</param>
+            <returns>A reference to the element at the specified indices.</returns>
+            <exception cref="T:System.IndexOutOfRangeException">
+            Thrown when either <paramref name="row"/> or <paramref name="column"/> are invalid.
+            </exception>
+        </member>
+        <member name="P:CommunityToolkit.HighPerformance.Span2D`1.Item(System.Range,System.Range)">
+            <summary>
+            Slices the current instance with the specified parameters.
+            </summary>
+            <param name="rows">The target range of rows to select.</param>
+            <param name="columns">The target range of columns to select.</param>
+            <exception cref="T:System.ArgumentException">
+            Thrown when either <paramref name="rows"/> or <paramref name="columns"/> are invalid.
+            </exception>
+            <returns>A new <see cref="T:CommunityToolkit.HighPerformance.Span2D`1"/> instance representing a slice of the current one.</returns>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Span2D`1.Clear">
+            <summary>
+            Clears the contents of the current <see cref="T:CommunityToolkit.HighPerformance.Span2D`1"/> instance.
+            </summary>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Span2D`1.CopyTo(System.Span{`0})">
+            <summary>
+            Copies the contents of this <see cref="T:CommunityToolkit.HighPerformance.Span2D`1"/> into a destination <see cref="T:System.Span`1"/> instance.
+            </summary>
+            <param name="destination">The destination <see cref="T:System.Span`1"/> instance.</param>
+            <exception cref="T:System.ArgumentException">
+            Thrown when <paramref name="destination" /> is shorter than the source <see cref="T:CommunityToolkit.HighPerformance.Span2D`1"/> instance.
+            </exception>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Span2D`1.CopyTo(CommunityToolkit.HighPerformance.Span2D{`0})">
+            <summary>
+            Copies the contents of this <see cref="T:CommunityToolkit.HighPerformance.Span2D`1"/> into a destination <see cref="T:CommunityToolkit.HighPerformance.Span2D`1"/> instance.
+            For this API to succeed, the target <see cref="T:CommunityToolkit.HighPerformance.Span2D`1"/> has to have the same shape as the current one.
+            </summary>
+            <param name="destination">The destination <see cref="T:CommunityToolkit.HighPerformance.Span2D`1"/> instance.</param>
+            <exception cref="T:System.ArgumentException">
+            Thrown when <paramref name="destination" /> does not have the same shape as the source <see cref="T:CommunityToolkit.HighPerformance.Span2D`1"/> instance.
+            </exception>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Span2D`1.TryCopyTo(System.Span{`0})">
+            <summary>
+            Attempts to copy the current <see cref="T:CommunityToolkit.HighPerformance.Span2D`1"/> instance to a destination <see cref="T:System.Span`1"/>.
+            </summary>
+            <param name="destination">The target <see cref="T:System.Span`1"/> of the copy operation.</param>
+            <returns>Whether or not the operation was successful.</returns>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Span2D`1.TryCopyTo(CommunityToolkit.HighPerformance.Span2D{`0})">
+            <summary>
+            Attempts to copy the current <see cref="T:CommunityToolkit.HighPerformance.Span2D`1"/> instance to a destination <see cref="T:CommunityToolkit.HighPerformance.Span2D`1"/>.
+            </summary>
+            <param name="destination">The target <see cref="T:CommunityToolkit.HighPerformance.Span2D`1"/> of the copy operation.</param>
+            <returns>Whether or not the operation was successful.</returns>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Span2D`1.Fill(`0)">
+            <summary>
+            Fills the elements of this span with a specified value.
+            </summary>
+            <param name="value">The value to assign to each element of the <see cref="T:CommunityToolkit.HighPerformance.Span2D`1"/> instance.</param>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Span2D`1.GetPinnableReference">
+            <summary>
+            Returns a reference to the 0th element of the <see cref="T:CommunityToolkit.HighPerformance.Span2D`1"/> instance. If the current
+            instance is empty, returns a <see langword="null"/> reference. It can be used for pinning
+            and is required to support the use of span within a fixed statement.
+            </summary>
+            <returns>A reference to the 0th element, or a <see langword="null"/> reference.</returns>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Span2D`1.DangerousGetReference">
+            <summary>
+            Returns a reference to the first element within the current instance, with no bounds check.
+            </summary>
+            <returns>A reference to the first element within the current instance.</returns>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Span2D`1.DangerousGetReferenceAt(System.Int32,System.Int32)">
+            <summary>
+            Returns a reference to a specified element within the current instance, with no bounds check.
+            </summary>
+            <param name="i">The target row to get the element from.</param>
+            <param name="j">The target column to get the element from.</param>
+            <returns>A reference to the element at the specified indices.</returns>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Span2D`1.Slice(System.Int32,System.Int32,System.Int32,System.Int32)">
+            <summary>
+            Slices the current instance with the specified parameters.
+            </summary>
+            <param name="row">The target row to map within the current instance.</param>
+            <param name="column">The target column to map within the current instance.</param>
+            <param name="height">The height to map within the current instance.</param>
+            <param name="width">The width to map within the current instance.</param>
+            <exception cref="T:System.ArgumentOutOfRangeException">
+            Thrown when either <paramref name="height"/>, <paramref name="width"/> or <paramref name="height"/>
+            are negative or not within the bounds that are valid for the current instance.
+            </exception>
+            <returns>A new <see cref="T:CommunityToolkit.HighPerformance.Span2D`1"/> instance representing a slice of the current one.</returns>
+            <remarks>
+            <para>
+            Contrary to <see cref="M:System.Span`1.Slice(System.Int32,System.Int32)"/>, this method will throw an <see cref="T:System.ArgumentOutOfRangeException"/>
+            if attempting to perform a slice operation that would result in either axes being 0. That is, trying to call
+            <see cref="M:CommunityToolkit.HighPerformance.Span2D`1.Slice(System.Int32,System.Int32,System.Int32,System.Int32)"/> as eg. <c>Slice(row: 1, column: 0, height: 0, width: 2)</c> on an instance
+            that has 1 row and 2 columns will throw, rather than returning a new <see cref="T:CommunityToolkit.HighPerformance.Span2D`1"/> instance with 0 rows and
+            2 columns. For contrast, trying to eg. call <c>Slice(start: 1, length: 0)</c> on a <see cref="T:System.Span`1"/> instance of
+            length 1 would return a span of length 0, with the internal reference being set to right past the end of the memory.
+            </para>
+            <para>
+            This is by design, and it is due to the internal memory layout that <see cref="T:CommunityToolkit.HighPerformance.Span2D`1"/> has. That is, in the case
+            of <see cref="T:System.Span`1"/>, the only edge case scenario would be to obtain a new span of size 0, referencing the very end
+            of the backing object (eg. an array or a <see cref="T:System.String"/> instance). In that case, the GC can correctly track things.
+            With <see cref="T:CommunityToolkit.HighPerformance.Span2D`1"/>, on the other hand, it would be possible to slice an instance with a sizeof 0 in either axis,
+            but with the computed starting reference pointing well past the end of the internal memory area. Such a behavior would not
+            be valid if the reference was pointing to a managed object, and it would cause memory corruptions (ie. "GC holes").
+            </para>
+            <para>
+            If you specifically need to be able to obtain empty values from slicing past the valid range, consider performing the range
+            validation yourself (ie. through some helper method), and then only invoking <see cref="M:CommunityToolkit.HighPerformance.Span2D`1.Slice(System.Int32,System.Int32,System.Int32,System.Int32)"/> once the
+            parameters are in the accepted range. Otherwise, consider returning another return explicitly, such as <see cref="P:CommunityToolkit.HighPerformance.Span2D`1.Empty"/>.
+            </para>
+            </remarks>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Span2D`1.GetRowSpan(System.Int32)">
+            <summary>
+            Gets a <see cref="T:System.Span`1"/> for a specified row.
+            </summary>
+            <param name="row">The index of the target row to retrieve.</param>
+            <exception cref="T:System.ArgumentOutOfRangeException">Throw when <paramref name="row"/> is out of range.</exception>
+            <returns>The resulting row <see cref="T:System.Span`1"/>.</returns>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Span2D`1.TryGetSpan(System.Span{`0}@)">
+            <summary>
+            Tries to get a <see cref="T:System.Span`1"/> instance, if the underlying buffer is contiguous and small enough.
+            </summary>
+            <param name="span">The resulting <see cref="T:System.Span`1"/>, in case of success.</param>
+            <returns>Whether or not <paramref name="span"/> was correctly assigned.</returns>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Span2D`1.ToArray">
+            <summary>
+            Copies the contents of the current <see cref="T:CommunityToolkit.HighPerformance.Span2D`1"/> instance into a new 2D array.
+            </summary>
+            <returns>A 2D array containing the data in the current <see cref="T:CommunityToolkit.HighPerformance.Span2D`1"/> instance.</returns>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Span2D`1.Equals(System.Object)">
+            <inheritdoc cref="M:System.Span`1.Equals(System.Object)"/>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Span2D`1.GetHashCode">
+            <inheritdoc cref="M:System.Span`1.GetHashCode"/>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Span2D`1.ToString">
+            <inheritdoc/>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Span2D`1.op_Equality(CommunityToolkit.HighPerformance.Span2D{`0},CommunityToolkit.HighPerformance.Span2D{`0})">
+            <summary>
+            Checks whether two <see cref="T:CommunityToolkit.HighPerformance.Span2D`1"/> instances are equal.
+            </summary>
+            <param name="left">The first <see cref="T:CommunityToolkit.HighPerformance.Span2D`1"/> instance to compare.</param>
+            <param name="right">The second <see cref="T:CommunityToolkit.HighPerformance.Span2D`1"/> instance to compare.</param>
+            <returns>Whether or not <paramref name="left"/> and <paramref name="right"/> are equal.</returns>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Span2D`1.op_Inequality(CommunityToolkit.HighPerformance.Span2D{`0},CommunityToolkit.HighPerformance.Span2D{`0})">
+            <summary>
+            Checks whether two <see cref="T:CommunityToolkit.HighPerformance.Span2D`1"/> instances are not equal.
+            </summary>
+            <param name="left">The first <see cref="T:CommunityToolkit.HighPerformance.Span2D`1"/> instance to compare.</param>
+            <param name="right">The second <see cref="T:CommunityToolkit.HighPerformance.Span2D`1"/> instance to compare.</param>
+            <returns>Whether or not <paramref name="left"/> and <paramref name="right"/> are not equal.</returns>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Span2D`1.op_Implicit(`0[0:,0:])~CommunityToolkit.HighPerformance.Span2D{`0}">
+            <summary>
+            Implicitly converts a given 2D array into a <see cref="T:CommunityToolkit.HighPerformance.Span2D`1"/> instance.
+            </summary>
+            <param name="array">The input 2D array to convert.</param>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Span2D`1.GetRow(System.Int32)">
+            <summary>
+            Gets an enumerable that traverses items in a specified row.
+            </summary>
+            <param name="row">The target row to enumerate within the current <see cref="T:CommunityToolkit.HighPerformance.Span2D`1"/> instance.</param>
+            <returns>A <see cref="T:CommunityToolkit.HighPerformance.Enumerables.RefEnumerable`1"/> with target items to enumerate.</returns>
+            <remarks>The returned <see cref="T:CommunityToolkit.HighPerformance.Enumerables.RefEnumerable`1"/> value shouldn't be used directly: use this extension in a <see langword="foreach"/> loop.</remarks>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Span2D`1.GetColumn(System.Int32)">
+            <summary>
+            Gets an enumerable that traverses items in a specified column.
+            </summary>
+            <param name="column">The target column to enumerate within the current <see cref="T:CommunityToolkit.HighPerformance.Span2D`1"/> instance.</param>
+            <returns>A <see cref="T:CommunityToolkit.HighPerformance.Enumerables.RefEnumerable`1"/> with target items to enumerate.</returns>
+            <remarks>The returned <see cref="T:CommunityToolkit.HighPerformance.Enumerables.RefEnumerable`1"/> value shouldn't be used directly: use this extension in a <see langword="foreach"/> loop.</remarks>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Span2D`1.GetEnumerator">
+            <summary>
+            Returns an enumerator for the current <see cref="T:CommunityToolkit.HighPerformance.Span2D`1"/> instance.
+            </summary>
+            <returns>
+            An enumerator that can be used to traverse the items in the current <see cref="T:CommunityToolkit.HighPerformance.Span2D`1"/> instance
+            </returns>
+        </member>
+        <member name="T:CommunityToolkit.HighPerformance.Span2D`1.Enumerator">
+            <summary>
+            Provides an enumerator for the elements of a <see cref="T:CommunityToolkit.HighPerformance.Span2D`1"/> instance.
+            </summary>
+        </member>
+        <member name="F:CommunityToolkit.HighPerformance.Span2D`1.Enumerator.span">
+            <summary>
+            The <see cref="T:System.Span`1"/> instance pointing to the first item in the target memory area.
+            </summary>
+            <remarks>Just like in <see cref="T:CommunityToolkit.HighPerformance.Span2D`1"/>, the length is the height of the 2D region.</remarks>
+        </member>
+        <member name="F:CommunityToolkit.HighPerformance.Span2D`1.Enumerator.width">
+            <summary>
+            The width of the specified 2D region.
+            </summary>
+        </member>
+        <member name="F:CommunityToolkit.HighPerformance.Span2D`1.Enumerator.stride">
+            <summary>
+            The stride of the specified 2D region.
+            </summary>
+        </member>
+        <member name="F:CommunityToolkit.HighPerformance.Span2D`1.Enumerator.x">
+            <summary>
+            The current horizontal offset.
+            </summary>
+        </member>
+        <member name="F:CommunityToolkit.HighPerformance.Span2D`1.Enumerator.y">
+            <summary>
+            The current vertical offset.
+            </summary>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Span2D`1.Enumerator.#ctor(CommunityToolkit.HighPerformance.Span2D{`0})">
+            <summary>
+            Initializes a new instance of the <see cref="T:CommunityToolkit.HighPerformance.Span2D`1.Enumerator"/> struct.
+            </summary>
+            <param name="span">The target <see cref="T:CommunityToolkit.HighPerformance.Span2D`1"/> instance to enumerate.</param>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Span2D`1.Enumerator.MoveNext">
+            <summary>
+            Implements the duck-typed <see cref="M:System.Collections.IEnumerator.MoveNext"/> method.
+            </summary>
+            <returns><see langword="true"/> whether a new element is available, <see langword="false"/> otherwise</returns>
+        </member>
+        <member name="P:CommunityToolkit.HighPerformance.Span2D`1.Enumerator.Current">
+            <summary>
+            Gets the duck-typed <see cref="P:System.Collections.Generic.IEnumerator`1.Current"/> property.
+            </summary>
+        </member>
+        <member name="T:CommunityToolkit.HighPerformance.Streams.IBufferWriterStream`1">
+            <summary>
+            A <see cref="T:System.IO.Stream"/> implementation wrapping an <see cref="T:System.Buffers.IBufferWriter`1"/> instance.
+            </summary>
+            <typeparam name="TWriter">The type of buffer writer to use.</typeparam>
+            <inheritdoc/>
+        </member>
+        <member name="F:CommunityToolkit.HighPerformance.Streams.IBufferWriterStream`1.bufferWriter">
+            <summary>
+            The target <typeparamref name="TWriter"/> instance to use.
+            </summary>
+        </member>
+        <member name="F:CommunityToolkit.HighPerformance.Streams.IBufferWriterStream`1.disposed">
+            <summary>
+            Indicates whether or not the current instance has been disposed
+            </summary>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Streams.IBufferWriterStream`1.#ctor(`0)">
+            <summary>
+            Initializes a new instance of the <see cref="T:CommunityToolkit.HighPerformance.Streams.IBufferWriterStream`1"/> class.
+            </summary>
+            <param name="bufferWriter">The target <see cref="T:System.Buffers.IBufferWriter`1"/> instance to use.</param>
+        </member>
+        <member name="P:CommunityToolkit.HighPerformance.Streams.IBufferWriterStream`1.CanRead">
+            <inheritdoc/>
+        </member>
+        <member name="P:CommunityToolkit.HighPerformance.Streams.IBufferWriterStream`1.CanSeek">
+            <inheritdoc/>
+        </member>
+        <member name="P:CommunityToolkit.HighPerformance.Streams.IBufferWriterStream`1.CanWrite">
+            <inheritdoc/>
+        </member>
+        <member name="P:CommunityToolkit.HighPerformance.Streams.IBufferWriterStream`1.Length">
+            <inheritdoc/>
+        </member>
+        <member name="P:CommunityToolkit.HighPerformance.Streams.IBufferWriterStream`1.Position">
+            <inheritdoc/>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Streams.IBufferWriterStream`1.CopyToAsync(System.IO.Stream,System.Int32,System.Threading.CancellationToken)">
+            <inheritdoc/>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Streams.IBufferWriterStream`1.Flush">
+            <inheritdoc/>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Streams.IBufferWriterStream`1.FlushAsync(System.Threading.CancellationToken)">
+            <inheritdoc/>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Streams.IBufferWriterStream`1.ReadAsync(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken)">
+            <inheritdoc/>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Streams.IBufferWriterStream`1.WriteAsync(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken)">
+            <inheritdoc/>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Streams.IBufferWriterStream`1.Seek(System.Int64,System.IO.SeekOrigin)">
+            <inheritdoc/>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Streams.IBufferWriterStream`1.SetLength(System.Int64)">
+            <inheritdoc/>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Streams.IBufferWriterStream`1.Read(System.Byte[],System.Int32,System.Int32)">
+            <inheritdoc/>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Streams.IBufferWriterStream`1.ReadByte">
+            <inheritdoc/>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Streams.IBufferWriterStream`1.Write(System.Byte[],System.Int32,System.Int32)">
+            <inheritdoc/>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Streams.IBufferWriterStream`1.WriteByte(System.Byte)">
+            <inheritdoc/>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Streams.IBufferWriterStream`1.Dispose(System.Boolean)">
+            <inheritdoc/>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Streams.IBufferWriterStream`1.CopyTo(System.IO.Stream,System.Int32)">
+            <inheritdoc/>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Streams.IBufferWriterStream`1.ReadAsync(System.Memory{System.Byte},System.Threading.CancellationToken)">
+            <inheritdoc/>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Streams.IBufferWriterStream`1.WriteAsync(System.ReadOnlyMemory{System.Byte},System.Threading.CancellationToken)">
+            <inheritdoc/>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Streams.IBufferWriterStream`1.Read(System.Span{System.Byte})">
+            <inheritdoc/>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Streams.IBufferWriterStream`1.Write(System.ReadOnlySpan{System.Byte})">
+            <inheritdoc/>
+        </member>
+        <member name="T:CommunityToolkit.HighPerformance.Streams.IMemoryOwnerStream`1">
+            <summary>
+            A <see cref="T:System.IO.Stream"/> implementation wrapping an <see cref="T:System.Buffers.IMemoryOwner`1"/> of <see cref="T:System.Byte"/> instance.
+            </summary>
+            <typeparam name="TSource">The type of source to use for the underlying data.</typeparam>
+        </member>
+        <member name="F:CommunityToolkit.HighPerformance.Streams.IMemoryOwnerStream`1.disposable">
+            <summary>
+            The <see cref="T:System.IDisposable"/> instance currently in use.
+            </summary>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Streams.IMemoryOwnerStream`1.#ctor(`0,System.IDisposable)">
+            <summary>
+            Initializes a new instance of the <see cref="T:CommunityToolkit.HighPerformance.Streams.IMemoryOwnerStream`1"/> class.
+            </summary>
+            <param name="source">The input <typeparamref name="TSource"/> instance to use.</param>
+            <param name="disposable">The <see cref="T:System.IDisposable"/> instance currently in use.</param>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Streams.IMemoryOwnerStream`1.Dispose(System.Boolean)">
+            <inheritdoc/>
+        </member>
+        <member name="T:CommunityToolkit.HighPerformance.Streams.MemoryStream">
+            <summary>
+            A factory class to produce <see cref="T:CommunityToolkit.HighPerformance.Streams.MemoryStream`1"/> instances.
+            </summary>
+            <inheritdoc/>
+            <inheritdoc/>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Streams.MemoryStream.Create(System.ReadOnlyMemory{System.Byte},System.Boolean)">
+            <summary>
+            Creates a new <see cref="T:System.IO.Stream"/> from the input <see cref="T:System.ReadOnlyMemory`1"/> of <see cref="T:System.Byte"/> instance.
+            </summary>
+            <param name="memory">The input <see cref="T:System.ReadOnlyMemory`1"/> instance.</param>
+            <param name="isReadOnly">Indicates whether or not <paramref name="memory"/> can be written to.</param>
+            <returns>A <see cref="T:System.IO.Stream"/> wrapping the underlying data for <paramref name="memory"/>.</returns>
+            <exception cref="T:System.ArgumentException">Thrown when <paramref name="memory"/> has an invalid data store.</exception>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Streams.MemoryStream.Create(System.Buffers.IMemoryOwner{System.Byte})">
+            <summary>
+            Creates a new <see cref="T:System.IO.Stream"/> from the input <see cref="T:System.Buffers.IMemoryOwner`1"/> of <see cref="T:System.Byte"/> instance.
+            </summary>
+            <param name="memoryOwner">The input <see cref="T:System.Buffers.IMemoryOwner`1"/> instance.</param>
+            <returns>A <see cref="T:System.IO.Stream"/> wrapping the underlying data for <paramref name="memoryOwner"/>.</returns>
+            <exception cref="T:System.ArgumentException">Thrown when <paramref name="memoryOwner"/> has an invalid data store.</exception>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Streams.MemoryStream.ThrowNotSupportedExceptionForInvalidMemory">
+            <summary>
+            Throws a <see cref="T:System.ArgumentException"/> when a given <see cref="T:System.Memory`1"/>
+            or <see cref="T:System.Buffers.IMemoryOwner`1"/> instance has an unsupported backing store.
+            </summary>
+            <returns>Nothing, this method always throws.</returns>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Streams.MemoryStream.GetNotSupportedException">
+            <summary>
+            Gets a standard <see cref="T:System.NotSupportedException"/> instance for a stream.
+            </summary>
+            <returns>A <see cref="T:System.NotSupportedException"/> with the standard text.</returns>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Streams.MemoryStream.ThrowNotSupportedException">
+            <summary>
+            Throws a <see cref="T:System.NotSupportedException"/> when trying to perform a not supported operation.
+            </summary>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Streams.MemoryStream.ThrowArgumentExceptionForEndOfStreamOnWrite">
+            <summary>
+            Throws an <see cref="T:System.ArgumentException"/> when trying to write too many bytes to the target stream.
+            </summary>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Streams.MemoryStream.ThrowArgumentExceptionForSeekOrigin">
+            <summary>
+            Throws an <see cref="T:System.ArgumentException"/> when using an invalid seek mode.
+            </summary>
+            <returns>Nothing, as this method throws unconditionally.</returns>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Streams.MemoryStream.ThrowArgumentOutOfRangeExceptionForPosition">
+            <summary>
+            Throws an <see cref="T:System.ArgumentOutOfRangeException"/> when setting the <see cref="P:System.IO.Stream.Position"/> property.
+            </summary>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Streams.MemoryStream.ThrowArgumentNullExceptionForBuffer">
+            <summary>
+            Throws an <see cref="T:System.ArgumentNullException"/> when an input buffer is <see langword="null"/>.
+            </summary>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Streams.MemoryStream.ThrowArgumentOutOfRangeExceptionForOffset">
+            <summary>
+            Throws an <see cref="T:System.ArgumentOutOfRangeException"/> when the input count is negative.
+            </summary>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Streams.MemoryStream.ThrowArgumentOutOfRangeExceptionForCount">
+            <summary>
+            Throws an <see cref="T:System.ArgumentOutOfRangeException"/> when the input count is negative.
+            </summary>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Streams.MemoryStream.ThrowArgumentExceptionForLength">
+            <summary>
+            Throws an <see cref="T:System.ArgumentException"/> when the sum of offset and count exceeds the length of the target buffer.
+            </summary>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Streams.MemoryStream.ThrowObjectDisposedException">
+            <summary>
+            Throws an <see cref="T:System.ObjectDisposedException"/> when using a disposed <see cref="T:System.IO.Stream"/> instance.
+            </summary>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Streams.MemoryStream.ValidatePosition(System.Int64,System.Int32)">
+            <summary>
+            Validates the <see cref="P:System.IO.Stream.Position"/> argument (it needs to be in the [0, length]) range.
+            </summary>
+            <param name="position">The new <see cref="P:System.IO.Stream.Position"/> value being set.</param>
+            <param name="length">The maximum length of the target <see cref="T:System.IO.Stream"/>.</param>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Streams.MemoryStream.ValidateBuffer(System.Byte[],System.Int32,System.Int32)">
+            <summary>
+            Validates the <see cref="M:System.IO.Stream.Read(System.Byte[],System.Int32,System.Int32)"/> or <see cref="M:System.IO.Stream.Write(System.Byte[],System.Int32,System.Int32)"/> arguments.
+            </summary>
+            <param name="buffer">The target array.</param>
+            <param name="offset">The offset within <paramref name="buffer"/>.</param>
+            <param name="count">The number of elements to process within <paramref name="buffer"/>.</param>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Streams.MemoryStream.ValidateCanWrite(System.Boolean)">
+            <summary>
+            Validates the <see cref="P:CommunityToolkit.HighPerformance.Streams.MemoryStream`1.CanWrite"/> property.
+            </summary>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Streams.MemoryStream.ValidateDisposed(System.Boolean)">
+            <summary>
+            Validates that a given <see cref="T:System.IO.Stream"/> instance hasn't been disposed.
+            </summary>
+        </member>
+        <member name="T:CommunityToolkit.HighPerformance.Streams.MemoryStream`1">
+            <summary>
+            A <see cref="T:System.IO.Stream"/> implementation wrapping a <see cref="T:System.Memory`1"/> or <see cref="T:System.ReadOnlyMemory`1"/> instance.
+            </summary>
+            <typeparam name="TSource">The type of source to use for the underlying data.</typeparam>
+            <remarks>
+            This type is not marked as <see langword="sealed"/> so that it can be inherited by
+            <see cref="T:CommunityToolkit.HighPerformance.Streams.IMemoryOwnerStream`1"/>, which adds the <see cref="T:System.IDisposable"/> support for
+            the wrapped buffer. We're not worried about the performance penalty here caused by the JIT
+            not being able to resolve the <see langword="callvirt"/> instruction, as this type is
+            only exposed as a <see cref="T:System.IO.Stream"/> anyway, so the generated code would be the same.
+            </remarks>
+            <inheritdoc/>
+        </member>
+        <member name="F:CommunityToolkit.HighPerformance.Streams.MemoryStream`1.isReadOnly">
+            <summary>
+            Indicates whether <see cref="F:CommunityToolkit.HighPerformance.Streams.MemoryStream`1.source"/> can be written to.
+            </summary>
+        </member>
+        <member name="F:CommunityToolkit.HighPerformance.Streams.MemoryStream`1.source">
+            <summary>
+            The <typeparamref name="TSource"/> instance currently in use.
+            </summary>
+        </member>
+        <member name="F:CommunityToolkit.HighPerformance.Streams.MemoryStream`1.position">
+            <summary>
+            The current position within <see cref="F:CommunityToolkit.HighPerformance.Streams.MemoryStream`1.source"/>.
+            </summary>
+        </member>
+        <member name="F:CommunityToolkit.HighPerformance.Streams.MemoryStream`1.disposed">
+            <summary>
+            Indicates whether or not the current instance has been disposed
+            </summary>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Streams.MemoryStream`1.#ctor(`0,System.Boolean)">
+            <summary>
+            Initializes a new instance of the <see cref="T:CommunityToolkit.HighPerformance.Streams.MemoryStream`1"/> class.
+            </summary>
+            <param name="source">The input <typeparamref name="TSource"/> instance to use.</param>
+            <param name="isReadOnly">Indicates whether <paramref name="source"/> can be written to.</param>
+        </member>
+        <member name="P:CommunityToolkit.HighPerformance.Streams.MemoryStream`1.CanRead">
+            <inheritdoc/>
+        </member>
+        <member name="P:CommunityToolkit.HighPerformance.Streams.MemoryStream`1.CanSeek">
+            <inheritdoc/>
+        </member>
+        <member name="P:CommunityToolkit.HighPerformance.Streams.MemoryStream`1.CanWrite">
+            <inheritdoc/>
+        </member>
+        <member name="P:CommunityToolkit.HighPerformance.Streams.MemoryStream`1.Length">
+            <inheritdoc/>
+        </member>
+        <member name="P:CommunityToolkit.HighPerformance.Streams.MemoryStream`1.Position">
+            <inheritdoc/>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Streams.MemoryStream`1.CopyToAsync(System.IO.Stream,System.Int32,System.Threading.CancellationToken)">
+            <inheritdoc/>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Streams.MemoryStream`1.Flush">
+            <inheritdoc/>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Streams.MemoryStream`1.FlushAsync(System.Threading.CancellationToken)">
+            <inheritdoc/>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Streams.MemoryStream`1.ReadAsync(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken)">
+            <inheritdoc/>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Streams.MemoryStream`1.WriteAsync(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken)">
+            <inheritdoc/>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Streams.MemoryStream`1.Seek(System.Int64,System.IO.SeekOrigin)">
+            <inheritdoc/>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Streams.MemoryStream`1.SetLength(System.Int64)">
+            <inheritdoc/>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Streams.MemoryStream`1.Read(System.Byte[],System.Int32,System.Int32)">
+            <inheritdoc/>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Streams.MemoryStream`1.ReadByte">
+            <inheritdoc/>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Streams.MemoryStream`1.Write(System.Byte[],System.Int32,System.Int32)">
+            <inheritdoc/>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Streams.MemoryStream`1.WriteByte(System.Byte)">
+            <inheritdoc/>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Streams.MemoryStream`1.Dispose(System.Boolean)">
+            <inheritdoc/>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Streams.MemoryStream`1.CopyTo(System.IO.Stream,System.Int32)">
+            <inheritdoc/>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Streams.MemoryStream`1.ReadAsync(System.Memory{System.Byte},System.Threading.CancellationToken)">
+            <inheritdoc/>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Streams.MemoryStream`1.WriteAsync(System.ReadOnlyMemory{System.Byte},System.Threading.CancellationToken)">
+            <inheritdoc/>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Streams.MemoryStream`1.Read(System.Span{System.Byte})">
+            <inheritdoc/>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Streams.MemoryStream`1.Write(System.ReadOnlySpan{System.Byte})">
+            <inheritdoc/>
+        </member>
+        <member name="T:CommunityToolkit.HighPerformance.Streams.ArrayBufferWriterOwner">
+            <summary>
+            An <see cref="T:System.Buffers.IBufferWriter`1"/> implementation wrapping an <see cref="T:CommunityToolkit.HighPerformance.Buffers.ArrayPoolBufferWriter`1"/> instance.
+            </summary>
+        </member>
+        <member name="F:CommunityToolkit.HighPerformance.Streams.ArrayBufferWriterOwner.writer">
+            <summary>
+            The wrapped <see cref="T:CommunityToolkit.HighPerformance.Buffers.ArrayPoolBufferWriter`1"/> array.
+            </summary>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Streams.ArrayBufferWriterOwner.#ctor(CommunityToolkit.HighPerformance.Buffers.ArrayPoolBufferWriter{System.Byte})">
+            <summary>
+            Initializes a new instance of the <see cref="T:CommunityToolkit.HighPerformance.Streams.ArrayBufferWriterOwner"/> struct.
+            </summary>
+            <param name="writer">The wrapped <see cref="T:CommunityToolkit.HighPerformance.Buffers.ArrayPoolBufferWriter`1"/> instance.</param>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Streams.ArrayBufferWriterOwner.Advance(System.Int32)">
+            <inheritdoc/>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Streams.ArrayBufferWriterOwner.GetMemory(System.Int32)">
+            <inheritdoc/>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Streams.ArrayBufferWriterOwner.GetSpan(System.Int32)">
+            <inheritdoc/>
+        </member>
+        <member name="T:CommunityToolkit.HighPerformance.Streams.ArrayOwner">
+            <summary>
+            An <see cref="T:CommunityToolkit.HighPerformance.Streams.ISpanOwner"/> implementation wrapping an array.
+            </summary>
+        </member>
+        <member name="F:CommunityToolkit.HighPerformance.Streams.ArrayOwner.array">
+            <summary>
+            The wrapped <see cref="T:System.Byte"/> array.
+            </summary>
+        </member>
+        <member name="F:CommunityToolkit.HighPerformance.Streams.ArrayOwner.offset">
+            <summary>
+            The starting offset within <see cref="F:CommunityToolkit.HighPerformance.Streams.ArrayOwner.array"/>.
+            </summary>
+        </member>
+        <member name="F:CommunityToolkit.HighPerformance.Streams.ArrayOwner.length">
+            <summary>
+            The usable length within <see cref="F:CommunityToolkit.HighPerformance.Streams.ArrayOwner.array"/>.
+            </summary>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Streams.ArrayOwner.#ctor(System.Byte[],System.Int32,System.Int32)">
+            <summary>
+            Initializes a new instance of the <see cref="T:CommunityToolkit.HighPerformance.Streams.ArrayOwner"/> struct.
+            </summary>
+            <param name="array">The wrapped <see cref="T:System.Byte"/> array.</param>
+            <param name="offset">The starting offset within <paramref name="array"/>.</param>
+            <param name="length">The usable length within <paramref name="array"/>.</param>
+        </member>
+        <member name="P:CommunityToolkit.HighPerformance.Streams.ArrayOwner.Empty">
+            <summary>
+            Gets an empty <see cref="T:CommunityToolkit.HighPerformance.Streams.ArrayOwner"/> instance.
+            </summary>
+        </member>
+        <member name="P:CommunityToolkit.HighPerformance.Streams.ArrayOwner.Length">
+            <inheritdoc/>
+        </member>
+        <member name="P:CommunityToolkit.HighPerformance.Streams.ArrayOwner.Span">
+            <inheritdoc/>
+        </member>
+        <member name="P:CommunityToolkit.HighPerformance.Streams.ArrayOwner.Memory">
+            <inheritdoc/>
+        </member>
+        <member name="T:CommunityToolkit.HighPerformance.Streams.IBufferWriterOwner">
+            <summary>
+            An <see cref="T:System.Buffers.IBufferWriter`1"/> implementation wrapping an <see cref="T:System.Buffers.IBufferWriter`1"/> instance.
+            </summary>
+        </member>
+        <member name="F:CommunityToolkit.HighPerformance.Streams.IBufferWriterOwner.writer">
+            <summary>
+            The wrapped <see cref="T:CommunityToolkit.HighPerformance.Buffers.ArrayPoolBufferWriter`1"/> array.
+            </summary>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Streams.IBufferWriterOwner.#ctor(System.Buffers.IBufferWriter{System.Byte})">
+            <summary>
+            Initializes a new instance of the <see cref="T:CommunityToolkit.HighPerformance.Streams.IBufferWriterOwner"/> struct.
+            </summary>
+            <param name="writer">The wrapped <see cref="T:System.Buffers.IBufferWriter`1"/> instance.</param>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Streams.IBufferWriterOwner.Advance(System.Int32)">
+            <inheritdoc/>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Streams.IBufferWriterOwner.GetMemory(System.Int32)">
+            <inheritdoc/>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Streams.IBufferWriterOwner.GetSpan(System.Int32)">
+            <inheritdoc/>
+        </member>
+        <member name="T:CommunityToolkit.HighPerformance.Streams.ISpanOwner">
+            <summary>
+            An interface for types acting as sources for <see cref="T:System.Span`1"/> instances.
+            </summary>
+        </member>
+        <member name="P:CommunityToolkit.HighPerformance.Streams.ISpanOwner.Length">
+            <summary>
+            Gets the length of the underlying memory area.
+            </summary>
+        </member>
+        <member name="P:CommunityToolkit.HighPerformance.Streams.ISpanOwner.Span">
+            <summary>
+            Gets a <see cref="T:System.Span`1"/> instance wrapping the underlying memory area.
+            </summary>
+        </member>
+        <member name="P:CommunityToolkit.HighPerformance.Streams.ISpanOwner.Memory">
+            <summary>
+            Gets a <see cref="T:System.Memory`1"/> instance wrapping the underlying memory area.
+            </summary>
+        </member>
+        <member name="T:CommunityToolkit.HighPerformance.Streams.MemoryManagerOwner">
+            <summary>
+            An <see cref="T:CommunityToolkit.HighPerformance.Streams.ISpanOwner"/> implementation wrapping a <see cref="T:System.Buffers.MemoryManager`1"/> of <see cref="T:System.Byte"/> instance.
+            </summary>
+        </member>
+        <member name="F:CommunityToolkit.HighPerformance.Streams.MemoryManagerOwner.memoryManager">
+            <summary>
+            The wrapped <see cref="T:System.Buffers.MemoryManager`1"/> instance.
+            </summary>
+        </member>
+        <member name="F:CommunityToolkit.HighPerformance.Streams.MemoryManagerOwner.offset">
+            <summary>
+            The starting offset within <see cref="F:CommunityToolkit.HighPerformance.Streams.MemoryManagerOwner.memoryManager"/>.
+            </summary>
+        </member>
+        <member name="F:CommunityToolkit.HighPerformance.Streams.MemoryManagerOwner.length">
+            <summary>
+            The usable length within <see cref="F:CommunityToolkit.HighPerformance.Streams.MemoryManagerOwner.memoryManager"/>.
+            </summary>
+        </member>
+        <member name="M:CommunityToolkit.HighPerformance.Streams.MemoryManagerOwner.#ctor(System.Buffers.MemoryManager{System.Byte},System.Int32,System.Int32)">
+            <summary>
+            Initializes a new instance of the <see cref="T:CommunityToolkit.HighPerformance.Streams.MemoryManagerOwner"/> struct.
+            </summary>
+            <param name="memoryManager">The wrapped <see cref="T:System.Buffers.MemoryManager`1"/> instance.</param>
+            <param name="offset">The starting offset within <paramref name="memoryManager"/>.</param>
+            <param name="length">The usable length within <paramref name="memoryManager"/>.</param>
+        </member>
+        <member name="P:CommunityToolkit.HighPerformance.Streams.MemoryManagerOwner.Length">
+            <inheritdoc/>
+        </member>
+        <member name="P:CommunityToolkit.HighPerformance.Streams.MemoryManagerOwner.Span">
+            <inheritdoc/>
+        </member>
+        <member name="P:CommunityToolkit.HighPerformance.Streams.MemoryManagerOwner.Memory">
+            <inheritdoc/>
+        </member>
+        <member name="T:System.Runtime.CompilerServices.SkipLocalsInitAttribute">
+            <summary>
+            Used to indicate to the compiler that the <c>.locals init</c> flag should not be set in method headers.
+            </summary>
+        </member>
+    </members>
+</doc>

+ 7 - 0
Assets/DownLoadXR/Packages/CommunityToolkit.HighPerformance.8.2.2/lib/netstandard2.1/CommunityToolkit.HighPerformance.xml.meta

@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 2c12c396ac007e547849662a9e325690
+TextScriptImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 8 - 0
Assets/DownLoadXR/Packages/Microsoft.Bcl.AsyncInterfaces.7.0.0.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 8c9b0795fa5e6c44eb0f0ac5d64b9d8d
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

二進制
Assets/DownLoadXR/Packages/Microsoft.Bcl.AsyncInterfaces.7.0.0/.signature.p7s


二進制
Assets/DownLoadXR/Packages/Microsoft.Bcl.AsyncInterfaces.7.0.0/Icon.png


+ 135 - 0
Assets/DownLoadXR/Packages/Microsoft.Bcl.AsyncInterfaces.7.0.0/Icon.png.meta

@@ -0,0 +1,135 @@
+fileFormatVersion: 2
+guid: ac75e863ff06f55478fde18ebc4fa8eb
+TextureImporter:
+  internalIDToNameTable: []
+  externalObjects: {}
+  serializedVersion: 12
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 1
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  vTOnly: 0
+  ignoreMasterTextureLimit: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: 1
+    aniso: 1
+    mipBias: 0
+    wrapU: 0
+    wrapV: 0
+    wrapW: 0
+  nPOTScale: 1
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 0
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 0
+  spriteTessellationDetail: -1
+  textureType: 0
+  textureShape: 1
+  singleChannelComponent: 0
+  flipbookRows: 1
+  flipbookColumns: 1
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  ignorePngGamma: 0
+  applyGammaDecoding: 0
+  cookieLightType: 0
+  platformSettings:
+  - serializedVersion: 3
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  - serializedVersion: 3
+    buildTarget: Standalone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  - serializedVersion: 3
+    buildTarget: Server
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  - serializedVersion: 3
+    buildTarget: Android
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: 
+    internalID: 0
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+    secondaryTextures: []
+    nameFileIdTable: {}
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 23 - 0
Assets/DownLoadXR/Packages/Microsoft.Bcl.AsyncInterfaces.7.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.

+ 7 - 0
Assets/DownLoadXR/Packages/Microsoft.Bcl.AsyncInterfaces.7.0.0/LICENSE.TXT.meta

@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: fe3a8d9070b1ba5449460d12a77973b5
+TextScriptImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 31 - 0
Assets/DownLoadXR/Packages/Microsoft.Bcl.AsyncInterfaces.7.0.0/Microsoft.Bcl.AsyncInterfaces.nuspec

@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="utf-8"?>
+<package xmlns="http://schemas.microsoft.com/packaging/2013/05/nuspec.xsd">
+  <metadata>
+    <id>Microsoft.Bcl.AsyncInterfaces</id>
+    <version>7.0.0</version>
+    <authors>Microsoft</authors>
+    <license type="expression">MIT</license>
+    <licenseUrl>https://licenses.nuget.org/MIT</licenseUrl>
+    <icon>Icon.png</icon>
+    <projectUrl>https://dot.net/</projectUrl>
+    <description>Provides the IAsyncEnumerable&lt;T&gt; and IAsyncDisposable interfaces and helper types for .NET Standard 2.0. This package is not required starting with .NET Standard 2.1 and .NET Core 3.0.
+
+Commonly Used Types:
+System.IAsyncDisposable
+System.Collections.Generic.IAsyncEnumerable
+System.Collections.Generic.IAsyncEnumerator</description>
+    <releaseNotes>https://go.microsoft.com/fwlink/?LinkID=799421</releaseNotes>
+    <copyright>© Microsoft Corporation. All rights reserved.</copyright>
+    <serviceable>true</serviceable>
+    <repository type="git" url="https://github.com/dotnet/runtime" commit="d099f075e45d2aa6007a22b71b45a08758559f80" />
+    <dependencies>
+      <group targetFramework=".NETFramework4.6.2">
+        <dependency id="System.Threading.Tasks.Extensions" version="4.5.4" exclude="Build,Analyzers" />
+      </group>
+      <group targetFramework=".NETStandard2.0">
+        <dependency id="System.Threading.Tasks.Extensions" version="4.5.4" exclude="Build,Analyzers" />
+      </group>
+      <group targetFramework=".NETStandard2.1" />
+    </dependencies>
+  </metadata>
+</package>

+ 7 - 0
Assets/DownLoadXR/Packages/Microsoft.Bcl.AsyncInterfaces.7.0.0/Microsoft.Bcl.AsyncInterfaces.nuspec.meta

@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 381603debfc18ee469286777ca06c24a
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 1145 - 0
Assets/DownLoadXR/Packages/Microsoft.Bcl.AsyncInterfaces.7.0.0/THIRD-PARTY-NOTICES.TXT

@@ -0,0 +1,1145 @@
+.NET Runtime uses third-party libraries or other resources that may be
+distributed under licenses different than the .NET Runtime software.
+
+In the event that we accidentally failed to list a required notice, please
+bring it to our attention. Post an issue or email us:
+
+           dotnet@microsoft.com
+
+The attached notices are provided for information only.
+
+License notice for ASP.NET
+-------------------------------
+
+Copyright (c) .NET Foundation. All rights reserved.
+Licensed under the Apache License, Version 2.0.
+
+Available at
+https://github.com/dotnet/aspnetcore/blob/main/LICENSE.txt
+
+License notice for Slicing-by-8
+-------------------------------
+
+http://sourceforge.net/projects/slicing-by-8/
+
+Copyright (c) 2004-2006 Intel Corporation - All Rights Reserved
+
+
+This software program is licensed subject to the BSD License,  available at
+http://www.opensource.org/licenses/bsd-license.html.
+
+
+License notice for Unicode data
+-------------------------------
+
+https://www.unicode.org/license.html
+
+Copyright © 1991-2022 Unicode, Inc. All rights reserved.
+Distributed under the Terms of Use in https://www.unicode.org/copyright.html.
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of the Unicode data files and any associated documentation
+(the "Data Files") or Unicode software and any associated documentation
+(the "Software") to deal in the Data Files or Software
+without restriction, including without limitation the rights to use,
+copy, modify, merge, publish, distribute, and/or sell copies of
+the Data Files or Software, and to permit persons to whom the Data Files
+or Software are furnished to do so, provided that either
+(a) this copyright and permission notice appear with all copies
+of the Data Files or Software, or
+(b) this copyright and permission notice appear in associated
+Documentation.
+
+THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF
+ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
+WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+NONINFRINGEMENT OF THIRD PARTY RIGHTS.
+IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS
+NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL
+DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+PERFORMANCE OF THE DATA FILES OR SOFTWARE.
+
+Except as contained in this notice, the name of a copyright holder
+shall not be used in advertising or otherwise to promote the sale,
+use or other dealings in these Data Files or Software without prior
+written authorization of the copyright holder.
+
+License notice for Zlib
+-----------------------
+
+https://github.com/madler/zlib
+https://zlib.net/zlib_license.html
+
+/* zlib.h -- interface of the 'zlib' general purpose compression library
+  version 1.2.12, March 27th, 2022
+
+  Copyright (C) 1995-2022 Jean-loup Gailly and Mark Adler
+
+  This software is provided 'as-is', without any express or implied
+  warranty.  In no event will the authors be held liable for any damages
+  arising from the use of this software.
+
+  Permission is granted to anyone to use this software for any purpose,
+  including commercial applications, and to alter it and redistribute it
+  freely, subject to the following restrictions:
+
+  1. The origin of this software must not be misrepresented; you must not
+     claim that you wrote the original software. If you use this software
+     in a product, an acknowledgment in the product documentation would be
+     appreciated but is not required.
+  2. Altered source versions must be plainly marked as such, and must not be
+     misrepresented as being the original software.
+  3. This notice may not be removed or altered from any source distribution.
+
+  Jean-loup Gailly        Mark Adler
+  jloup@gzip.org          madler@alumni.caltech.edu
+
+*/
+
+License notice for Mono
+-------------------------------
+
+http://www.mono-project.com/docs/about-mono/
+
+Copyright (c) .NET Foundation Contributors
+
+MIT License
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software  and associated documentation files (the Software), to deal
+in the Software without restriction,  including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense,  and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so,  subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+License notice for International Organization for Standardization
+-----------------------------------------------------------------
+
+Portions (C) International Organization for Standardization 1986:
+     Permission to copy in any form is granted for use with
+     conforming SGML systems and applications as defined in
+     ISO 8879, provided this notice is included in all copies.
+
+License notice for Intel
+------------------------
+
+"Copyright (c) 2004-2006 Intel Corporation - All Rights Reserved
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+1. Redistributions of source code must retain the above copyright notice, this
+list of conditions and the following disclaimer.
+
+2. Redistributions in binary form must reproduce the above copyright notice,
+this list of conditions and the following disclaimer in the documentation
+and/or other materials provided with the distribution.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+License notice for Xamarin and Novell
+-------------------------------------
+
+Copyright (c) 2015 Xamarin, Inc (http://www.xamarin.com)
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
+
+Copyright (c) 2011 Novell, Inc (http://www.novell.com)
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
+
+Third party notice for W3C
+--------------------------
+
+"W3C SOFTWARE AND DOCUMENT NOTICE AND LICENSE
+Status: This license takes effect 13 May, 2015.
+This work is being provided by the copyright holders under the following license.
+License
+By obtaining and/or copying this work, you (the licensee) agree that you have read, understood, and will comply with the following terms and conditions.
+Permission to copy, modify, and distribute this work, with or without modification, for any purpose and without fee or royalty is hereby granted, provided that you include the following on ALL copies of the work or portions thereof, including modifications:
+The full text of this NOTICE in a location viewable to users of the redistributed or derivative work.
+Any pre-existing intellectual property disclaimers, notices, or terms and conditions. If none exist, the W3C Software and Document Short Notice should be included.
+Notice of any changes or modifications, through a copyright statement on the new code or document such as "This software or document includes material copied from or derived from [title and URI of the W3C document]. Copyright © [YEAR] W3C® (MIT, ERCIM, Keio, Beihang)."
+Disclaimers
+THIS WORK IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE OR DOCUMENT WILL NOT INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS.
+COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR DOCUMENT.
+The name and trademarks of copyright holders may NOT be used in advertising or publicity pertaining to the work without specific, written prior permission. Title to copyright in this work will at all times remain with copyright holders."
+
+License notice for Bit Twiddling Hacks
+--------------------------------------
+
+Bit Twiddling Hacks
+
+By Sean Eron Anderson
+seander@cs.stanford.edu
+
+Individually, the code snippets here are in the public domain (unless otherwise
+noted) — feel free to use them however you please. The aggregate collection and
+descriptions are © 1997-2005 Sean Eron Anderson. The code and descriptions are
+distributed in the hope that they will be useful, but WITHOUT ANY WARRANTY and
+without even the implied warranty of merchantability or fitness for a particular
+purpose.
+
+License notice for Brotli
+--------------------------------------
+
+Copyright (c) 2009, 2010, 2013-2016 by the Brotli Authors.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
+
+compress_fragment.c:
+Copyright (c) 2011, Google Inc.
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
+
+    * Redistributions of source code must retain the above copyright
+notice, this list of conditions and the following disclaimer.
+    * Redistributions in binary form must reproduce the above
+copyright notice, this list of conditions and the following disclaimer
+in the documentation and/or other materials provided with the
+distribution.
+    * Neither the name of Google Inc. nor the names of its
+contributors may be used to endorse or promote products derived from
+this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+""AS IS"" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+decode_fuzzer.c:
+Copyright (c) 2015 The Chromium Authors. All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
+
+   * Redistributions of source code must retain the above copyright
+notice, this list of conditions and the following disclaimer.
+   * Redistributions in binary form must reproduce the above
+copyright notice, this list of conditions and the following disclaimer
+in the documentation and/or other materials provided with the
+distribution.
+   * Neither the name of Google Inc. nor the names of its
+contributors may be used to endorse or promote products derived from
+this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+""AS IS"" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+
+License notice for Json.NET
+-------------------------------
+
+https://github.com/JamesNK/Newtonsoft.Json/blob/master/LICENSE.md
+
+The MIT License (MIT)
+
+Copyright (c) 2007 James Newton-King
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of
+this software and associated documentation files (the "Software"), to deal in
+the Software without restriction, including without limitation the rights to
+use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
+the Software, and to permit persons to whom the Software is furnished to do so,
+subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
+FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
+COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
+IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+License notice for vectorized base64 encoding / decoding
+--------------------------------------------------------
+
+Copyright (c) 2005-2007, Nick Galbreath
+Copyright (c) 2013-2017, Alfred Klomp
+Copyright (c) 2015-2017, Wojciech Mula
+Copyright (c) 2016-2017, Matthieu Darbois
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
+
+- Redistributions of source code must retain the above copyright notice,
+  this list of conditions and the following disclaimer.
+
+- Redistributions in binary form must reproduce the above copyright
+  notice, this list of conditions and the following disclaimer in the
+  documentation and/or other materials provided with the distribution.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
+IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
+PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
+TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+License notice for 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 xoshiro RNGs
+--------------------------------
+
+Written in 2018 by David Blackman and Sebastiano Vigna (vigna@acm.org)
+
+To the extent possible under law, the author has dedicated all copyright
+and related and neighboring rights to this software to the public domain
+worldwide. This software is distributed without any warranty.
+
+See <http://creativecommons.org/publicdomain/zero/1.0/>.
+
+License for fastmod (https://github.com/lemire/fastmod) and ibm-fpgen (https://github.com/nigeltao/parse-number-fxx-test-data)
+--------------------------------------
+
+   Copyright 2018 Daniel Lemire
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+License for sse4-strstr (https://github.com/WojciechMula/sse4-strstr)
+--------------------------------------
+
+   Copyright (c) 2008-2016, Wojciech Muła
+   All rights reserved.
+
+   Redistribution and use in source and binary forms, with or without
+   modification, are permitted provided that the following conditions are
+   met:
+
+   1. Redistributions of source code must retain the above copyright
+      notice, this list of conditions and the following disclaimer.
+
+   2. Redistributions in binary form must reproduce the above copyright
+      notice, this list of conditions and the following disclaimer in the
+      documentation and/or other materials provided with the distribution.
+
+   THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
+   IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+   TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
+   PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+   HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+   SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
+   TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+   PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+   LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+   NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+   SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+License notice for The C++ REST SDK
+-----------------------------------
+
+C++ REST SDK
+
+The MIT License (MIT)
+
+Copyright (c) Microsoft Corporation
+
+All rights reserved.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of
+this software and associated documentation files (the "Software"), to deal in
+the Software without restriction, including without limitation the rights to
+use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
+the Software, and to permit persons to whom the Software is furnished to do so,
+subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+
+License notice for MessagePack-CSharp
+-------------------------------------
+
+MessagePack for C#
+
+MIT License
+
+Copyright (c) 2017 Yoshifumi Kawai
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+
+License notice for lz4net
+-------------------------------------
+
+lz4net
+
+Copyright (c) 2013-2017, Milosz Krajewski
+
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
+
+Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
+
+Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+License notice for Nerdbank.Streams
+-----------------------------------
+
+The MIT License (MIT)
+
+Copyright (c) Andrew Arnott
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+
+License notice for RapidJSON
+----------------------------
+
+Tencent is pleased to support the open source community by making RapidJSON available.
+
+Copyright (C) 2015 THL A29 Limited, a Tencent company, and Milo Yip. All rights reserved.
+
+Licensed under the MIT License (the "License"); you may not use this file except
+in compliance with the License. You may obtain a copy of the License at
+
+http://opensource.org/licenses/MIT
+
+Unless required by applicable law or agreed to in writing, software distributed
+under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
+CONDITIONS OF ANY KIND, either express or implied. See the License for the
+specific language governing permissions and limitations under the License.
+
+License notice for DirectX Math Library
+---------------------------------------
+
+https://github.com/microsoft/DirectXMath/blob/master/LICENSE
+
+                               The MIT License (MIT)
+
+Copyright (c) 2011-2020 Microsoft Corp
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of this
+software and associated documentation files (the "Software"), to deal in the Software
+without restriction, including without limitation the rights to use, copy, modify,
+merge, publish, distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to the following
+conditions:
+
+The above copyright notice and this permission notice shall be included in all copies
+or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
+INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
+PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
+CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE
+OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+License notice for ldap4net
+---------------------------
+
+The MIT License (MIT)
+
+Copyright (c) 2018 Alexander Chermyanin
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+License notice for vectorized sorting code
+------------------------------------------
+
+MIT License
+
+Copyright (c) 2020 Dan Shechter
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+
+License notice for musl
+-----------------------
+
+musl as a whole is licensed under the following standard MIT license:
+
+Copyright © 2005-2020 Rich Felker, et al.
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
+CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+
+License notice for "Faster Unsigned Division by Constants"
+------------------------------
+
+Reference implementations of computing and using the "magic number" approach to dividing
+by constants, including codegen instructions. The unsigned division incorporates the
+"round down" optimization per ridiculous_fish.
+
+This is free and unencumbered software. Any copyright is dedicated to the Public Domain.
+
+
+License notice for mimalloc
+-----------------------------------
+
+MIT License
+
+Copyright (c) 2019 Microsoft Corporation, Daan Leijen
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+
+License for remote stack unwind (https://github.com/llvm/llvm-project/blob/main/lldb/source/Symbol/CompactUnwindInfo.cpp)
+--------------------------------------
+
+Copyright 2019 LLVM Project
+
+Licensed under the Apache License, Version 2.0 (the "License") with LLVM Exceptions;
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+https://llvm.org/LICENSE.txt
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+License notice for Apple header files
+-------------------------------------
+
+Copyright (c) 1980, 1986, 1993
+   The Regents of the University of California.  All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+1. Redistributions of source code must retain the above copyright
+   notice, this list of conditions and the following disclaimer.
+2. Redistributions in binary form must reproduce the above copyright
+   notice, this list of conditions and the following disclaimer in the
+   documentation and/or other materials provided with the distribution.
+3. All advertising materials mentioning features or use of this software
+   must display the following acknowledgement:
+   This product includes software developed by the University of
+   California, Berkeley and its contributors.
+4. Neither the name of the University nor the names of its contributors
+   may be used to endorse or promote products derived from this software
+   without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+SUCH DAMAGE.
+
+License notice for JavaScript queues
+-------------------------------------
+
+CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED HEREUNDER.
+
+Statement of Purpose
+The laws of most jurisdictions throughout the world automatically confer exclusive Copyright and Related Rights (defined below) upon the creator and subsequent owner(s) (each and all, an "owner") of an original work of authorship and/or a database (each, a "Work").
+Certain owners wish to permanently relinquish those rights to a Work for the purpose of contributing to a commons of creative, cultural and scientific works ("Commons") that the public can reliably and without fear of later claims of infringement build upon, modify, incorporate in other works, reuse and redistribute as freely as possible in any form whatsoever and for any purposes, including without limitation commercial purposes. These owners may contribute to the Commons to promote the ideal of a free culture and the further production of creative, cultural and scientific works, or to gain reputation or greater distribution for their Work in part through the use and efforts of others.
+For these and/or other purposes and motivations, and without any expectation of additional consideration or compensation, the person associating CC0 with a Work (the "Affirmer"), to the extent that he or she is an owner of Copyright and Related Rights in the Work, voluntarily elects to apply CC0 to the Work and publicly distribute the Work under its terms, with knowledge of his or her Copyright and Related Rights in the Work and the meaning and intended legal effect of CC0 on those rights.
+
+1. Copyright and Related Rights. A Work made available under CC0 may be protected by copyright and related or neighboring rights ("Copyright and Related Rights"). Copyright and Related Rights include, but are not limited to, the following:
+the right to reproduce, adapt, distribute, perform, display, communicate, and translate a Work;
+moral rights retained by the original author(s) and/or performer(s);
+publicity and privacy rights pertaining to a person's image or likeness depicted in a Work;
+rights protecting against unfair competition in regards to a Work, subject to the limitations in paragraph 4(a), below;
+rights protecting the extraction, dissemination, use and reuse of data in a Work;
+database rights (such as those arising under Directive 96/9/EC of the European Parliament and of the Council of 11 March 1996 on the legal protection of databases, and under any national implementation thereof, including any amended or successor version of such directive); and
+other similar, equivalent or corresponding rights throughout the world based on applicable law or treaty, and any national implementations thereof.
+2. Waiver. To the greatest extent permitted by, but not in contravention of, applicable law, Affirmer hereby overtly, fully, permanently, irrevocably and unconditionally waives, abandons, and surrenders all of Affirmer's Copyright and Related Rights and associated claims and causes of action, whether now known or unknown (including existing as well as future claims and causes of action), in the Work (i) in all territories worldwide, (ii) for the maximum duration provided by applicable law or treaty (including future time extensions), (iii) in any current or future medium and for any number of copies, and (iv) for any purpose whatsoever, including without limitation commercial, advertising or promotional purposes (the "Waiver"). Affirmer makes the Waiver for the benefit of each member of the public at large and to the detriment of Affirmer's heirs and successors, fully intending that such Waiver shall not be subject to revocation, rescission, cancellation, termination, or any other legal or equitable action to disrupt the quiet enjoyment of the Work by the public as contemplated by Affirmer's express Statement of Purpose.
+3. Public License Fallback. Should any part of the Waiver for any reason be judged legally invalid or ineffective under applicable law, then the Waiver shall be preserved to the maximum extent permitted taking into account Affirmer's express Statement of Purpose. In addition, to the extent the Waiver is so judged Affirmer hereby grants to each affected person a royalty-free, non transferable, non sublicensable, non exclusive, irrevocable and unconditional license to exercise Affirmer's Copyright and Related Rights in the Work (i) in all territories worldwide, (ii) for the maximum duration provided by applicable law or treaty (including future time extensions), (iii) in any current or future medium and for any number of copies, and (iv) for any purpose whatsoever, including without limitation commercial, advertising or promotional purposes (the "License"). The License shall be deemed effective as of the date CC0 was applied by Affirmer to the Work. Should any part of the License for any reason be judged legally invalid or ineffective under applicable law, such partial invalidity or ineffectiveness shall not invalidate the remainder of the License, and in such case Affirmer hereby affirms that he or she will not (i) exercise any of his or her remaining Copyright and Related Rights in the Work or (ii) assert any associated claims and causes of action with respect to the Work, in either case contrary to Affirmer's express Statement of Purpose.
+4. Limitations and Disclaimers.
+a. No trademark or patent rights held by Affirmer are waived, abandoned, surrendered, licensed or otherwise affected by this document.
+b. Affirmer offers the Work as-is and makes no representations or warranties of any kind concerning the Work, express, implied, statutory or otherwise, including without limitation warranties of title, merchantability, fitness for a particular purpose, non infringement, or the absence of latent or other defects, accuracy, or the present or absence of errors, whether or not discoverable, all to the greatest extent permissible under applicable law.
+c. Affirmer disclaims responsibility for clearing rights of other persons that may apply to the Work or any use thereof, including without limitation any person's Copyright and Related Rights in the Work. Further, Affirmer disclaims responsibility for obtaining any necessary consents, permissions or other rights required for any use of the Work.
+d. Affirmer understands and acknowledges that Creative Commons is not a party to this document and has no duty or obligation with respect to this CC0 or use of the Work.
+
+
+License notice for FastFloat algorithm
+-------------------------------------
+MIT License
+Copyright (c) 2021 csFastFloat authors
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+
+License notice for MsQuic
+--------------------------------------
+
+Copyright (c) Microsoft Corporation.
+Licensed under the MIT License.
+
+Available at
+https://github.com/microsoft/msquic/blob/main/LICENSE
+
+License notice for m-ou-se/floatconv
+-------------------------------
+
+Copyright (c) 2020 Mara Bos <m-ou.se@m-ou.se>
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+1. Redistributions of source code must retain the above copyright notice, this
+   list of conditions and the following disclaimer.
+2. Redistributions in binary form must reproduce the above copyright notice,
+   this list of conditions and the following disclaimer in the documentation
+   and/or other materials provided with the distribution.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+License notice for code from The Practice of Programming
+-------------------------------
+
+Copyright (C) 1999 Lucent Technologies
+
+Excerpted from 'The Practice of Programming
+by Brian W. Kernighan and Rob Pike
+
+You may use this code for any purpose, as long as you leave the copyright notice and book citation attached.
+
+Notice for Euclidean Affine Functions and Applications to Calendar
+Algorithms
+-------------------------------
+
+Aspects of Date/Time processing based on algorithm described in "Euclidean Affine Functions and Applications to Calendar
+Algorithms", Cassio Neri and Lorenz Schneider. https://arxiv.org/pdf/2102.06959.pdf
+
+License notice for amd/aocl-libm-ose
+-------------------------------
+
+Copyright (C) 2008-2020 Advanced Micro Devices, Inc. All rights reserved.
+
+Redistribution and use in source and binary forms, with or without modification,
+are permitted provided that the following conditions are met:
+1. Redistributions of source code must retain the above copyright notice,
+   this list of conditions and the following disclaimer.
+2. Redistributions in binary form must reproduce the above copyright notice,
+   this list of conditions and the following disclaimer in the documentation
+   and/or other materials provided with the distribution.
+3. Neither the name of the copyright holder nor the names of its contributors
+   may be used to endorse or promote products derived from this software without
+   specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
+OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGE.

+ 7 - 0
Assets/DownLoadXR/Packages/Microsoft.Bcl.AsyncInterfaces.7.0.0/THIRD-PARTY-NOTICES.TXT.meta

@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: ff2ef4c843eab0446ac75634951fbe2d
+TextScriptImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 8 - 0
Assets/DownLoadXR/Packages/Microsoft.Bcl.AsyncInterfaces.7.0.0/buildTransitive.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 96812056ab663d849a7cfaa3f9218e4e
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 8 - 0
Assets/DownLoadXR/Packages/Microsoft.Bcl.AsyncInterfaces.7.0.0/buildTransitive/net461.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 0d1832b01b608bc4faa2400b6f22290c
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 6 - 0
Assets/DownLoadXR/Packages/Microsoft.Bcl.AsyncInterfaces.7.0.0/buildTransitive/net461/Microsoft.Bcl.AsyncInterfaces.targets

@@ -0,0 +1,6 @@
+<Project InitialTargets="NETStandardCompatError_Microsoft_Bcl_AsyncInterfaces_net462">
+  <Target Name="NETStandardCompatError_Microsoft_Bcl_AsyncInterfaces_net462"
+          Condition="'$(SuppressTfmSupportBuildWarnings)' == ''">
+    <Warning Text="Microsoft.Bcl.AsyncInterfaces 7.0.0 doesn't support $(TargetFramework) and has not been tested with it. Consider upgrading your TargetFramework to net462 or later. You may also set &lt;SuppressTfmSupportBuildWarnings&gt;true&lt;/SuppressTfmSupportBuildWarnings&gt; in the project file to ignore this warning and attempt to run in this unsupported configuration at your own risk." />
+  </Target>
+</Project>

+ 7 - 0
Assets/DownLoadXR/Packages/Microsoft.Bcl.AsyncInterfaces.7.0.0/buildTransitive/net461/Microsoft.Bcl.AsyncInterfaces.targets.meta

@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: b4478d6f074c1a54397977b769649465
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 8 - 0
Assets/DownLoadXR/Packages/Microsoft.Bcl.AsyncInterfaces.7.0.0/buildTransitive/net462.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: d088975a42eca774092d27cc61331c25
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 0 - 0
Assets/DownLoadXR/Packages/Microsoft.Bcl.AsyncInterfaces.7.0.0/buildTransitive/net462/_._


+ 7 - 0
Assets/DownLoadXR/Packages/Microsoft.Bcl.AsyncInterfaces.7.0.0/buildTransitive/net462/_._.meta

@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: bd61799f98c851f4a8e17472bb5b380d
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 8 - 0
Assets/DownLoadXR/Packages/Microsoft.Bcl.AsyncInterfaces.7.0.0/lib.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 417d9e3c9e09a1b4d955afd395c58500
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 8 - 0
Assets/DownLoadXR/Packages/Microsoft.Bcl.AsyncInterfaces.7.0.0/lib/netstandard2.1.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 93126378ec799e949831f9f44fa6899f
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

二進制
Assets/DownLoadXR/Packages/Microsoft.Bcl.AsyncInterfaces.7.0.0/lib/netstandard2.1/Microsoft.Bcl.AsyncInterfaces.dll


+ 23 - 0
Assets/DownLoadXR/Packages/Microsoft.Bcl.AsyncInterfaces.7.0.0/lib/netstandard2.1/Microsoft.Bcl.AsyncInterfaces.dll.meta

@@ -0,0 +1,23 @@
+fileFormatVersion: 2
+guid: d21d73359c0c67643934482686d44d2c
+labels:
+- NuGetForUnity
+PluginImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  iconMap: {}
+  executionOrder: {}
+  defineConstraints: []
+  isPreloaded: 0
+  isOverridable: 0
+  isExplicitlyReferenced: 0
+  validateReferences: 1
+  platformData:
+  - first:
+      Any: 
+    second:
+      enabled: 1
+      settings: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 124 - 0
Assets/DownLoadXR/Packages/Microsoft.Bcl.AsyncInterfaces.7.0.0/lib/netstandard2.1/Microsoft.Bcl.AsyncInterfaces.xml

@@ -0,0 +1,124 @@
+<?xml version="1.0"?>
+<doc>
+    <assembly>
+        <name>Microsoft.Bcl.AsyncInterfaces</name>
+    </assembly>
+    <members>
+        <member name="T:System.Runtime.InteropServices.LibraryImportAttribute">
+            <summary>
+            Attribute used to indicate a source generator should create a function for marshalling
+            arguments instead of relying on the runtime to generate an equivalent marshalling function at run-time.
+            </summary>
+            <remarks>
+            This attribute is meaningless if the source generator associated with it is not enabled.
+            The current built-in source generator only supports C# and only supplies an implementation when
+            applied to static, partial, non-generic methods.
+            </remarks>
+        </member>
+        <member name="M:System.Runtime.InteropServices.LibraryImportAttribute.#ctor(System.String)">
+            <summary>
+            Initializes a new instance of the <see cref="T:System.Runtime.InteropServices.LibraryImportAttribute"/>.
+            </summary>
+            <param name="libraryName">Name of the library containing the import.</param>
+        </member>
+        <member name="P:System.Runtime.InteropServices.LibraryImportAttribute.LibraryName">
+            <summary>
+            Gets the name of the library containing the import.
+            </summary>
+        </member>
+        <member name="P:System.Runtime.InteropServices.LibraryImportAttribute.EntryPoint">
+            <summary>
+            Gets or sets the name of the entry point to be called.
+            </summary>
+        </member>
+        <member name="P:System.Runtime.InteropServices.LibraryImportAttribute.StringMarshalling">
+            <summary>
+            Gets or sets how to marshal string arguments to the method.
+            </summary>
+            <remarks>
+            If this field is set to a value other than <see cref="F:System.Runtime.InteropServices.StringMarshalling.Custom" />,
+            <see cref="P:System.Runtime.InteropServices.LibraryImportAttribute.StringMarshallingCustomType" /> must not be specified.
+            </remarks>
+        </member>
+        <member name="P:System.Runtime.InteropServices.LibraryImportAttribute.StringMarshallingCustomType">
+            <summary>
+            Gets or sets the <see cref="T:System.Type"/> used to control how string arguments to the method are marshalled.
+            </summary>
+            <remarks>
+            If this field is specified, <see cref="P:System.Runtime.InteropServices.LibraryImportAttribute.StringMarshalling" /> must not be specified
+            or must be set to <see cref="F:System.Runtime.InteropServices.StringMarshalling.Custom" />.
+            </remarks>
+        </member>
+        <member name="P:System.Runtime.InteropServices.LibraryImportAttribute.SetLastError">
+            <summary>
+            Gets or sets whether the callee sets an error (SetLastError on Windows or errno
+            on other platforms) before returning from the attributed method.
+            </summary>
+        </member>
+        <member name="T:System.Runtime.InteropServices.StringMarshalling">
+            <summary>
+            Specifies how strings should be marshalled for generated p/invokes
+            </summary>
+        </member>
+        <member name="F:System.Runtime.InteropServices.StringMarshalling.Custom">
+            <summary>
+            Indicates the user is suppling a specific marshaller in <see cref="P:System.Runtime.InteropServices.LibraryImportAttribute.StringMarshallingCustomType"/>.
+            </summary>
+        </member>
+        <member name="F:System.Runtime.InteropServices.StringMarshalling.Utf8">
+            <summary>
+            Use the platform-provided UTF-8 marshaller.
+            </summary>
+        </member>
+        <member name="F:System.Runtime.InteropServices.StringMarshalling.Utf16">
+            <summary>
+            Use the platform-provided UTF-16 marshaller.
+            </summary>
+        </member>
+        <member name="T:System.Diagnostics.CodeAnalysis.MemberNotNullAttribute">
+            <summary>Specifies that the method or property will ensure that the listed field and property members have not-null values.</summary>
+        </member>
+        <member name="M:System.Diagnostics.CodeAnalysis.MemberNotNullAttribute.#ctor(System.String)">
+            <summary>Initializes the attribute with a field or property member.</summary>
+            <param name="member">
+            The field or property member that is promised to be not-null.
+            </param>
+        </member>
+        <member name="M:System.Diagnostics.CodeAnalysis.MemberNotNullAttribute.#ctor(System.String[])">
+            <summary>Initializes the attribute with the list of field and property members.</summary>
+            <param name="members">
+            The list of field and property members that are promised to be not-null.
+            </param>
+        </member>
+        <member name="P:System.Diagnostics.CodeAnalysis.MemberNotNullAttribute.Members">
+            <summary>Gets field or property member names.</summary>
+        </member>
+        <member name="T:System.Diagnostics.CodeAnalysis.MemberNotNullWhenAttribute">
+            <summary>Specifies that the method or property will ensure that the listed field and property members have not-null values when returning with the specified return value condition.</summary>
+        </member>
+        <member name="M:System.Diagnostics.CodeAnalysis.MemberNotNullWhenAttribute.#ctor(System.Boolean,System.String)">
+            <summary>Initializes the attribute with the specified return value condition and a field or property member.</summary>
+            <param name="returnValue">
+            The return value condition. If the method returns this value, the associated parameter will not be null.
+            </param>
+            <param name="member">
+            The field or property member that is promised to be not-null.
+            </param>
+        </member>
+        <member name="M:System.Diagnostics.CodeAnalysis.MemberNotNullWhenAttribute.#ctor(System.Boolean,System.String[])">
+            <summary>Initializes the attribute with the specified return value condition and list of field and property members.</summary>
+            <param name="returnValue">
+            The return value condition. If the method returns this value, the associated parameter will not be null.
+            </param>
+            <param name="members">
+            The list of field and property members that are promised to be not-null.
+            </param>
+        </member>
+        <member name="P:System.Diagnostics.CodeAnalysis.MemberNotNullWhenAttribute.ReturnValue">
+            <summary>Gets the return value condition.</summary>
+        </member>
+        <member name="P:System.Diagnostics.CodeAnalysis.MemberNotNullWhenAttribute.Members">
+            <summary>Gets field or property member names.</summary>
+        </member>
+    </members>
+</doc>

+ 7 - 0
Assets/DownLoadXR/Packages/Microsoft.Bcl.AsyncInterfaces.7.0.0/lib/netstandard2.1/Microsoft.Bcl.AsyncInterfaces.xml.meta

@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 9da3d32a8dc123b45acec5860d3b75e2
+TextScriptImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 0 - 0
Assets/DownLoadXR/Packages/Microsoft.Bcl.AsyncInterfaces.7.0.0/useSharedDesignerContext.txt


+ 7 - 0
Assets/DownLoadXR/Packages/Microsoft.Bcl.AsyncInterfaces.7.0.0/useSharedDesignerContext.txt.meta

@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 28bbfa31e774754408518663ae7bc980
+TextScriptImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 8 - 0
Assets/DownLoadXR/Packages/Microsoft.Extensions.DependencyInjection.7.0.0.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 4feef890988a2c847b7e337b98051934
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

二進制
Assets/DownLoadXR/Packages/Microsoft.Extensions.DependencyInjection.7.0.0/.signature.p7s


二進制
Assets/DownLoadXR/Packages/Microsoft.Extensions.DependencyInjection.7.0.0/Icon.png


+ 135 - 0
Assets/DownLoadXR/Packages/Microsoft.Extensions.DependencyInjection.7.0.0/Icon.png.meta

@@ -0,0 +1,135 @@
+fileFormatVersion: 2
+guid: 2ee9e4fc169354042a9a4a91b8432149
+TextureImporter:
+  internalIDToNameTable: []
+  externalObjects: {}
+  serializedVersion: 12
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 1
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  vTOnly: 0
+  ignoreMasterTextureLimit: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: 1
+    aniso: 1
+    mipBias: 0
+    wrapU: 0
+    wrapV: 0
+    wrapW: 0
+  nPOTScale: 1
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 0
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 0
+  spriteTessellationDetail: -1
+  textureType: 0
+  textureShape: 1
+  singleChannelComponent: 0
+  flipbookRows: 1
+  flipbookColumns: 1
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  ignorePngGamma: 0
+  applyGammaDecoding: 0
+  cookieLightType: 0
+  platformSettings:
+  - serializedVersion: 3
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  - serializedVersion: 3
+    buildTarget: Standalone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  - serializedVersion: 3
+    buildTarget: Server
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  - serializedVersion: 3
+    buildTarget: Android
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: 
+    internalID: 0
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+    secondaryTextures: []
+    nameFileIdTable: {}
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 23 - 0
Assets/DownLoadXR/Packages/Microsoft.Extensions.DependencyInjection.7.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.

+ 7 - 0
Assets/DownLoadXR/Packages/Microsoft.Extensions.DependencyInjection.7.0.0/LICENSE.TXT.meta

@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: dbcc037380106594bbc6e3d0c0f09964
+TextScriptImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 38 - 0
Assets/DownLoadXR/Packages/Microsoft.Extensions.DependencyInjection.7.0.0/Microsoft.Extensions.DependencyInjection.nuspec

@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="utf-8"?>
+<package xmlns="http://schemas.microsoft.com/packaging/2013/05/nuspec.xsd">
+  <metadata>
+    <id>Microsoft.Extensions.DependencyInjection</id>
+    <version>7.0.0</version>
+    <authors>Microsoft</authors>
+    <license type="expression">MIT</license>
+    <licenseUrl>https://licenses.nuget.org/MIT</licenseUrl>
+    <icon>Icon.png</icon>
+    <projectUrl>https://dot.net/</projectUrl>
+    <description>Default implementation of dependency injection for Microsoft.Extensions.DependencyInjection.</description>
+    <releaseNotes>https://go.microsoft.com/fwlink/?LinkID=799421</releaseNotes>
+    <copyright>© Microsoft Corporation. All rights reserved.</copyright>
+    <serviceable>true</serviceable>
+    <repository type="git" url="https://github.com/dotnet/runtime" commit="d099f075e45d2aa6007a22b71b45a08758559f80" />
+    <dependencies>
+      <group targetFramework=".NETFramework4.6.2">
+        <dependency id="Microsoft.Bcl.AsyncInterfaces" version="7.0.0" exclude="Build,Analyzers" />
+        <dependency id="Microsoft.Extensions.DependencyInjection.Abstractions" version="7.0.0" exclude="Build,Analyzers" />
+        <dependency id="System.Threading.Tasks.Extensions" version="4.5.4" exclude="Build,Analyzers" />
+      </group>
+      <group targetFramework="net6.0">
+        <dependency id="Microsoft.Extensions.DependencyInjection.Abstractions" version="7.0.0" exclude="Build,Analyzers" />
+      </group>
+      <group targetFramework="net7.0">
+        <dependency id="Microsoft.Extensions.DependencyInjection.Abstractions" version="7.0.0" exclude="Build,Analyzers" />
+      </group>
+      <group targetFramework=".NETStandard2.0">
+        <dependency id="Microsoft.Bcl.AsyncInterfaces" version="7.0.0" exclude="Build,Analyzers" />
+        <dependency id="Microsoft.Extensions.DependencyInjection.Abstractions" version="7.0.0" exclude="Build,Analyzers" />
+        <dependency id="System.Threading.Tasks.Extensions" version="4.5.4" exclude="Build,Analyzers" />
+      </group>
+      <group targetFramework=".NETStandard2.1">
+        <dependency id="Microsoft.Extensions.DependencyInjection.Abstractions" version="7.0.0" exclude="Build,Analyzers" />
+      </group>
+    </dependencies>
+  </metadata>
+</package>

+ 7 - 0
Assets/DownLoadXR/Packages/Microsoft.Extensions.DependencyInjection.7.0.0/Microsoft.Extensions.DependencyInjection.nuspec.meta

@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 9076ec738dcd5074ab426a36e5de1600
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 1145 - 0
Assets/DownLoadXR/Packages/Microsoft.Extensions.DependencyInjection.7.0.0/THIRD-PARTY-NOTICES.TXT

@@ -0,0 +1,1145 @@
+.NET Runtime uses third-party libraries or other resources that may be
+distributed under licenses different than the .NET Runtime software.
+
+In the event that we accidentally failed to list a required notice, please
+bring it to our attention. Post an issue or email us:
+
+           dotnet@microsoft.com
+
+The attached notices are provided for information only.
+
+License notice for ASP.NET
+-------------------------------
+
+Copyright (c) .NET Foundation. All rights reserved.
+Licensed under the Apache License, Version 2.0.
+
+Available at
+https://github.com/dotnet/aspnetcore/blob/main/LICENSE.txt
+
+License notice for Slicing-by-8
+-------------------------------
+
+http://sourceforge.net/projects/slicing-by-8/
+
+Copyright (c) 2004-2006 Intel Corporation - All Rights Reserved
+
+
+This software program is licensed subject to the BSD License,  available at
+http://www.opensource.org/licenses/bsd-license.html.
+
+
+License notice for Unicode data
+-------------------------------
+
+https://www.unicode.org/license.html
+
+Copyright © 1991-2022 Unicode, Inc. All rights reserved.
+Distributed under the Terms of Use in https://www.unicode.org/copyright.html.
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of the Unicode data files and any associated documentation
+(the "Data Files") or Unicode software and any associated documentation
+(the "Software") to deal in the Data Files or Software
+without restriction, including without limitation the rights to use,
+copy, modify, merge, publish, distribute, and/or sell copies of
+the Data Files or Software, and to permit persons to whom the Data Files
+or Software are furnished to do so, provided that either
+(a) this copyright and permission notice appear with all copies
+of the Data Files or Software, or
+(b) this copyright and permission notice appear in associated
+Documentation.
+
+THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF
+ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
+WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+NONINFRINGEMENT OF THIRD PARTY RIGHTS.
+IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS
+NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL
+DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+PERFORMANCE OF THE DATA FILES OR SOFTWARE.
+
+Except as contained in this notice, the name of a copyright holder
+shall not be used in advertising or otherwise to promote the sale,
+use or other dealings in these Data Files or Software without prior
+written authorization of the copyright holder.
+
+License notice for Zlib
+-----------------------
+
+https://github.com/madler/zlib
+https://zlib.net/zlib_license.html
+
+/* zlib.h -- interface of the 'zlib' general purpose compression library
+  version 1.2.12, March 27th, 2022
+
+  Copyright (C) 1995-2022 Jean-loup Gailly and Mark Adler
+
+  This software is provided 'as-is', without any express or implied
+  warranty.  In no event will the authors be held liable for any damages
+  arising from the use of this software.
+
+  Permission is granted to anyone to use this software for any purpose,
+  including commercial applications, and to alter it and redistribute it
+  freely, subject to the following restrictions:
+
+  1. The origin of this software must not be misrepresented; you must not
+     claim that you wrote the original software. If you use this software
+     in a product, an acknowledgment in the product documentation would be
+     appreciated but is not required.
+  2. Altered source versions must be plainly marked as such, and must not be
+     misrepresented as being the original software.
+  3. This notice may not be removed or altered from any source distribution.
+
+  Jean-loup Gailly        Mark Adler
+  jloup@gzip.org          madler@alumni.caltech.edu
+
+*/
+
+License notice for Mono
+-------------------------------
+
+http://www.mono-project.com/docs/about-mono/
+
+Copyright (c) .NET Foundation Contributors
+
+MIT License
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software  and associated documentation files (the Software), to deal
+in the Software without restriction,  including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense,  and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so,  subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+License notice for International Organization for Standardization
+-----------------------------------------------------------------
+
+Portions (C) International Organization for Standardization 1986:
+     Permission to copy in any form is granted for use with
+     conforming SGML systems and applications as defined in
+     ISO 8879, provided this notice is included in all copies.
+
+License notice for Intel
+------------------------
+
+"Copyright (c) 2004-2006 Intel Corporation - All Rights Reserved
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+1. Redistributions of source code must retain the above copyright notice, this
+list of conditions and the following disclaimer.
+
+2. Redistributions in binary form must reproduce the above copyright notice,
+this list of conditions and the following disclaimer in the documentation
+and/or other materials provided with the distribution.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+License notice for Xamarin and Novell
+-------------------------------------
+
+Copyright (c) 2015 Xamarin, Inc (http://www.xamarin.com)
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
+
+Copyright (c) 2011 Novell, Inc (http://www.novell.com)
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
+
+Third party notice for W3C
+--------------------------
+
+"W3C SOFTWARE AND DOCUMENT NOTICE AND LICENSE
+Status: This license takes effect 13 May, 2015.
+This work is being provided by the copyright holders under the following license.
+License
+By obtaining and/or copying this work, you (the licensee) agree that you have read, understood, and will comply with the following terms and conditions.
+Permission to copy, modify, and distribute this work, with or without modification, for any purpose and without fee or royalty is hereby granted, provided that you include the following on ALL copies of the work or portions thereof, including modifications:
+The full text of this NOTICE in a location viewable to users of the redistributed or derivative work.
+Any pre-existing intellectual property disclaimers, notices, or terms and conditions. If none exist, the W3C Software and Document Short Notice should be included.
+Notice of any changes or modifications, through a copyright statement on the new code or document such as "This software or document includes material copied from or derived from [title and URI of the W3C document]. Copyright © [YEAR] W3C® (MIT, ERCIM, Keio, Beihang)."
+Disclaimers
+THIS WORK IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE OR DOCUMENT WILL NOT INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS.
+COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR DOCUMENT.
+The name and trademarks of copyright holders may NOT be used in advertising or publicity pertaining to the work without specific, written prior permission. Title to copyright in this work will at all times remain with copyright holders."
+
+License notice for Bit Twiddling Hacks
+--------------------------------------
+
+Bit Twiddling Hacks
+
+By Sean Eron Anderson
+seander@cs.stanford.edu
+
+Individually, the code snippets here are in the public domain (unless otherwise
+noted) — feel free to use them however you please. The aggregate collection and
+descriptions are © 1997-2005 Sean Eron Anderson. The code and descriptions are
+distributed in the hope that they will be useful, but WITHOUT ANY WARRANTY and
+without even the implied warranty of merchantability or fitness for a particular
+purpose.
+
+License notice for Brotli
+--------------------------------------
+
+Copyright (c) 2009, 2010, 2013-2016 by the Brotli Authors.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
+
+compress_fragment.c:
+Copyright (c) 2011, Google Inc.
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
+
+    * Redistributions of source code must retain the above copyright
+notice, this list of conditions and the following disclaimer.
+    * Redistributions in binary form must reproduce the above
+copyright notice, this list of conditions and the following disclaimer
+in the documentation and/or other materials provided with the
+distribution.
+    * Neither the name of Google Inc. nor the names of its
+contributors may be used to endorse or promote products derived from
+this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+""AS IS"" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+decode_fuzzer.c:
+Copyright (c) 2015 The Chromium Authors. All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
+
+   * Redistributions of source code must retain the above copyright
+notice, this list of conditions and the following disclaimer.
+   * Redistributions in binary form must reproduce the above
+copyright notice, this list of conditions and the following disclaimer
+in the documentation and/or other materials provided with the
+distribution.
+   * Neither the name of Google Inc. nor the names of its
+contributors may be used to endorse or promote products derived from
+this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+""AS IS"" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+
+License notice for Json.NET
+-------------------------------
+
+https://github.com/JamesNK/Newtonsoft.Json/blob/master/LICENSE.md
+
+The MIT License (MIT)
+
+Copyright (c) 2007 James Newton-King
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of
+this software and associated documentation files (the "Software"), to deal in
+the Software without restriction, including without limitation the rights to
+use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
+the Software, and to permit persons to whom the Software is furnished to do so,
+subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
+FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
+COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
+IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+License notice for vectorized base64 encoding / decoding
+--------------------------------------------------------
+
+Copyright (c) 2005-2007, Nick Galbreath
+Copyright (c) 2013-2017, Alfred Klomp
+Copyright (c) 2015-2017, Wojciech Mula
+Copyright (c) 2016-2017, Matthieu Darbois
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
+
+- Redistributions of source code must retain the above copyright notice,
+  this list of conditions and the following disclaimer.
+
+- Redistributions in binary form must reproduce the above copyright
+  notice, this list of conditions and the following disclaimer in the
+  documentation and/or other materials provided with the distribution.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
+IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
+PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
+TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+License notice for 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 xoshiro RNGs
+--------------------------------
+
+Written in 2018 by David Blackman and Sebastiano Vigna (vigna@acm.org)
+
+To the extent possible under law, the author has dedicated all copyright
+and related and neighboring rights to this software to the public domain
+worldwide. This software is distributed without any warranty.
+
+See <http://creativecommons.org/publicdomain/zero/1.0/>.
+
+License for fastmod (https://github.com/lemire/fastmod) and ibm-fpgen (https://github.com/nigeltao/parse-number-fxx-test-data)
+--------------------------------------
+
+   Copyright 2018 Daniel Lemire
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+License for sse4-strstr (https://github.com/WojciechMula/sse4-strstr)
+--------------------------------------
+
+   Copyright (c) 2008-2016, Wojciech Muła
+   All rights reserved.
+
+   Redistribution and use in source and binary forms, with or without
+   modification, are permitted provided that the following conditions are
+   met:
+
+   1. Redistributions of source code must retain the above copyright
+      notice, this list of conditions and the following disclaimer.
+
+   2. Redistributions in binary form must reproduce the above copyright
+      notice, this list of conditions and the following disclaimer in the
+      documentation and/or other materials provided with the distribution.
+
+   THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
+   IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+   TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
+   PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+   HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+   SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
+   TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+   PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+   LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+   NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+   SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+License notice for The C++ REST SDK
+-----------------------------------
+
+C++ REST SDK
+
+The MIT License (MIT)
+
+Copyright (c) Microsoft Corporation
+
+All rights reserved.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of
+this software and associated documentation files (the "Software"), to deal in
+the Software without restriction, including without limitation the rights to
+use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
+the Software, and to permit persons to whom the Software is furnished to do so,
+subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+
+License notice for MessagePack-CSharp
+-------------------------------------
+
+MessagePack for C#
+
+MIT License
+
+Copyright (c) 2017 Yoshifumi Kawai
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+
+License notice for lz4net
+-------------------------------------
+
+lz4net
+
+Copyright (c) 2013-2017, Milosz Krajewski
+
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
+
+Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
+
+Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+License notice for Nerdbank.Streams
+-----------------------------------
+
+The MIT License (MIT)
+
+Copyright (c) Andrew Arnott
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+
+License notice for RapidJSON
+----------------------------
+
+Tencent is pleased to support the open source community by making RapidJSON available.
+
+Copyright (C) 2015 THL A29 Limited, a Tencent company, and Milo Yip. All rights reserved.
+
+Licensed under the MIT License (the "License"); you may not use this file except
+in compliance with the License. You may obtain a copy of the License at
+
+http://opensource.org/licenses/MIT
+
+Unless required by applicable law or agreed to in writing, software distributed
+under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
+CONDITIONS OF ANY KIND, either express or implied. See the License for the
+specific language governing permissions and limitations under the License.
+
+License notice for DirectX Math Library
+---------------------------------------
+
+https://github.com/microsoft/DirectXMath/blob/master/LICENSE
+
+                               The MIT License (MIT)
+
+Copyright (c) 2011-2020 Microsoft Corp
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of this
+software and associated documentation files (the "Software"), to deal in the Software
+without restriction, including without limitation the rights to use, copy, modify,
+merge, publish, distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to the following
+conditions:
+
+The above copyright notice and this permission notice shall be included in all copies
+or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
+INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
+PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
+CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE
+OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+License notice for ldap4net
+---------------------------
+
+The MIT License (MIT)
+
+Copyright (c) 2018 Alexander Chermyanin
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+License notice for vectorized sorting code
+------------------------------------------
+
+MIT License
+
+Copyright (c) 2020 Dan Shechter
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+
+License notice for musl
+-----------------------
+
+musl as a whole is licensed under the following standard MIT license:
+
+Copyright © 2005-2020 Rich Felker, et al.
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
+CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+
+License notice for "Faster Unsigned Division by Constants"
+------------------------------
+
+Reference implementations of computing and using the "magic number" approach to dividing
+by constants, including codegen instructions. The unsigned division incorporates the
+"round down" optimization per ridiculous_fish.
+
+This is free and unencumbered software. Any copyright is dedicated to the Public Domain.
+
+
+License notice for mimalloc
+-----------------------------------
+
+MIT License
+
+Copyright (c) 2019 Microsoft Corporation, Daan Leijen
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+
+License for remote stack unwind (https://github.com/llvm/llvm-project/blob/main/lldb/source/Symbol/CompactUnwindInfo.cpp)
+--------------------------------------
+
+Copyright 2019 LLVM Project
+
+Licensed under the Apache License, Version 2.0 (the "License") with LLVM Exceptions;
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+https://llvm.org/LICENSE.txt
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+License notice for Apple header files
+-------------------------------------
+
+Copyright (c) 1980, 1986, 1993
+   The Regents of the University of California.  All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+1. Redistributions of source code must retain the above copyright
+   notice, this list of conditions and the following disclaimer.
+2. Redistributions in binary form must reproduce the above copyright
+   notice, this list of conditions and the following disclaimer in the
+   documentation and/or other materials provided with the distribution.
+3. All advertising materials mentioning features or use of this software
+   must display the following acknowledgement:
+   This product includes software developed by the University of
+   California, Berkeley and its contributors.
+4. Neither the name of the University nor the names of its contributors
+   may be used to endorse or promote products derived from this software
+   without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+SUCH DAMAGE.
+
+License notice for JavaScript queues
+-------------------------------------
+
+CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED HEREUNDER.
+
+Statement of Purpose
+The laws of most jurisdictions throughout the world automatically confer exclusive Copyright and Related Rights (defined below) upon the creator and subsequent owner(s) (each and all, an "owner") of an original work of authorship and/or a database (each, a "Work").
+Certain owners wish to permanently relinquish those rights to a Work for the purpose of contributing to a commons of creative, cultural and scientific works ("Commons") that the public can reliably and without fear of later claims of infringement build upon, modify, incorporate in other works, reuse and redistribute as freely as possible in any form whatsoever and for any purposes, including without limitation commercial purposes. These owners may contribute to the Commons to promote the ideal of a free culture and the further production of creative, cultural and scientific works, or to gain reputation or greater distribution for their Work in part through the use and efforts of others.
+For these and/or other purposes and motivations, and without any expectation of additional consideration or compensation, the person associating CC0 with a Work (the "Affirmer"), to the extent that he or she is an owner of Copyright and Related Rights in the Work, voluntarily elects to apply CC0 to the Work and publicly distribute the Work under its terms, with knowledge of his or her Copyright and Related Rights in the Work and the meaning and intended legal effect of CC0 on those rights.
+
+1. Copyright and Related Rights. A Work made available under CC0 may be protected by copyright and related or neighboring rights ("Copyright and Related Rights"). Copyright and Related Rights include, but are not limited to, the following:
+the right to reproduce, adapt, distribute, perform, display, communicate, and translate a Work;
+moral rights retained by the original author(s) and/or performer(s);
+publicity and privacy rights pertaining to a person's image or likeness depicted in a Work;
+rights protecting against unfair competition in regards to a Work, subject to the limitations in paragraph 4(a), below;
+rights protecting the extraction, dissemination, use and reuse of data in a Work;
+database rights (such as those arising under Directive 96/9/EC of the European Parliament and of the Council of 11 March 1996 on the legal protection of databases, and under any national implementation thereof, including any amended or successor version of such directive); and
+other similar, equivalent or corresponding rights throughout the world based on applicable law or treaty, and any national implementations thereof.
+2. Waiver. To the greatest extent permitted by, but not in contravention of, applicable law, Affirmer hereby overtly, fully, permanently, irrevocably and unconditionally waives, abandons, and surrenders all of Affirmer's Copyright and Related Rights and associated claims and causes of action, whether now known or unknown (including existing as well as future claims and causes of action), in the Work (i) in all territories worldwide, (ii) for the maximum duration provided by applicable law or treaty (including future time extensions), (iii) in any current or future medium and for any number of copies, and (iv) for any purpose whatsoever, including without limitation commercial, advertising or promotional purposes (the "Waiver"). Affirmer makes the Waiver for the benefit of each member of the public at large and to the detriment of Affirmer's heirs and successors, fully intending that such Waiver shall not be subject to revocation, rescission, cancellation, termination, or any other legal or equitable action to disrupt the quiet enjoyment of the Work by the public as contemplated by Affirmer's express Statement of Purpose.
+3. Public License Fallback. Should any part of the Waiver for any reason be judged legally invalid or ineffective under applicable law, then the Waiver shall be preserved to the maximum extent permitted taking into account Affirmer's express Statement of Purpose. In addition, to the extent the Waiver is so judged Affirmer hereby grants to each affected person a royalty-free, non transferable, non sublicensable, non exclusive, irrevocable and unconditional license to exercise Affirmer's Copyright and Related Rights in the Work (i) in all territories worldwide, (ii) for the maximum duration provided by applicable law or treaty (including future time extensions), (iii) in any current or future medium and for any number of copies, and (iv) for any purpose whatsoever, including without limitation commercial, advertising or promotional purposes (the "License"). The License shall be deemed effective as of the date CC0 was applied by Affirmer to the Work. Should any part of the License for any reason be judged legally invalid or ineffective under applicable law, such partial invalidity or ineffectiveness shall not invalidate the remainder of the License, and in such case Affirmer hereby affirms that he or she will not (i) exercise any of his or her remaining Copyright and Related Rights in the Work or (ii) assert any associated claims and causes of action with respect to the Work, in either case contrary to Affirmer's express Statement of Purpose.
+4. Limitations and Disclaimers.
+a. No trademark or patent rights held by Affirmer are waived, abandoned, surrendered, licensed or otherwise affected by this document.
+b. Affirmer offers the Work as-is and makes no representations or warranties of any kind concerning the Work, express, implied, statutory or otherwise, including without limitation warranties of title, merchantability, fitness for a particular purpose, non infringement, or the absence of latent or other defects, accuracy, or the present or absence of errors, whether or not discoverable, all to the greatest extent permissible under applicable law.
+c. Affirmer disclaims responsibility for clearing rights of other persons that may apply to the Work or any use thereof, including without limitation any person's Copyright and Related Rights in the Work. Further, Affirmer disclaims responsibility for obtaining any necessary consents, permissions or other rights required for any use of the Work.
+d. Affirmer understands and acknowledges that Creative Commons is not a party to this document and has no duty or obligation with respect to this CC0 or use of the Work.
+
+
+License notice for FastFloat algorithm
+-------------------------------------
+MIT License
+Copyright (c) 2021 csFastFloat authors
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+
+License notice for MsQuic
+--------------------------------------
+
+Copyright (c) Microsoft Corporation.
+Licensed under the MIT License.
+
+Available at
+https://github.com/microsoft/msquic/blob/main/LICENSE
+
+License notice for m-ou-se/floatconv
+-------------------------------
+
+Copyright (c) 2020 Mara Bos <m-ou.se@m-ou.se>
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+1. Redistributions of source code must retain the above copyright notice, this
+   list of conditions and the following disclaimer.
+2. Redistributions in binary form must reproduce the above copyright notice,
+   this list of conditions and the following disclaimer in the documentation
+   and/or other materials provided with the distribution.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+License notice for code from The Practice of Programming
+-------------------------------
+
+Copyright (C) 1999 Lucent Technologies
+
+Excerpted from 'The Practice of Programming
+by Brian W. Kernighan and Rob Pike
+
+You may use this code for any purpose, as long as you leave the copyright notice and book citation attached.
+
+Notice for Euclidean Affine Functions and Applications to Calendar
+Algorithms
+-------------------------------
+
+Aspects of Date/Time processing based on algorithm described in "Euclidean Affine Functions and Applications to Calendar
+Algorithms", Cassio Neri and Lorenz Schneider. https://arxiv.org/pdf/2102.06959.pdf
+
+License notice for amd/aocl-libm-ose
+-------------------------------
+
+Copyright (C) 2008-2020 Advanced Micro Devices, Inc. All rights reserved.
+
+Redistribution and use in source and binary forms, with or without modification,
+are permitted provided that the following conditions are met:
+1. Redistributions of source code must retain the above copyright notice,
+   this list of conditions and the following disclaimer.
+2. Redistributions in binary form must reproduce the above copyright notice,
+   this list of conditions and the following disclaimer in the documentation
+   and/or other materials provided with the distribution.
+3. Neither the name of the copyright holder nor the names of its contributors
+   may be used to endorse or promote products derived from this software without
+   specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
+OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGE.

+ 7 - 0
Assets/DownLoadXR/Packages/Microsoft.Extensions.DependencyInjection.7.0.0/THIRD-PARTY-NOTICES.TXT.meta

@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 267cf6e6d03352347b1310d26401ee43
+TextScriptImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 8 - 0
Assets/DownLoadXR/Packages/Microsoft.Extensions.DependencyInjection.7.0.0/buildTransitive.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: fd616b701ef8bf146a439104f7c329ef
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 8 - 0
Assets/DownLoadXR/Packages/Microsoft.Extensions.DependencyInjection.7.0.0/buildTransitive/net461.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 9fc195869b08b8c4f8cbf62cd2863953
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 6 - 0
Assets/DownLoadXR/Packages/Microsoft.Extensions.DependencyInjection.7.0.0/buildTransitive/net461/Microsoft.Extensions.DependencyInjection.targets

@@ -0,0 +1,6 @@
+<Project InitialTargets="NETStandardCompatError_Microsoft_Extensions_DependencyInjection_net462">
+  <Target Name="NETStandardCompatError_Microsoft_Extensions_DependencyInjection_net462"
+          Condition="'$(SuppressTfmSupportBuildWarnings)' == ''">
+    <Warning Text="Microsoft.Extensions.DependencyInjection 7.0.0 doesn't support $(TargetFramework) and has not been tested with it. Consider upgrading your TargetFramework to net462 or later. You may also set &lt;SuppressTfmSupportBuildWarnings&gt;true&lt;/SuppressTfmSupportBuildWarnings&gt; in the project file to ignore this warning and attempt to run in this unsupported configuration at your own risk." />
+  </Target>
+</Project>

+ 7 - 0
Assets/DownLoadXR/Packages/Microsoft.Extensions.DependencyInjection.7.0.0/buildTransitive/net461/Microsoft.Extensions.DependencyInjection.targets.meta

@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: fdf6bc9466b341c42a509324f10001e4
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 8 - 0
Assets/DownLoadXR/Packages/Microsoft.Extensions.DependencyInjection.7.0.0/buildTransitive/net462.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: f70a2d1ea72166f4e86bec7e8190eca7
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 0 - 0
Assets/DownLoadXR/Packages/Microsoft.Extensions.DependencyInjection.7.0.0/buildTransitive/net462/_._


+ 7 - 0
Assets/DownLoadXR/Packages/Microsoft.Extensions.DependencyInjection.7.0.0/buildTransitive/net462/_._.meta

@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: fce308a97d8efbe4fba4d05968820a70
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 8 - 0
Assets/DownLoadXR/Packages/Microsoft.Extensions.DependencyInjection.7.0.0/buildTransitive/net6.0.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 91e1a70d30898bf4a999967502df9dab
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 0 - 0
Assets/DownLoadXR/Packages/Microsoft.Extensions.DependencyInjection.7.0.0/buildTransitive/net6.0/_._


+ 7 - 0
Assets/DownLoadXR/Packages/Microsoft.Extensions.DependencyInjection.7.0.0/buildTransitive/net6.0/_._.meta

@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 526918f9cdb50c94d88b1483d31adbd8
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 8 - 0
Assets/DownLoadXR/Packages/Microsoft.Extensions.DependencyInjection.7.0.0/buildTransitive/netcoreapp2.0.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 0315ca38fb36aa145b05d3c8a2d462e8
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 6 - 0
Assets/DownLoadXR/Packages/Microsoft.Extensions.DependencyInjection.7.0.0/buildTransitive/netcoreapp2.0/Microsoft.Extensions.DependencyInjection.targets

@@ -0,0 +1,6 @@
+<Project InitialTargets="NETStandardCompatError_Microsoft_Extensions_DependencyInjection_net6_0">
+  <Target Name="NETStandardCompatError_Microsoft_Extensions_DependencyInjection_net6_0"
+          Condition="'$(SuppressTfmSupportBuildWarnings)' == ''">
+    <Warning Text="Microsoft.Extensions.DependencyInjection 7.0.0 doesn't support $(TargetFramework) and has not been tested with it. Consider upgrading your TargetFramework to net6.0 or later. You may also set &lt;SuppressTfmSupportBuildWarnings&gt;true&lt;/SuppressTfmSupportBuildWarnings&gt; in the project file to ignore this warning and attempt to run in this unsupported configuration at your own risk." />
+  </Target>
+</Project>

+ 7 - 0
Assets/DownLoadXR/Packages/Microsoft.Extensions.DependencyInjection.7.0.0/buildTransitive/netcoreapp2.0/Microsoft.Extensions.DependencyInjection.targets.meta

@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 5d44c5a93a7d548468c48a0739f93829
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 8 - 0
Assets/DownLoadXR/Packages/Microsoft.Extensions.DependencyInjection.7.0.0/lib.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 06debdadee2f9824c95596b3eb460b8d
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 8 - 0
Assets/DownLoadXR/Packages/Microsoft.Extensions.DependencyInjection.7.0.0/lib/netstandard2.1.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 8a52b2ebb48290d4abf3a8f4c21659cc
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

二進制
Assets/DownLoadXR/Packages/Microsoft.Extensions.DependencyInjection.7.0.0/lib/netstandard2.1/Microsoft.Extensions.DependencyInjection.dll


+ 23 - 0
Assets/DownLoadXR/Packages/Microsoft.Extensions.DependencyInjection.7.0.0/lib/netstandard2.1/Microsoft.Extensions.DependencyInjection.dll.meta

@@ -0,0 +1,23 @@
+fileFormatVersion: 2
+guid: 0c92269ce70fa5a4f865066b7edd695b
+labels:
+- NuGetForUnity
+PluginImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  iconMap: {}
+  executionOrder: {}
+  defineConstraints: []
+  isPreloaded: 0
+  isOverridable: 0
+  isExplicitlyReferenced: 0
+  validateReferences: 1
+  platformData:
+  - first:
+      Any: 
+    second:
+      enabled: 1
+      settings: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 558 - 0
Assets/DownLoadXR/Packages/Microsoft.Extensions.DependencyInjection.7.0.0/lib/netstandard2.1/Microsoft.Extensions.DependencyInjection.xml

@@ -0,0 +1,558 @@
+<?xml version="1.0"?>
+<doc>
+    <assembly>
+        <name>Microsoft.Extensions.DependencyInjection</name>
+    </assembly>
+    <members>
+        <member name="M:Microsoft.Extensions.Internal.TypeNameHelper.GetTypeDisplayName(System.Type,System.Boolean,System.Boolean,System.Boolean,System.Char)">
+            <summary>
+            Pretty print a type name.
+            </summary>
+            <param name="type">The <see cref="T:System.Type"/>.</param>
+            <param name="fullName"><c>true</c> to print a fully qualified name.</param>
+            <param name="includeGenericParameterNames"><c>true</c> to include generic parameter names.</param>
+            <param name="includeGenericParameters"><c>true</c> to include generic parameters.</param>
+            <param name="nestedTypeDelimiter">Character to use as a delimiter in nested type names</param>
+            <returns>The pretty printed type name.</returns>
+        </member>
+        <member name="T:Microsoft.Extensions.DependencyInjection.DefaultServiceProviderFactory">
+            <summary>
+            Default implementation of <see cref="T:Microsoft.Extensions.DependencyInjection.IServiceProviderFactory`1"/>.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Extensions.DependencyInjection.DefaultServiceProviderFactory.#ctor">
+            <summary>
+            Initializes a new instance of the <see cref="T:Microsoft.Extensions.DependencyInjection.DefaultServiceProviderFactory"/> class
+            with default options.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Extensions.DependencyInjection.DefaultServiceProviderFactory.#ctor(Microsoft.Extensions.DependencyInjection.ServiceProviderOptions)">
+            <summary>
+            Initializes a new instance of the <see cref="T:Microsoft.Extensions.DependencyInjection.DefaultServiceProviderFactory"/> class
+            with the specified <paramref name="options"/>.
+            </summary>
+            <param name="options">The options to use for this instance.</param>
+        </member>
+        <member name="M:Microsoft.Extensions.DependencyInjection.DefaultServiceProviderFactory.CreateBuilder(Microsoft.Extensions.DependencyInjection.IServiceCollection)">
+            <inheritdoc />
+        </member>
+        <member name="M:Microsoft.Extensions.DependencyInjection.DefaultServiceProviderFactory.CreateServiceProvider(Microsoft.Extensions.DependencyInjection.IServiceCollection)">
+            <inheritdoc />
+        </member>
+        <member name="T:Microsoft.Extensions.DependencyInjection.ServiceCollectionContainerBuilderExtensions">
+            <summary>
+            Extension methods for building a <see cref="T:Microsoft.Extensions.DependencyInjection.ServiceProvider"/> from an <see cref="T:Microsoft.Extensions.DependencyInjection.IServiceCollection"/>.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Extensions.DependencyInjection.ServiceCollectionContainerBuilderExtensions.BuildServiceProvider(Microsoft.Extensions.DependencyInjection.IServiceCollection)">
+            <summary>
+            Creates a <see cref="T:Microsoft.Extensions.DependencyInjection.ServiceProvider"/> containing services from the provided <see cref="T:Microsoft.Extensions.DependencyInjection.IServiceCollection"/>.
+            </summary>
+            <param name="services">The <see cref="T:Microsoft.Extensions.DependencyInjection.IServiceCollection"/> containing service descriptors.</param>
+            <returns>The <see cref="T:Microsoft.Extensions.DependencyInjection.ServiceProvider"/>.</returns>
+        </member>
+        <member name="M:Microsoft.Extensions.DependencyInjection.ServiceCollectionContainerBuilderExtensions.BuildServiceProvider(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Boolean)">
+            <summary>
+            Creates a <see cref="T:Microsoft.Extensions.DependencyInjection.ServiceProvider"/> containing services from the provided <see cref="T:Microsoft.Extensions.DependencyInjection.IServiceCollection"/>
+            optionally enabling scope validation.
+            </summary>
+            <param name="services">The <see cref="T:Microsoft.Extensions.DependencyInjection.IServiceCollection"/> containing service descriptors.</param>
+            <param name="validateScopes">
+            <c>true</c> to perform check verifying that scoped services never gets resolved from root provider; otherwise <c>false</c>.
+            </param>
+            <returns>The <see cref="T:Microsoft.Extensions.DependencyInjection.ServiceProvider"/>.</returns>
+        </member>
+        <member name="M:Microsoft.Extensions.DependencyInjection.ServiceCollectionContainerBuilderExtensions.BuildServiceProvider(Microsoft.Extensions.DependencyInjection.IServiceCollection,Microsoft.Extensions.DependencyInjection.ServiceProviderOptions)">
+            <summary>
+            Creates a <see cref="T:Microsoft.Extensions.DependencyInjection.ServiceProvider"/> containing services from the provided <see cref="T:Microsoft.Extensions.DependencyInjection.IServiceCollection"/>
+            optionally enabling scope validation.
+            </summary>
+            <param name="services">The <see cref="T:Microsoft.Extensions.DependencyInjection.IServiceCollection"/> containing service descriptors.</param>
+            <param name="options">
+            Configures various service provider behaviors.
+            </param>
+            <returns>The <see cref="T:Microsoft.Extensions.DependencyInjection.ServiceProvider"/>.</returns>
+        </member>
+        <member name="M:Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteFactory.ValidateTrimmingAnnotations(System.Type,System.Type[],System.Type,System.Type[])">
+            <summary>
+            Validates that two generic type definitions have compatible trimming annotations on their generic arguments.
+            </summary>
+            <remarks>
+            When open generic types are used in DI, there is an error when the concrete implementation type
+            has [DynamicallyAccessedMembers] attributes on a generic argument type, but the interface/service type
+            doesn't have matching annotations. The problem is that the trimmer doesn't see the members that need to
+            be preserved on the type being passed to the generic argument. But when the interface/service type also has
+            the annotations, the trimmer will see which members need to be preserved on the closed generic argument type.
+            </remarks>
+        </member>
+        <member name="M:Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteFactory.CreateArgumentCallSites(System.Type,Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteChain,System.Reflection.ParameterInfo[],System.Boolean)">
+            <returns>Not <b>null</b> if <b>throwIfCallSiteNotFound</b> is true</returns>
+        </member>
+        <member name="P:Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCacheKey.Type">
+            <summary>
+            Type of service being cached
+            </summary>
+        </member>
+        <member name="P:Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCacheKey.Slot">
+            <summary>
+            Reverse index of the service when resolved in <c>IEnumerable&lt;Type&gt;</c> where default instance gets slot 0.
+            For example for service collection
+             IService Impl1
+             IService Impl2
+             IService Impl3
+            We would get the following cache keys:
+             Impl1 2
+             Impl2 1
+             Impl3 0
+            </summary>
+        </member>
+        <member name="M:Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCacheKey.Equals(Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCacheKey)">
+            <summary>Indicates whether the current instance is equal to another instance of the same type.</summary>
+            <param name="other">An instance to compare with this instance.</param>
+            <returns>true if the current instance is equal to the other instance; otherwise, false.</returns>
+        </member>
+        <member name="T:Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCallSite">
+            <summary>
+            Summary description for ServiceCallSite
+            </summary>
+        </member>
+        <member name="T:Microsoft.Extensions.DependencyInjection.ServiceProvider">
+            <summary>
+            The default IServiceProvider.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Extensions.DependencyInjection.ServiceProvider.GetService(System.Type)">
+            <summary>
+            Gets the service object of the specified type.
+            </summary>
+            <param name="serviceType">The type of the service to get.</param>
+            <returns>The service that was produced.</returns>
+        </member>
+        <member name="M:Microsoft.Extensions.DependencyInjection.ServiceProvider.Dispose">
+            <inheritdoc />
+        </member>
+        <member name="M:Microsoft.Extensions.DependencyInjection.ServiceProvider.DisposeAsync">
+            <inheritdoc/>
+        </member>
+        <member name="T:Microsoft.Extensions.DependencyInjection.ServiceProviderOptions">
+            <summary>
+            Options for configuring various behaviors of the default <see cref="T:System.IServiceProvider"/> implementation.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Extensions.DependencyInjection.ServiceProviderOptions.ValidateScopes">
+            <summary>
+            <c>true</c> to perform check verifying that scoped services never gets resolved from root provider; otherwise <c>false</c>. Defaults to <c>false</c>.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Extensions.DependencyInjection.ServiceProviderOptions.ValidateOnBuild">
+            <summary>
+            <c>true</c> to perform check verifying that all services can be created during <c>BuildServiceProvider</c> call; otherwise <c>false</c>. Defaults to <c>false</c>.
+            NOTE: this check doesn't verify open generics services.
+            </summary>
+        </member>
+        <member name="T:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMembersAttribute">
+             <summary>
+             Indicates that certain members on a specified <see cref="T:System.Type"/> are accessed dynamically,
+             for example through <see cref="N:System.Reflection"/>.
+             </summary>
+             <remarks>
+             This allows tools to understand which members are being accessed during the execution
+             of a program.
+            
+             This attribute is valid on members whose type is <see cref="T:System.Type"/> or <see cref="T:System.String"/>.
+            
+             When this attribute is applied to a location of type <see cref="T:System.String"/>, the assumption is
+             that the string represents a fully qualified type name.
+            
+             When this attribute is applied to a class, interface, or struct, the members specified
+             can be accessed dynamically on <see cref="T:System.Type"/> instances returned from calling
+             <see cref="M:System.Object.GetType"/> on instances of that class, interface, or struct.
+            
+             If the attribute is applied to a method it's treated as a special case and it implies
+             the attribute should be applied to the "this" parameter of the method. As such the attribute
+             should only be used on instance methods of types assignable to System.Type (or string, but no methods
+             will use it there).
+             </remarks>
+        </member>
+        <member name="M:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMembersAttribute.#ctor(System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes)">
+            <summary>
+            Initializes a new instance of the <see cref="T:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMembersAttribute"/> class
+            with the specified member types.
+            </summary>
+            <param name="memberTypes">The types of members dynamically accessed.</param>
+        </member>
+        <member name="P:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMembersAttribute.MemberTypes">
+            <summary>
+            Gets the <see cref="T:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes"/> which specifies the type
+            of members dynamically accessed.
+            </summary>
+        </member>
+        <member name="T:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes">
+             <summary>
+             Specifies the types of members that are dynamically accessed.
+            
+             This enumeration has a <see cref="T:System.FlagsAttribute"/> attribute that allows a
+             bitwise combination of its member values.
+             </summary>
+        </member>
+        <member name="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.None">
+            <summary>
+            Specifies no members.
+            </summary>
+        </member>
+        <member name="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.PublicParameterlessConstructor">
+            <summary>
+            Specifies the default, parameterless public constructor.
+            </summary>
+        </member>
+        <member name="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.PublicConstructors">
+            <summary>
+            Specifies all public constructors.
+            </summary>
+        </member>
+        <member name="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.NonPublicConstructors">
+            <summary>
+            Specifies all non-public constructors.
+            </summary>
+        </member>
+        <member name="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.PublicMethods">
+            <summary>
+            Specifies all public methods.
+            </summary>
+        </member>
+        <member name="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.NonPublicMethods">
+            <summary>
+            Specifies all non-public methods.
+            </summary>
+        </member>
+        <member name="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.PublicFields">
+            <summary>
+            Specifies all public fields.
+            </summary>
+        </member>
+        <member name="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.NonPublicFields">
+            <summary>
+            Specifies all non-public fields.
+            </summary>
+        </member>
+        <member name="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.PublicNestedTypes">
+            <summary>
+            Specifies all public nested types.
+            </summary>
+        </member>
+        <member name="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.NonPublicNestedTypes">
+            <summary>
+            Specifies all non-public nested types.
+            </summary>
+        </member>
+        <member name="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.PublicProperties">
+            <summary>
+            Specifies all public properties.
+            </summary>
+        </member>
+        <member name="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.NonPublicProperties">
+            <summary>
+            Specifies all non-public properties.
+            </summary>
+        </member>
+        <member name="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.PublicEvents">
+            <summary>
+            Specifies all public events.
+            </summary>
+        </member>
+        <member name="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.NonPublicEvents">
+            <summary>
+            Specifies all non-public events.
+            </summary>
+        </member>
+        <member name="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.Interfaces">
+            <summary>
+            Specifies all interfaces implemented by the type.
+            </summary>
+        </member>
+        <member name="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.All">
+            <summary>
+            Specifies all members.
+            </summary>
+        </member>
+        <member name="T:System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute">
+            <summary>
+            Suppresses reporting of a specific rule violation, allowing multiple suppressions on a
+            single code artifact.
+            </summary>
+            <remarks>
+            <see cref="T:System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute"/> is different than
+            <see cref="T:System.Diagnostics.CodeAnalysis.SuppressMessageAttribute"/> in that it doesn't have a
+            <see cref="T:System.Diagnostics.ConditionalAttribute"/>. So it is always preserved in the compiled assembly.
+            </remarks>
+        </member>
+        <member name="M:System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute.#ctor(System.String,System.String)">
+            <summary>
+            Initializes a new instance of the <see cref="T:System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute"/>
+            class, specifying the category of the tool and the identifier for an analysis rule.
+            </summary>
+            <param name="category">The category for the attribute.</param>
+            <param name="checkId">The identifier of the analysis rule the attribute applies to.</param>
+        </member>
+        <member name="P:System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute.Category">
+            <summary>
+            Gets the category identifying the classification of the attribute.
+            </summary>
+            <remarks>
+            The <see cref="P:System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute.Category"/> property describes the tool or tool analysis category
+            for which a message suppression attribute applies.
+            </remarks>
+        </member>
+        <member name="P:System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute.CheckId">
+            <summary>
+            Gets the identifier of the analysis tool rule to be suppressed.
+            </summary>
+            <remarks>
+            Concatenated together, the <see cref="P:System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute.Category"/> and <see cref="P:System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute.CheckId"/>
+            properties form a unique check identifier.
+            </remarks>
+        </member>
+        <member name="P:System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute.Scope">
+            <summary>
+            Gets or sets the scope of the code that is relevant for the attribute.
+            </summary>
+            <remarks>
+            The Scope property is an optional argument that specifies the metadata scope for which
+            the attribute is relevant.
+            </remarks>
+        </member>
+        <member name="P:System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute.Target">
+            <summary>
+            Gets or sets a fully qualified path that represents the target of the attribute.
+            </summary>
+            <remarks>
+            The <see cref="P:System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute.Target"/> property is an optional argument identifying the analysis target
+            of the attribute. An example value is "System.IO.Stream.ctor():System.Void".
+            Because it is fully qualified, it can be long, particularly for targets such as parameters.
+            The analysis tool user interface should be capable of automatically formatting the parameter.
+            </remarks>
+        </member>
+        <member name="P:System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute.MessageId">
+            <summary>
+            Gets or sets an optional argument expanding on exclusion criteria.
+            </summary>
+            <remarks>
+            The <see cref="P:System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute.MessageId"/> property is an optional argument that specifies additional
+            exclusion where the literal metadata target is not sufficiently precise. For example,
+            the <see cref="T:System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute"/> cannot be applied within a method,
+            and it may be desirable to suppress a violation against a statement in the method that will
+            give a rule violation, but not against all statements in the method.
+            </remarks>
+        </member>
+        <member name="P:System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute.Justification">
+            <summary>
+            Gets or sets the justification for suppressing the code analysis message.
+            </summary>
+        </member>
+        <member name="T:System.Diagnostics.CodeAnalysis.RequiresDynamicCodeAttribute">
+            <summary>
+            Indicates that the specified method requires the ability to generate new code at runtime,
+            for example through <see cref="N:System.Reflection"/>.
+            </summary>
+            <remarks>
+            This allows tools to understand which methods are unsafe to call when compiling ahead of time.
+            </remarks>
+        </member>
+        <member name="M:System.Diagnostics.CodeAnalysis.RequiresDynamicCodeAttribute.#ctor(System.String)">
+            <summary>
+            Initializes a new instance of the <see cref="T:System.Diagnostics.CodeAnalysis.RequiresDynamicCodeAttribute"/> class
+            with the specified message.
+            </summary>
+            <param name="message">
+            A message that contains information about the usage of dynamic code.
+            </param>
+        </member>
+        <member name="P:System.Diagnostics.CodeAnalysis.RequiresDynamicCodeAttribute.Message">
+            <summary>
+            Gets a message that contains information about the usage of dynamic code.
+            </summary>
+        </member>
+        <member name="P:System.Diagnostics.CodeAnalysis.RequiresDynamicCodeAttribute.Url">
+            <summary>
+            Gets or sets an optional URL that contains more information about the method,
+            why it requires dynamic code, and what options a consumer has to deal with it.
+            </summary>
+        </member>
+        <member name="T:System.Diagnostics.CodeAnalysis.MemberNotNullAttribute">
+            <summary>Specifies that the method or property will ensure that the listed field and property members have not-null values.</summary>
+        </member>
+        <member name="M:System.Diagnostics.CodeAnalysis.MemberNotNullAttribute.#ctor(System.String)">
+            <summary>Initializes the attribute with a field or property member.</summary>
+            <param name="member">
+            The field or property member that is promised to be not-null.
+            </param>
+        </member>
+        <member name="M:System.Diagnostics.CodeAnalysis.MemberNotNullAttribute.#ctor(System.String[])">
+            <summary>Initializes the attribute with the list of field and property members.</summary>
+            <param name="members">
+            The list of field and property members that are promised to be not-null.
+            </param>
+        </member>
+        <member name="P:System.Diagnostics.CodeAnalysis.MemberNotNullAttribute.Members">
+            <summary>Gets field or property member names.</summary>
+        </member>
+        <member name="T:System.Diagnostics.CodeAnalysis.MemberNotNullWhenAttribute">
+            <summary>Specifies that the method or property will ensure that the listed field and property members have not-null values when returning with the specified return value condition.</summary>
+        </member>
+        <member name="M:System.Diagnostics.CodeAnalysis.MemberNotNullWhenAttribute.#ctor(System.Boolean,System.String)">
+            <summary>Initializes the attribute with the specified return value condition and a field or property member.</summary>
+            <param name="returnValue">
+            The return value condition. If the method returns this value, the associated parameter will not be null.
+            </param>
+            <param name="member">
+            The field or property member that is promised to be not-null.
+            </param>
+        </member>
+        <member name="M:System.Diagnostics.CodeAnalysis.MemberNotNullWhenAttribute.#ctor(System.Boolean,System.String[])">
+            <summary>Initializes the attribute with the specified return value condition and list of field and property members.</summary>
+            <param name="returnValue">
+            The return value condition. If the method returns this value, the associated parameter will not be null.
+            </param>
+            <param name="members">
+            The list of field and property members that are promised to be not-null.
+            </param>
+        </member>
+        <member name="P:System.Diagnostics.CodeAnalysis.MemberNotNullWhenAttribute.ReturnValue">
+            <summary>Gets the return value condition.</summary>
+        </member>
+        <member name="P:System.Diagnostics.CodeAnalysis.MemberNotNullWhenAttribute.Members">
+            <summary>Gets field or property member names.</summary>
+        </member>
+        <member name="P:System.SR.AmbiguousConstructorException">
+            <summary>Unable to activate type '{0}'. The following constructors are ambiguous:</summary>
+        </member>
+        <member name="P:System.SR.CannotResolveService">
+            <summary>Unable to resolve service for type '{0}' while attempting to activate '{1}'.</summary>
+        </member>
+        <member name="P:System.SR.CircularDependencyException">
+            <summary>A circular dependency was detected for the service of type '{0}'.</summary>
+        </member>
+        <member name="P:System.SR.UnableToActivateTypeException">
+            <summary>No constructor for type '{0}' can be instantiated using services from the service container and default values.</summary>
+        </member>
+        <member name="P:System.SR.OpenGenericServiceRequiresOpenGenericImplementation">
+            <summary>Open generic service type '{0}' requires registering an open generic implementation type.</summary>
+        </member>
+        <member name="P:System.SR.ArityOfOpenGenericServiceNotEqualArityOfOpenGenericImplementation">
+            <summary>Arity of open generic service type '{0}' does not equal arity of open generic implementation type '{1}'.</summary>
+        </member>
+        <member name="P:System.SR.TypeCannotBeActivated">
+            <summary>Cannot instantiate implementation type '{0}' for service type '{1}'.</summary>
+        </member>
+        <member name="P:System.SR.NoConstructorMatch">
+            <summary>A suitable constructor for type '{0}' could not be located. Ensure the type is concrete and services are registered for all parameters of a public constructor.</summary>
+        </member>
+        <member name="P:System.SR.ScopedInSingletonException">
+            <summary>Cannot consume {2} service '{0}' from {3} '{1}'.</summary>
+        </member>
+        <member name="P:System.SR.ScopedResolvedFromRootException">
+            <summary>Cannot resolve '{0}' from root provider because it requires {2} service '{1}'.</summary>
+        </member>
+        <member name="P:System.SR.DirectScopedResolvedFromRootException">
+            <summary>Cannot resolve {1} service '{0}' from root provider.</summary>
+        </member>
+        <member name="P:System.SR.ConstantCantBeConvertedToServiceType">
+            <summary>Constant value of type '{0}' can't be converted to service type '{1}'</summary>
+        </member>
+        <member name="P:System.SR.ImplementationTypeCantBeConvertedToServiceType">
+            <summary>Implementation type '{0}' can't be converted to service type '{1}'</summary>
+        </member>
+        <member name="P:System.SR.AsyncDisposableServiceDispose">
+            <summary>'{0}' type only implements IAsyncDisposable. Use DisposeAsync to dispose the container.</summary>
+        </member>
+        <member name="P:System.SR.GetCaptureDisposableNotSupported">
+            <summary>GetCaptureDisposable call is supported only for main scope</summary>
+        </member>
+        <member name="P:System.SR.InvalidServiceDescriptor">
+            <summary>Invalid service descriptor</summary>
+        </member>
+        <member name="P:System.SR.ServiceDescriptorNotExist">
+            <summary>Requested service descriptor doesn't exist.</summary>
+        </member>
+        <member name="P:System.SR.CallSiteTypeNotSupported">
+            <summary>Call site type {0} is not supported</summary>
+        </member>
+        <member name="P:System.SR.TrimmingAnnotationsDoNotMatch">
+            <summary>Generic implementation type '{0}' has a DynamicallyAccessedMembers attribute applied to a generic argument type, but the service type '{1}' doesn't have a matching DynamicallyAccessedMembers attribute on its generic argument type.</summary>
+        </member>
+        <member name="P:System.SR.TrimmingAnnotationsDoNotMatch_NewConstraint">
+            <summary>Generic implementation type '{0}' has a DefaultConstructorConstraint ('new()' constraint), but the generic service type '{1}' doesn't.</summary>
+        </member>
+        <member name="T:System.Runtime.InteropServices.LibraryImportAttribute">
+            <summary>
+            Attribute used to indicate a source generator should create a function for marshalling
+            arguments instead of relying on the runtime to generate an equivalent marshalling function at run-time.
+            </summary>
+            <remarks>
+            This attribute is meaningless if the source generator associated with it is not enabled.
+            The current built-in source generator only supports C# and only supplies an implementation when
+            applied to static, partial, non-generic methods.
+            </remarks>
+        </member>
+        <member name="M:System.Runtime.InteropServices.LibraryImportAttribute.#ctor(System.String)">
+            <summary>
+            Initializes a new instance of the <see cref="T:System.Runtime.InteropServices.LibraryImportAttribute"/>.
+            </summary>
+            <param name="libraryName">Name of the library containing the import.</param>
+        </member>
+        <member name="P:System.Runtime.InteropServices.LibraryImportAttribute.LibraryName">
+            <summary>
+            Gets the name of the library containing the import.
+            </summary>
+        </member>
+        <member name="P:System.Runtime.InteropServices.LibraryImportAttribute.EntryPoint">
+            <summary>
+            Gets or sets the name of the entry point to be called.
+            </summary>
+        </member>
+        <member name="P:System.Runtime.InteropServices.LibraryImportAttribute.StringMarshalling">
+            <summary>
+            Gets or sets how to marshal string arguments to the method.
+            </summary>
+            <remarks>
+            If this field is set to a value other than <see cref="F:System.Runtime.InteropServices.StringMarshalling.Custom" />,
+            <see cref="P:System.Runtime.InteropServices.LibraryImportAttribute.StringMarshallingCustomType" /> must not be specified.
+            </remarks>
+        </member>
+        <member name="P:System.Runtime.InteropServices.LibraryImportAttribute.StringMarshallingCustomType">
+            <summary>
+            Gets or sets the <see cref="T:System.Type"/> used to control how string arguments to the method are marshalled.
+            </summary>
+            <remarks>
+            If this field is specified, <see cref="P:System.Runtime.InteropServices.LibraryImportAttribute.StringMarshalling" /> must not be specified
+            or must be set to <see cref="F:System.Runtime.InteropServices.StringMarshalling.Custom" />.
+            </remarks>
+        </member>
+        <member name="P:System.Runtime.InteropServices.LibraryImportAttribute.SetLastError">
+            <summary>
+            Gets or sets whether the callee sets an error (SetLastError on Windows or errno
+            on other platforms) before returning from the attributed method.
+            </summary>
+        </member>
+        <member name="T:System.Runtime.InteropServices.StringMarshalling">
+            <summary>
+            Specifies how strings should be marshalled for generated p/invokes
+            </summary>
+        </member>
+        <member name="F:System.Runtime.InteropServices.StringMarshalling.Custom">
+            <summary>
+            Indicates the user is suppling a specific marshaller in <see cref="P:System.Runtime.InteropServices.LibraryImportAttribute.StringMarshallingCustomType"/>.
+            </summary>
+        </member>
+        <member name="F:System.Runtime.InteropServices.StringMarshalling.Utf8">
+            <summary>
+            Use the platform-provided UTF-8 marshaller.
+            </summary>
+        </member>
+        <member name="F:System.Runtime.InteropServices.StringMarshalling.Utf16">
+            <summary>
+            Use the platform-provided UTF-16 marshaller.
+            </summary>
+        </member>
+    </members>
+</doc>

+ 7 - 0
Assets/DownLoadXR/Packages/Microsoft.Extensions.DependencyInjection.7.0.0/lib/netstandard2.1/Microsoft.Extensions.DependencyInjection.xml.meta

@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 84ee2064ae312b04da633ff6354c3ae1
+TextScriptImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 0 - 0
Assets/DownLoadXR/Packages/Microsoft.Extensions.DependencyInjection.7.0.0/useSharedDesignerContext.txt


+ 7 - 0
Assets/DownLoadXR/Packages/Microsoft.Extensions.DependencyInjection.7.0.0/useSharedDesignerContext.txt.meta

@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: d70188cc3c32dba46a57f6ff9107ff2f
+TextScriptImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 8 - 0
Assets/DownLoadXR/Packages/Microsoft.Extensions.DependencyInjection.Abstractions.7.0.0.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 0d2d32fbdb37eda45858959eff0ea4de
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

二進制
Assets/DownLoadXR/Packages/Microsoft.Extensions.DependencyInjection.Abstractions.7.0.0/.signature.p7s


二進制
Assets/DownLoadXR/Packages/Microsoft.Extensions.DependencyInjection.Abstractions.7.0.0/Icon.png


Some files were not shown because too many files changed in this diff