From 81f0869b5b1b9e8a9624ed77e4c6a8da26d4e58f Mon Sep 17 00:00:00 2001 From: Levi Broderick Date: Mon, 26 Apr 2021 14:40:41 -0700 Subject: [PATCH 1/4] Make Array.Clear(Array) public --- .../src/System/Array.CoreCLR.cs | 7 +- .../Collections/Concurrent/ConcurrentBag.cs | 2 +- .../Immutable/ImmutableExtensions.cs | 4 +- .../src/System/Xml/XmlBinaryReaderSession.cs | 2 +- .../src/System/Xml/XmlBinaryWriterSession.cs | 2 +- .../System/Xml/BinaryXml/XmlBinaryReader.cs | 2 +- .../BigIntegerCalculator.FastReducer.cs | 2 +- .../System.Runtime/System.Runtime.sln | 220 +++++++++--------- .../System.Runtime/ref/System.Runtime.cs | 1 + .../System.Runtime/tests/System/ArrayTests.cs | 40 +++- .../Cryptography/HashProviderDispenser.OSX.cs | 2 +- .../Cryptography/SHAHashProvider.Browser.cs | 12 +- .../Cryptography/Rfc2898DeriveBytes.cs | 6 +- .../Cryptography/PasswordDeriveBytes.cs | 8 +- .../Security/Cryptography/CryptoStream.cs | 12 +- .../Cryptography/KeyedHashAlgorithm.cs | 2 +- .../Cryptography/SymmetricAlgorithm.cs | 4 +- .../src/Internal/Cryptography/Helpers.cs | 2 +- 18 files changed, 186 insertions(+), 144 deletions(-) diff --git a/src/coreclr/System.Private.CoreLib/src/System/Array.CoreCLR.cs b/src/coreclr/System.Private.CoreLib/src/System/Array.CoreCLR.cs index 100fafba5a95ff..3c4f41c81e1725 100644 --- a/src/coreclr/System.Private.CoreLib/src/System/Array.CoreCLR.cs +++ b/src/coreclr/System.Private.CoreLib/src/System/Array.CoreCLR.cs @@ -266,7 +266,12 @@ public static void ConstrainedCopy(Array sourceArray, int sourceIndex, Array des Copy(sourceArray, sourceIndex, destinationArray, destinationIndex, length, reliable: true); } - internal static unsafe void Clear(Array array) + /// + /// Clears the contents of an array. + /// + /// The array to clear. + /// is null. + public static unsafe void Clear(Array array) { if (array == null) ThrowHelper.ThrowArgumentNullException(ExceptionArgument.array); diff --git a/src/libraries/System.Collections.Concurrent/src/System/Collections/Concurrent/ConcurrentBag.cs b/src/libraries/System.Collections.Concurrent/src/System/Collections/Concurrent/ConcurrentBag.cs index 0328b9f0e526fc..b4351d9864565a 100644 --- a/src/libraries/System.Collections.Concurrent/src/System/Collections/Concurrent/ConcurrentBag.cs +++ b/src/libraries/System.Collections.Concurrent/src/System/Collections/Concurrent/ConcurrentBag.cs @@ -860,7 +860,7 @@ internal void LocalClear() { _headIndex = _tailIndex = StartIndex; _addTakeCount = _stealCount = 0; - Array.Clear(_array, 0, _array.Length); + Array.Clear(_array); } } } diff --git a/src/libraries/System.Collections.Immutable/src/System/Collections/Immutable/ImmutableExtensions.cs b/src/libraries/System.Collections.Immutable/src/System/Collections/Immutable/ImmutableExtensions.cs index 428c71f13768b8..006a26addc1fd3 100644 --- a/src/libraries/System.Collections.Immutable/src/System/Collections/Immutable/ImmutableExtensions.cs +++ b/src/libraries/System.Collections.Immutable/src/System/Collections/Immutable/ImmutableExtensions.cs @@ -64,9 +64,9 @@ internal static IOrderedCollection AsOrderedCollection(this IEnumerable /// /// Clears the specified stack. For empty stacks, it avoids the call to , which - /// avoids a call into the runtime's implementation of , helping performance, + /// avoids a call into the runtime's implementation of , helping performance, /// in particular around inlining. typically gets inlined by today's JIT, while - /// and typically don't. + /// and typically don't. /// /// Specifies the type of data in the stack to be cleared. /// The stack to clear. diff --git a/src/libraries/System.Private.DataContractSerialization/src/System/Xml/XmlBinaryReaderSession.cs b/src/libraries/System.Private.DataContractSerialization/src/System/Xml/XmlBinaryReaderSession.cs index db7c46cd4c5a96..ef384ccfdb0153 100644 --- a/src/libraries/System.Private.DataContractSerialization/src/System/Xml/XmlBinaryReaderSession.cs +++ b/src/libraries/System.Private.DataContractSerialization/src/System/Xml/XmlBinaryReaderSession.cs @@ -121,7 +121,7 @@ public bool TryLookup(XmlDictionaryString value, [NotNullWhen(true)] out XmlDict public void Clear() { if (_strings != null) - Array.Clear(_strings, 0, _strings.Length); + Array.Clear(_strings); if (_stringDict != null) _stringDict.Clear(); diff --git a/src/libraries/System.Private.DataContractSerialization/src/System/Xml/XmlBinaryWriterSession.cs b/src/libraries/System.Private.DataContractSerialization/src/System/Xml/XmlBinaryWriterSession.cs index 6ee7fa1614ab46..5a26c4d3541731 100644 --- a/src/libraries/System.Private.DataContractSerialization/src/System/Xml/XmlBinaryWriterSession.cs +++ b/src/libraries/System.Private.DataContractSerialization/src/System/Xml/XmlBinaryWriterSession.cs @@ -117,7 +117,7 @@ public void Clear() { _now = 0; _listCount = 0; - Array.Clear(_list, 0, _list.Length); + Array.Clear(_list); if (_dictionary != null) _dictionary.Clear(); } diff --git a/src/libraries/System.Private.Xml/src/System/Xml/BinaryXml/XmlBinaryReader.cs b/src/libraries/System.Private.Xml/src/System/Xml/BinaryXml/XmlBinaryReader.cs index 36d739c9dae898..f2c53a5ca2209c 100644 --- a/src/libraries/System.Private.Xml/src/System/Xml/BinaryXml/XmlBinaryReader.cs +++ b/src/libraries/System.Private.Xml/src/System/Xml/BinaryXml/XmlBinaryReader.cs @@ -1987,7 +1987,7 @@ private void NameFlush() { _symbolTables.symCount = _symbolTables.qnameCount = 1; Array.Clear(_symbolTables.symtable, 1, _symbolTables.symtable.Length - 1); - Array.Clear(_symbolTables.qnametable, 0, _symbolTables.qnametable.Length); + Array.Clear(_symbolTables.qnametable); } private void SkipExtn() diff --git a/src/libraries/System.Runtime.Numerics/src/System/Numerics/BigIntegerCalculator.FastReducer.cs b/src/libraries/System.Runtime.Numerics/src/System/Numerics/BigIntegerCalculator.FastReducer.cs index d19b87b2f943fa..8731794b40299b 100644 --- a/src/libraries/System.Runtime.Numerics/src/System/Numerics/BigIntegerCalculator.FastReducer.cs +++ b/src/libraries/System.Runtime.Numerics/src/System/Numerics/BigIntegerCalculator.FastReducer.cs @@ -81,7 +81,7 @@ private static unsafe int DivMul(uint[] left, int leftLength, // preceding division by 2^(32*k). To spare memory allocations // we write the result to an already allocated memory. - Array.Clear(bits, 0, bits.Length); + Array.Clear(bits); if (leftLength > k) { diff --git a/src/libraries/System.Runtime/System.Runtime.sln b/src/libraries/System.Runtime/System.Runtime.sln index 06887f72422de3..736c59166d6c24 100644 --- a/src/libraries/System.Runtime/System.Runtime.sln +++ b/src/libraries/System.Runtime/System.Runtime.sln @@ -1,4 +1,7 @@ Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 16 +VisualStudioVersion = 16.0.31226.16 +MinimumVisualStudioVersion = 10.0.40219.1 Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "System.Private.CoreLib", "..\..\coreclr\System.Private.CoreLib\System.Private.CoreLib.csproj", "{71AB8240-F179-4B21-A8BE-8BE6CD774ED9}" EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "TestUtilities.Unicode", "..\Common\tests\TestUtilities.Unicode\TestUtilities.Unicode.csproj", "{9DF0247E-5B81-4EF3-82CA-3E70B3A56742}" @@ -56,45 +59,27 @@ EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "ref", "ref", "{F4F10B6C-21C0-4C9D-8909-76FC52145120}" EndProject Global - GlobalSection(NestedProjects) = preSolution - {71AB8240-F179-4B21-A8BE-8BE6CD774ED9} = {C7032EBC-8AB7-4BE6-9D95-B420F058FAAF} - {E7A05515-DABE-4C09-83CB-CE84EFDCD4CC} = {C7032EBC-8AB7-4BE6-9D95-B420F058FAAF} - {26541647-B653-4480-9448-BA275D53C81D} = {C7032EBC-8AB7-4BE6-9D95-B420F058FAAF} - {A83A8520-F5E2-49B4-83BC-0F82A412951D} = {C7032EBC-8AB7-4BE6-9D95-B420F058FAAF} - {DBFDC8D7-97CA-444C-BE48-BAA09331CD1B} = {C7032EBC-8AB7-4BE6-9D95-B420F058FAAF} - {F6A8185B-07C6-401D-9B40-3C560239E05F} = {C7032EBC-8AB7-4BE6-9D95-B420F058FAAF} - {82A02402-0C05-4A8C-98DD-058844E8D224} = {C7032EBC-8AB7-4BE6-9D95-B420F058FAAF} - {9CF6C6E6-0E9F-4A95-84B5-6083EAB6FA13} = {C7032EBC-8AB7-4BE6-9D95-B420F058FAAF} - {069C2B51-069A-4FBB-BFE9-42D573F1CEEA} = {C7032EBC-8AB7-4BE6-9D95-B420F058FAAF} - {9DF0247E-5B81-4EF3-82CA-3E70B3A56742} = {BDCC9986-D51F-48D9-9650-388E172CD91E} - {FB17AC52-1633-4845-932B-9218DF895957} = {BDCC9986-D51F-48D9-9650-388E172CD91E} - {3B79DD71-8C2F-41BC-A1A7-86A490D6C726} = {BDCC9986-D51F-48D9-9650-388E172CD91E} - {4EE36055-AD7C-4779-B3F6-08687960DCC3} = {BDCC9986-D51F-48D9-9650-388E172CD91E} - {C230AC88-A377-4BEB-824F-AB174C14DC86} = {BDCC9986-D51F-48D9-9650-388E172CD91E} - {1BCCD2F5-A561-4641-8A0B-51F3EDCA35DC} = {BDCC9986-D51F-48D9-9650-388E172CD91E} - {0F83B07B-2E3F-4708-BE6D-7A8DA8168803} = {BDCC9986-D51F-48D9-9650-388E172CD91E} - {833C1D45-9BBB-4A92-93B7-4EFFD9E945AD} = {BDCC9986-D51F-48D9-9650-388E172CD91E} - {D98FBB47-1DFD-4021-9C80-3034D699EAD6} = {F4F10B6C-21C0-4C9D-8909-76FC52145120} - {9C41B325-1225-43CA-9436-549AFF6D90A1} = {F4F10B6C-21C0-4C9D-8909-76FC52145120} - {C1B93F37-FDD5-4ABB-A244-C6C60BD11CF3} = {F4F10B6C-21C0-4C9D-8909-76FC52145120} - {F39E2C7E-5FE1-460C-AC2C-7E2B50955F2C} = {F4F10B6C-21C0-4C9D-8909-76FC52145120} - {67E57433-4571-442C-9EB7-5512847FFE51} = {F4F10B6C-21C0-4C9D-8909-76FC52145120} - {1B4552A4-91FD-4C6F-9EB4-3454C4BE428F} = {F4F10B6C-21C0-4C9D-8909-76FC52145120} - {F5D24DC1-048D-4306-9C48-5963685F825C} = {F4F10B6C-21C0-4C9D-8909-76FC52145120} - {82728202-1098-4E16-B598-5762EAF67D08} = {F4F10B6C-21C0-4C9D-8909-76FC52145120} + GlobalSection(SharedMSBuildProjectFiles) = preSolution + ..\System.Private.CoreLib\src\System.Private.CoreLib.Shared.projitems*{71ab8240-f179-4b21-a8be-8be6cd774ed9}*SharedItemsImports = 5 EndGlobalSection GlobalSection(SolutionConfigurationPlatforms) = preSolution + Checked|Any CPU = Checked|Any CPU + Checked|x64 = Checked|x64 + Checked|x86 = Checked|x86 Debug|Any CPU = Debug|Any CPU Debug|x64 = Debug|x64 Debug|x86 = Debug|x86 Release|Any CPU = Release|Any CPU Release|x64 = Release|x64 Release|x86 = Release|x86 - Checked|Any CPU = Checked|Any CPU - Checked|x64 = Checked|x64 - Checked|x86 = Checked|x86 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution + {71AB8240-F179-4B21-A8BE-8BE6CD774ED9}.Checked|Any CPU.ActiveCfg = Checked|x64 + {71AB8240-F179-4B21-A8BE-8BE6CD774ED9}.Checked|Any CPU.Build.0 = Checked|x64 + {71AB8240-F179-4B21-A8BE-8BE6CD774ED9}.Checked|x64.ActiveCfg = Checked|x64 + {71AB8240-F179-4B21-A8BE-8BE6CD774ED9}.Checked|x64.Build.0 = Checked|x64 + {71AB8240-F179-4B21-A8BE-8BE6CD774ED9}.Checked|x86.ActiveCfg = Checked|x86 + {71AB8240-F179-4B21-A8BE-8BE6CD774ED9}.Checked|x86.Build.0 = Checked|x86 {71AB8240-F179-4B21-A8BE-8BE6CD774ED9}.Debug|Any CPU.ActiveCfg = Debug|x64 {71AB8240-F179-4B21-A8BE-8BE6CD774ED9}.Debug|Any CPU.Build.0 = Debug|x64 {71AB8240-F179-4B21-A8BE-8BE6CD774ED9}.Debug|x64.ActiveCfg = Debug|x64 @@ -107,12 +92,9 @@ Global {71AB8240-F179-4B21-A8BE-8BE6CD774ED9}.Release|x64.Build.0 = Release|x64 {71AB8240-F179-4B21-A8BE-8BE6CD774ED9}.Release|x86.ActiveCfg = Release|x86 {71AB8240-F179-4B21-A8BE-8BE6CD774ED9}.Release|x86.Build.0 = Release|x86 - {71AB8240-F179-4B21-A8BE-8BE6CD774ED9}.Checked|Any CPU.ActiveCfg = Checked|x64 - {71AB8240-F179-4B21-A8BE-8BE6CD774ED9}.Checked|Any CPU.Build.0 = Checked|x64 - {71AB8240-F179-4B21-A8BE-8BE6CD774ED9}.Checked|x64.ActiveCfg = Checked|x64 - {71AB8240-F179-4B21-A8BE-8BE6CD774ED9}.Checked|x64.Build.0 = Checked|x64 - {71AB8240-F179-4B21-A8BE-8BE6CD774ED9}.Checked|x86.ActiveCfg = Checked|x86 - {71AB8240-F179-4B21-A8BE-8BE6CD774ED9}.Checked|x86.Build.0 = Checked|x86 + {9DF0247E-5B81-4EF3-82CA-3E70B3A56742}.Checked|Any CPU.ActiveCfg = Debug|Any CPU + {9DF0247E-5B81-4EF3-82CA-3E70B3A56742}.Checked|x64.ActiveCfg = Debug|Any CPU + {9DF0247E-5B81-4EF3-82CA-3E70B3A56742}.Checked|x86.ActiveCfg = Debug|Any CPU {9DF0247E-5B81-4EF3-82CA-3E70B3A56742}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {9DF0247E-5B81-4EF3-82CA-3E70B3A56742}.Debug|Any CPU.Build.0 = Debug|Any CPU {9DF0247E-5B81-4EF3-82CA-3E70B3A56742}.Debug|x64.ActiveCfg = Debug|Any CPU @@ -125,9 +107,9 @@ Global {9DF0247E-5B81-4EF3-82CA-3E70B3A56742}.Release|x64.Build.0 = Release|Any CPU {9DF0247E-5B81-4EF3-82CA-3E70B3A56742}.Release|x86.ActiveCfg = Release|Any CPU {9DF0247E-5B81-4EF3-82CA-3E70B3A56742}.Release|x86.Build.0 = Release|Any CPU - {9DF0247E-5B81-4EF3-82CA-3E70B3A56742}.Checked|Any CPU.ActiveCfg = Debug|Any CPU - {9DF0247E-5B81-4EF3-82CA-3E70B3A56742}.Checked|x64.ActiveCfg = Debug|Any CPU - {9DF0247E-5B81-4EF3-82CA-3E70B3A56742}.Checked|x86.ActiveCfg = Debug|Any CPU + {FB17AC52-1633-4845-932B-9218DF895957}.Checked|Any CPU.ActiveCfg = Debug|Any CPU + {FB17AC52-1633-4845-932B-9218DF895957}.Checked|x64.ActiveCfg = Debug|Any CPU + {FB17AC52-1633-4845-932B-9218DF895957}.Checked|x86.ActiveCfg = Debug|Any CPU {FB17AC52-1633-4845-932B-9218DF895957}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {FB17AC52-1633-4845-932B-9218DF895957}.Debug|Any CPU.Build.0 = Debug|Any CPU {FB17AC52-1633-4845-932B-9218DF895957}.Debug|x64.ActiveCfg = Debug|Any CPU @@ -140,9 +122,9 @@ Global {FB17AC52-1633-4845-932B-9218DF895957}.Release|x64.Build.0 = Release|Any CPU {FB17AC52-1633-4845-932B-9218DF895957}.Release|x86.ActiveCfg = Release|Any CPU {FB17AC52-1633-4845-932B-9218DF895957}.Release|x86.Build.0 = Release|Any CPU - {FB17AC52-1633-4845-932B-9218DF895957}.Checked|Any CPU.ActiveCfg = Debug|Any CPU - {FB17AC52-1633-4845-932B-9218DF895957}.Checked|x64.ActiveCfg = Debug|Any CPU - {FB17AC52-1633-4845-932B-9218DF895957}.Checked|x86.ActiveCfg = Debug|Any CPU + {D98FBB47-1DFD-4021-9C80-3034D699EAD6}.Checked|Any CPU.ActiveCfg = Debug|Any CPU + {D98FBB47-1DFD-4021-9C80-3034D699EAD6}.Checked|x64.ActiveCfg = Debug|Any CPU + {D98FBB47-1DFD-4021-9C80-3034D699EAD6}.Checked|x86.ActiveCfg = Debug|Any CPU {D98FBB47-1DFD-4021-9C80-3034D699EAD6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {D98FBB47-1DFD-4021-9C80-3034D699EAD6}.Debug|Any CPU.Build.0 = Debug|Any CPU {D98FBB47-1DFD-4021-9C80-3034D699EAD6}.Debug|x64.ActiveCfg = Debug|Any CPU @@ -155,9 +137,9 @@ Global {D98FBB47-1DFD-4021-9C80-3034D699EAD6}.Release|x64.Build.0 = Release|Any CPU {D98FBB47-1DFD-4021-9C80-3034D699EAD6}.Release|x86.ActiveCfg = Release|Any CPU {D98FBB47-1DFD-4021-9C80-3034D699EAD6}.Release|x86.Build.0 = Release|Any CPU - {D98FBB47-1DFD-4021-9C80-3034D699EAD6}.Checked|Any CPU.ActiveCfg = Debug|Any CPU - {D98FBB47-1DFD-4021-9C80-3034D699EAD6}.Checked|x64.ActiveCfg = Debug|Any CPU - {D98FBB47-1DFD-4021-9C80-3034D699EAD6}.Checked|x86.ActiveCfg = Debug|Any CPU + {9C41B325-1225-43CA-9436-549AFF6D90A1}.Checked|Any CPU.ActiveCfg = Debug|Any CPU + {9C41B325-1225-43CA-9436-549AFF6D90A1}.Checked|x64.ActiveCfg = Debug|Any CPU + {9C41B325-1225-43CA-9436-549AFF6D90A1}.Checked|x86.ActiveCfg = Debug|Any CPU {9C41B325-1225-43CA-9436-549AFF6D90A1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {9C41B325-1225-43CA-9436-549AFF6D90A1}.Debug|Any CPU.Build.0 = Debug|Any CPU {9C41B325-1225-43CA-9436-549AFF6D90A1}.Debug|x64.ActiveCfg = Debug|Any CPU @@ -170,9 +152,9 @@ Global {9C41B325-1225-43CA-9436-549AFF6D90A1}.Release|x64.Build.0 = Release|Any CPU {9C41B325-1225-43CA-9436-549AFF6D90A1}.Release|x86.ActiveCfg = Release|Any CPU {9C41B325-1225-43CA-9436-549AFF6D90A1}.Release|x86.Build.0 = Release|Any CPU - {9C41B325-1225-43CA-9436-549AFF6D90A1}.Checked|Any CPU.ActiveCfg = Debug|Any CPU - {9C41B325-1225-43CA-9436-549AFF6D90A1}.Checked|x64.ActiveCfg = Debug|Any CPU - {9C41B325-1225-43CA-9436-549AFF6D90A1}.Checked|x86.ActiveCfg = Debug|Any CPU + {E7A05515-DABE-4C09-83CB-CE84EFDCD4CC}.Checked|Any CPU.ActiveCfg = Debug|Any CPU + {E7A05515-DABE-4C09-83CB-CE84EFDCD4CC}.Checked|x64.ActiveCfg = Debug|Any CPU + {E7A05515-DABE-4C09-83CB-CE84EFDCD4CC}.Checked|x86.ActiveCfg = Debug|Any CPU {E7A05515-DABE-4C09-83CB-CE84EFDCD4CC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {E7A05515-DABE-4C09-83CB-CE84EFDCD4CC}.Debug|Any CPU.Build.0 = Debug|Any CPU {E7A05515-DABE-4C09-83CB-CE84EFDCD4CC}.Debug|x64.ActiveCfg = Debug|Any CPU @@ -185,9 +167,9 @@ Global {E7A05515-DABE-4C09-83CB-CE84EFDCD4CC}.Release|x64.Build.0 = Release|Any CPU {E7A05515-DABE-4C09-83CB-CE84EFDCD4CC}.Release|x86.ActiveCfg = Release|Any CPU {E7A05515-DABE-4C09-83CB-CE84EFDCD4CC}.Release|x86.Build.0 = Release|Any CPU - {E7A05515-DABE-4C09-83CB-CE84EFDCD4CC}.Checked|Any CPU.ActiveCfg = Debug|Any CPU - {E7A05515-DABE-4C09-83CB-CE84EFDCD4CC}.Checked|x64.ActiveCfg = Debug|Any CPU - {E7A05515-DABE-4C09-83CB-CE84EFDCD4CC}.Checked|x86.ActiveCfg = Debug|Any CPU + {C1B93F37-FDD5-4ABB-A244-C6C60BD11CF3}.Checked|Any CPU.ActiveCfg = Debug|Any CPU + {C1B93F37-FDD5-4ABB-A244-C6C60BD11CF3}.Checked|x64.ActiveCfg = Debug|Any CPU + {C1B93F37-FDD5-4ABB-A244-C6C60BD11CF3}.Checked|x86.ActiveCfg = Debug|Any CPU {C1B93F37-FDD5-4ABB-A244-C6C60BD11CF3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {C1B93F37-FDD5-4ABB-A244-C6C60BD11CF3}.Debug|Any CPU.Build.0 = Debug|Any CPU {C1B93F37-FDD5-4ABB-A244-C6C60BD11CF3}.Debug|x64.ActiveCfg = Debug|Any CPU @@ -200,9 +182,9 @@ Global {C1B93F37-FDD5-4ABB-A244-C6C60BD11CF3}.Release|x64.Build.0 = Release|Any CPU {C1B93F37-FDD5-4ABB-A244-C6C60BD11CF3}.Release|x86.ActiveCfg = Release|Any CPU {C1B93F37-FDD5-4ABB-A244-C6C60BD11CF3}.Release|x86.Build.0 = Release|Any CPU - {C1B93F37-FDD5-4ABB-A244-C6C60BD11CF3}.Checked|Any CPU.ActiveCfg = Debug|Any CPU - {C1B93F37-FDD5-4ABB-A244-C6C60BD11CF3}.Checked|x64.ActiveCfg = Debug|Any CPU - {C1B93F37-FDD5-4ABB-A244-C6C60BD11CF3}.Checked|x86.ActiveCfg = Debug|Any CPU + {26541647-B653-4480-9448-BA275D53C81D}.Checked|Any CPU.ActiveCfg = Debug|Any CPU + {26541647-B653-4480-9448-BA275D53C81D}.Checked|x64.ActiveCfg = Debug|Any CPU + {26541647-B653-4480-9448-BA275D53C81D}.Checked|x86.ActiveCfg = Debug|Any CPU {26541647-B653-4480-9448-BA275D53C81D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {26541647-B653-4480-9448-BA275D53C81D}.Debug|Any CPU.Build.0 = Debug|Any CPU {26541647-B653-4480-9448-BA275D53C81D}.Debug|x64.ActiveCfg = Debug|Any CPU @@ -215,9 +197,9 @@ Global {26541647-B653-4480-9448-BA275D53C81D}.Release|x64.Build.0 = Release|Any CPU {26541647-B653-4480-9448-BA275D53C81D}.Release|x86.ActiveCfg = Release|Any CPU {26541647-B653-4480-9448-BA275D53C81D}.Release|x86.Build.0 = Release|Any CPU - {26541647-B653-4480-9448-BA275D53C81D}.Checked|Any CPU.ActiveCfg = Debug|Any CPU - {26541647-B653-4480-9448-BA275D53C81D}.Checked|x64.ActiveCfg = Debug|Any CPU - {26541647-B653-4480-9448-BA275D53C81D}.Checked|x86.ActiveCfg = Debug|Any CPU + {F39E2C7E-5FE1-460C-AC2C-7E2B50955F2C}.Checked|Any CPU.ActiveCfg = Debug|Any CPU + {F39E2C7E-5FE1-460C-AC2C-7E2B50955F2C}.Checked|x64.ActiveCfg = Debug|Any CPU + {F39E2C7E-5FE1-460C-AC2C-7E2B50955F2C}.Checked|x86.ActiveCfg = Debug|Any CPU {F39E2C7E-5FE1-460C-AC2C-7E2B50955F2C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {F39E2C7E-5FE1-460C-AC2C-7E2B50955F2C}.Debug|Any CPU.Build.0 = Debug|Any CPU {F39E2C7E-5FE1-460C-AC2C-7E2B50955F2C}.Debug|x64.ActiveCfg = Debug|Any CPU @@ -230,9 +212,9 @@ Global {F39E2C7E-5FE1-460C-AC2C-7E2B50955F2C}.Release|x64.Build.0 = Release|Any CPU {F39E2C7E-5FE1-460C-AC2C-7E2B50955F2C}.Release|x86.ActiveCfg = Release|Any CPU {F39E2C7E-5FE1-460C-AC2C-7E2B50955F2C}.Release|x86.Build.0 = Release|Any CPU - {F39E2C7E-5FE1-460C-AC2C-7E2B50955F2C}.Checked|Any CPU.ActiveCfg = Debug|Any CPU - {F39E2C7E-5FE1-460C-AC2C-7E2B50955F2C}.Checked|x64.ActiveCfg = Debug|Any CPU - {F39E2C7E-5FE1-460C-AC2C-7E2B50955F2C}.Checked|x86.ActiveCfg = Debug|Any CPU + {A83A8520-F5E2-49B4-83BC-0F82A412951D}.Checked|Any CPU.ActiveCfg = Debug|Any CPU + {A83A8520-F5E2-49B4-83BC-0F82A412951D}.Checked|x64.ActiveCfg = Debug|Any CPU + {A83A8520-F5E2-49B4-83BC-0F82A412951D}.Checked|x86.ActiveCfg = Debug|Any CPU {A83A8520-F5E2-49B4-83BC-0F82A412951D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {A83A8520-F5E2-49B4-83BC-0F82A412951D}.Debug|Any CPU.Build.0 = Debug|Any CPU {A83A8520-F5E2-49B4-83BC-0F82A412951D}.Debug|x64.ActiveCfg = Debug|Any CPU @@ -245,9 +227,9 @@ Global {A83A8520-F5E2-49B4-83BC-0F82A412951D}.Release|x64.Build.0 = Release|Any CPU {A83A8520-F5E2-49B4-83BC-0F82A412951D}.Release|x86.ActiveCfg = Release|Any CPU {A83A8520-F5E2-49B4-83BC-0F82A412951D}.Release|x86.Build.0 = Release|Any CPU - {A83A8520-F5E2-49B4-83BC-0F82A412951D}.Checked|Any CPU.ActiveCfg = Debug|Any CPU - {A83A8520-F5E2-49B4-83BC-0F82A412951D}.Checked|x64.ActiveCfg = Debug|Any CPU - {A83A8520-F5E2-49B4-83BC-0F82A412951D}.Checked|x86.ActiveCfg = Debug|Any CPU + {3B79DD71-8C2F-41BC-A1A7-86A490D6C726}.Checked|Any CPU.ActiveCfg = Debug|Any CPU + {3B79DD71-8C2F-41BC-A1A7-86A490D6C726}.Checked|x64.ActiveCfg = Debug|Any CPU + {3B79DD71-8C2F-41BC-A1A7-86A490D6C726}.Checked|x86.ActiveCfg = Debug|Any CPU {3B79DD71-8C2F-41BC-A1A7-86A490D6C726}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {3B79DD71-8C2F-41BC-A1A7-86A490D6C726}.Debug|Any CPU.Build.0 = Debug|Any CPU {3B79DD71-8C2F-41BC-A1A7-86A490D6C726}.Debug|x64.ActiveCfg = Debug|Any CPU @@ -260,9 +242,9 @@ Global {3B79DD71-8C2F-41BC-A1A7-86A490D6C726}.Release|x64.Build.0 = Release|Any CPU {3B79DD71-8C2F-41BC-A1A7-86A490D6C726}.Release|x86.ActiveCfg = Release|Any CPU {3B79DD71-8C2F-41BC-A1A7-86A490D6C726}.Release|x86.Build.0 = Release|Any CPU - {3B79DD71-8C2F-41BC-A1A7-86A490D6C726}.Checked|Any CPU.ActiveCfg = Debug|Any CPU - {3B79DD71-8C2F-41BC-A1A7-86A490D6C726}.Checked|x64.ActiveCfg = Debug|Any CPU - {3B79DD71-8C2F-41BC-A1A7-86A490D6C726}.Checked|x86.ActiveCfg = Debug|Any CPU + {4EE36055-AD7C-4779-B3F6-08687960DCC3}.Checked|Any CPU.ActiveCfg = Debug|Any CPU + {4EE36055-AD7C-4779-B3F6-08687960DCC3}.Checked|x64.ActiveCfg = Debug|Any CPU + {4EE36055-AD7C-4779-B3F6-08687960DCC3}.Checked|x86.ActiveCfg = Debug|Any CPU {4EE36055-AD7C-4779-B3F6-08687960DCC3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {4EE36055-AD7C-4779-B3F6-08687960DCC3}.Debug|Any CPU.Build.0 = Debug|Any CPU {4EE36055-AD7C-4779-B3F6-08687960DCC3}.Debug|x64.ActiveCfg = Debug|Any CPU @@ -275,9 +257,9 @@ Global {4EE36055-AD7C-4779-B3F6-08687960DCC3}.Release|x64.Build.0 = Release|Any CPU {4EE36055-AD7C-4779-B3F6-08687960DCC3}.Release|x86.ActiveCfg = Release|Any CPU {4EE36055-AD7C-4779-B3F6-08687960DCC3}.Release|x86.Build.0 = Release|Any CPU - {4EE36055-AD7C-4779-B3F6-08687960DCC3}.Checked|Any CPU.ActiveCfg = Debug|Any CPU - {4EE36055-AD7C-4779-B3F6-08687960DCC3}.Checked|x64.ActiveCfg = Debug|Any CPU - {4EE36055-AD7C-4779-B3F6-08687960DCC3}.Checked|x86.ActiveCfg = Debug|Any CPU + {C230AC88-A377-4BEB-824F-AB174C14DC86}.Checked|Any CPU.ActiveCfg = Debug|Any CPU + {C230AC88-A377-4BEB-824F-AB174C14DC86}.Checked|x64.ActiveCfg = Debug|Any CPU + {C230AC88-A377-4BEB-824F-AB174C14DC86}.Checked|x86.ActiveCfg = Debug|Any CPU {C230AC88-A377-4BEB-824F-AB174C14DC86}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {C230AC88-A377-4BEB-824F-AB174C14DC86}.Debug|Any CPU.Build.0 = Debug|Any CPU {C230AC88-A377-4BEB-824F-AB174C14DC86}.Debug|x64.ActiveCfg = Debug|Any CPU @@ -290,9 +272,9 @@ Global {C230AC88-A377-4BEB-824F-AB174C14DC86}.Release|x64.Build.0 = Release|Any CPU {C230AC88-A377-4BEB-824F-AB174C14DC86}.Release|x86.ActiveCfg = Release|Any CPU {C230AC88-A377-4BEB-824F-AB174C14DC86}.Release|x86.Build.0 = Release|Any CPU - {C230AC88-A377-4BEB-824F-AB174C14DC86}.Checked|Any CPU.ActiveCfg = Debug|Any CPU - {C230AC88-A377-4BEB-824F-AB174C14DC86}.Checked|x64.ActiveCfg = Debug|Any CPU - {C230AC88-A377-4BEB-824F-AB174C14DC86}.Checked|x86.ActiveCfg = Debug|Any CPU + {1BCCD2F5-A561-4641-8A0B-51F3EDCA35DC}.Checked|Any CPU.ActiveCfg = Debug|Any CPU + {1BCCD2F5-A561-4641-8A0B-51F3EDCA35DC}.Checked|x64.ActiveCfg = Debug|Any CPU + {1BCCD2F5-A561-4641-8A0B-51F3EDCA35DC}.Checked|x86.ActiveCfg = Debug|Any CPU {1BCCD2F5-A561-4641-8A0B-51F3EDCA35DC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {1BCCD2F5-A561-4641-8A0B-51F3EDCA35DC}.Debug|Any CPU.Build.0 = Debug|Any CPU {1BCCD2F5-A561-4641-8A0B-51F3EDCA35DC}.Debug|x64.ActiveCfg = Debug|Any CPU @@ -305,9 +287,9 @@ Global {1BCCD2F5-A561-4641-8A0B-51F3EDCA35DC}.Release|x64.Build.0 = Release|Any CPU {1BCCD2F5-A561-4641-8A0B-51F3EDCA35DC}.Release|x86.ActiveCfg = Release|Any CPU {1BCCD2F5-A561-4641-8A0B-51F3EDCA35DC}.Release|x86.Build.0 = Release|Any CPU - {1BCCD2F5-A561-4641-8A0B-51F3EDCA35DC}.Checked|Any CPU.ActiveCfg = Debug|Any CPU - {1BCCD2F5-A561-4641-8A0B-51F3EDCA35DC}.Checked|x64.ActiveCfg = Debug|Any CPU - {1BCCD2F5-A561-4641-8A0B-51F3EDCA35DC}.Checked|x86.ActiveCfg = Debug|Any CPU + {0F83B07B-2E3F-4708-BE6D-7A8DA8168803}.Checked|Any CPU.ActiveCfg = Debug|Any CPU + {0F83B07B-2E3F-4708-BE6D-7A8DA8168803}.Checked|x64.ActiveCfg = Debug|Any CPU + {0F83B07B-2E3F-4708-BE6D-7A8DA8168803}.Checked|x86.ActiveCfg = Debug|Any CPU {0F83B07B-2E3F-4708-BE6D-7A8DA8168803}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {0F83B07B-2E3F-4708-BE6D-7A8DA8168803}.Debug|Any CPU.Build.0 = Debug|Any CPU {0F83B07B-2E3F-4708-BE6D-7A8DA8168803}.Debug|x64.ActiveCfg = Debug|Any CPU @@ -320,9 +302,9 @@ Global {0F83B07B-2E3F-4708-BE6D-7A8DA8168803}.Release|x64.Build.0 = Release|Any CPU {0F83B07B-2E3F-4708-BE6D-7A8DA8168803}.Release|x86.ActiveCfg = Release|Any CPU {0F83B07B-2E3F-4708-BE6D-7A8DA8168803}.Release|x86.Build.0 = Release|Any CPU - {0F83B07B-2E3F-4708-BE6D-7A8DA8168803}.Checked|Any CPU.ActiveCfg = Debug|Any CPU - {0F83B07B-2E3F-4708-BE6D-7A8DA8168803}.Checked|x64.ActiveCfg = Debug|Any CPU - {0F83B07B-2E3F-4708-BE6D-7A8DA8168803}.Checked|x86.ActiveCfg = Debug|Any CPU + {833C1D45-9BBB-4A92-93B7-4EFFD9E945AD}.Checked|Any CPU.ActiveCfg = Debug|Any CPU + {833C1D45-9BBB-4A92-93B7-4EFFD9E945AD}.Checked|x64.ActiveCfg = Debug|Any CPU + {833C1D45-9BBB-4A92-93B7-4EFFD9E945AD}.Checked|x86.ActiveCfg = Debug|Any CPU {833C1D45-9BBB-4A92-93B7-4EFFD9E945AD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {833C1D45-9BBB-4A92-93B7-4EFFD9E945AD}.Debug|Any CPU.Build.0 = Debug|Any CPU {833C1D45-9BBB-4A92-93B7-4EFFD9E945AD}.Debug|x64.ActiveCfg = Debug|Any CPU @@ -335,9 +317,9 @@ Global {833C1D45-9BBB-4A92-93B7-4EFFD9E945AD}.Release|x64.Build.0 = Release|Any CPU {833C1D45-9BBB-4A92-93B7-4EFFD9E945AD}.Release|x86.ActiveCfg = Release|Any CPU {833C1D45-9BBB-4A92-93B7-4EFFD9E945AD}.Release|x86.Build.0 = Release|Any CPU - {833C1D45-9BBB-4A92-93B7-4EFFD9E945AD}.Checked|Any CPU.ActiveCfg = Debug|Any CPU - {833C1D45-9BBB-4A92-93B7-4EFFD9E945AD}.Checked|x64.ActiveCfg = Debug|Any CPU - {833C1D45-9BBB-4A92-93B7-4EFFD9E945AD}.Checked|x86.ActiveCfg = Debug|Any CPU + {67E57433-4571-442C-9EB7-5512847FFE51}.Checked|Any CPU.ActiveCfg = Debug|Any CPU + {67E57433-4571-442C-9EB7-5512847FFE51}.Checked|x64.ActiveCfg = Debug|Any CPU + {67E57433-4571-442C-9EB7-5512847FFE51}.Checked|x86.ActiveCfg = Debug|Any CPU {67E57433-4571-442C-9EB7-5512847FFE51}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {67E57433-4571-442C-9EB7-5512847FFE51}.Debug|Any CPU.Build.0 = Debug|Any CPU {67E57433-4571-442C-9EB7-5512847FFE51}.Debug|x64.ActiveCfg = Debug|Any CPU @@ -350,9 +332,9 @@ Global {67E57433-4571-442C-9EB7-5512847FFE51}.Release|x64.Build.0 = Release|Any CPU {67E57433-4571-442C-9EB7-5512847FFE51}.Release|x86.ActiveCfg = Release|Any CPU {67E57433-4571-442C-9EB7-5512847FFE51}.Release|x86.Build.0 = Release|Any CPU - {67E57433-4571-442C-9EB7-5512847FFE51}.Checked|Any CPU.ActiveCfg = Debug|Any CPU - {67E57433-4571-442C-9EB7-5512847FFE51}.Checked|x64.ActiveCfg = Debug|Any CPU - {67E57433-4571-442C-9EB7-5512847FFE51}.Checked|x86.ActiveCfg = Debug|Any CPU + {DBFDC8D7-97CA-444C-BE48-BAA09331CD1B}.Checked|Any CPU.ActiveCfg = Debug|Any CPU + {DBFDC8D7-97CA-444C-BE48-BAA09331CD1B}.Checked|x64.ActiveCfg = Debug|Any CPU + {DBFDC8D7-97CA-444C-BE48-BAA09331CD1B}.Checked|x86.ActiveCfg = Debug|Any CPU {DBFDC8D7-97CA-444C-BE48-BAA09331CD1B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {DBFDC8D7-97CA-444C-BE48-BAA09331CD1B}.Debug|Any CPU.Build.0 = Debug|Any CPU {DBFDC8D7-97CA-444C-BE48-BAA09331CD1B}.Debug|x64.ActiveCfg = Debug|Any CPU @@ -365,9 +347,9 @@ Global {DBFDC8D7-97CA-444C-BE48-BAA09331CD1B}.Release|x64.Build.0 = Release|Any CPU {DBFDC8D7-97CA-444C-BE48-BAA09331CD1B}.Release|x86.ActiveCfg = Release|Any CPU {DBFDC8D7-97CA-444C-BE48-BAA09331CD1B}.Release|x86.Build.0 = Release|Any CPU - {DBFDC8D7-97CA-444C-BE48-BAA09331CD1B}.Checked|Any CPU.ActiveCfg = Debug|Any CPU - {DBFDC8D7-97CA-444C-BE48-BAA09331CD1B}.Checked|x64.ActiveCfg = Debug|Any CPU - {DBFDC8D7-97CA-444C-BE48-BAA09331CD1B}.Checked|x86.ActiveCfg = Debug|Any CPU + {1B4552A4-91FD-4C6F-9EB4-3454C4BE428F}.Checked|Any CPU.ActiveCfg = Debug|Any CPU + {1B4552A4-91FD-4C6F-9EB4-3454C4BE428F}.Checked|x64.ActiveCfg = Debug|Any CPU + {1B4552A4-91FD-4C6F-9EB4-3454C4BE428F}.Checked|x86.ActiveCfg = Debug|Any CPU {1B4552A4-91FD-4C6F-9EB4-3454C4BE428F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {1B4552A4-91FD-4C6F-9EB4-3454C4BE428F}.Debug|Any CPU.Build.0 = Debug|Any CPU {1B4552A4-91FD-4C6F-9EB4-3454C4BE428F}.Debug|x64.ActiveCfg = Debug|Any CPU @@ -380,9 +362,9 @@ Global {1B4552A4-91FD-4C6F-9EB4-3454C4BE428F}.Release|x64.Build.0 = Release|Any CPU {1B4552A4-91FD-4C6F-9EB4-3454C4BE428F}.Release|x86.ActiveCfg = Release|Any CPU {1B4552A4-91FD-4C6F-9EB4-3454C4BE428F}.Release|x86.Build.0 = Release|Any CPU - {1B4552A4-91FD-4C6F-9EB4-3454C4BE428F}.Checked|Any CPU.ActiveCfg = Debug|Any CPU - {1B4552A4-91FD-4C6F-9EB4-3454C4BE428F}.Checked|x64.ActiveCfg = Debug|Any CPU - {1B4552A4-91FD-4C6F-9EB4-3454C4BE428F}.Checked|x86.ActiveCfg = Debug|Any CPU + {F6A8185B-07C6-401D-9B40-3C560239E05F}.Checked|Any CPU.ActiveCfg = Debug|Any CPU + {F6A8185B-07C6-401D-9B40-3C560239E05F}.Checked|x64.ActiveCfg = Debug|Any CPU + {F6A8185B-07C6-401D-9B40-3C560239E05F}.Checked|x86.ActiveCfg = Debug|Any CPU {F6A8185B-07C6-401D-9B40-3C560239E05F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {F6A8185B-07C6-401D-9B40-3C560239E05F}.Debug|Any CPU.Build.0 = Debug|Any CPU {F6A8185B-07C6-401D-9B40-3C560239E05F}.Debug|x64.ActiveCfg = Debug|Any CPU @@ -395,9 +377,9 @@ Global {F6A8185B-07C6-401D-9B40-3C560239E05F}.Release|x64.Build.0 = Release|Any CPU {F6A8185B-07C6-401D-9B40-3C560239E05F}.Release|x86.ActiveCfg = Release|Any CPU {F6A8185B-07C6-401D-9B40-3C560239E05F}.Release|x86.Build.0 = Release|Any CPU - {F6A8185B-07C6-401D-9B40-3C560239E05F}.Checked|Any CPU.ActiveCfg = Debug|Any CPU - {F6A8185B-07C6-401D-9B40-3C560239E05F}.Checked|x64.ActiveCfg = Debug|Any CPU - {F6A8185B-07C6-401D-9B40-3C560239E05F}.Checked|x86.ActiveCfg = Debug|Any CPU + {F5D24DC1-048D-4306-9C48-5963685F825C}.Checked|Any CPU.ActiveCfg = Debug|Any CPU + {F5D24DC1-048D-4306-9C48-5963685F825C}.Checked|x64.ActiveCfg = Debug|Any CPU + {F5D24DC1-048D-4306-9C48-5963685F825C}.Checked|x86.ActiveCfg = Debug|Any CPU {F5D24DC1-048D-4306-9C48-5963685F825C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {F5D24DC1-048D-4306-9C48-5963685F825C}.Debug|Any CPU.Build.0 = Debug|Any CPU {F5D24DC1-048D-4306-9C48-5963685F825C}.Debug|x64.ActiveCfg = Debug|Any CPU @@ -410,9 +392,9 @@ Global {F5D24DC1-048D-4306-9C48-5963685F825C}.Release|x64.Build.0 = Release|Any CPU {F5D24DC1-048D-4306-9C48-5963685F825C}.Release|x86.ActiveCfg = Release|Any CPU {F5D24DC1-048D-4306-9C48-5963685F825C}.Release|x86.Build.0 = Release|Any CPU - {F5D24DC1-048D-4306-9C48-5963685F825C}.Checked|Any CPU.ActiveCfg = Debug|Any CPU - {F5D24DC1-048D-4306-9C48-5963685F825C}.Checked|x64.ActiveCfg = Debug|Any CPU - {F5D24DC1-048D-4306-9C48-5963685F825C}.Checked|x86.ActiveCfg = Debug|Any CPU + {82A02402-0C05-4A8C-98DD-058844E8D224}.Checked|Any CPU.ActiveCfg = Debug|Any CPU + {82A02402-0C05-4A8C-98DD-058844E8D224}.Checked|x64.ActiveCfg = Debug|Any CPU + {82A02402-0C05-4A8C-98DD-058844E8D224}.Checked|x86.ActiveCfg = Debug|Any CPU {82A02402-0C05-4A8C-98DD-058844E8D224}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {82A02402-0C05-4A8C-98DD-058844E8D224}.Debug|Any CPU.Build.0 = Debug|Any CPU {82A02402-0C05-4A8C-98DD-058844E8D224}.Debug|x64.ActiveCfg = Debug|Any CPU @@ -425,9 +407,9 @@ Global {82A02402-0C05-4A8C-98DD-058844E8D224}.Release|x64.Build.0 = Release|Any CPU {82A02402-0C05-4A8C-98DD-058844E8D224}.Release|x86.ActiveCfg = Release|Any CPU {82A02402-0C05-4A8C-98DD-058844E8D224}.Release|x86.Build.0 = Release|Any CPU - {82A02402-0C05-4A8C-98DD-058844E8D224}.Checked|Any CPU.ActiveCfg = Debug|Any CPU - {82A02402-0C05-4A8C-98DD-058844E8D224}.Checked|x64.ActiveCfg = Debug|Any CPU - {82A02402-0C05-4A8C-98DD-058844E8D224}.Checked|x86.ActiveCfg = Debug|Any CPU + {9CF6C6E6-0E9F-4A95-84B5-6083EAB6FA13}.Checked|Any CPU.ActiveCfg = Debug|Any CPU + {9CF6C6E6-0E9F-4A95-84B5-6083EAB6FA13}.Checked|x64.ActiveCfg = Debug|Any CPU + {9CF6C6E6-0E9F-4A95-84B5-6083EAB6FA13}.Checked|x86.ActiveCfg = Debug|Any CPU {9CF6C6E6-0E9F-4A95-84B5-6083EAB6FA13}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {9CF6C6E6-0E9F-4A95-84B5-6083EAB6FA13}.Debug|Any CPU.Build.0 = Debug|Any CPU {9CF6C6E6-0E9F-4A95-84B5-6083EAB6FA13}.Debug|x64.ActiveCfg = Debug|Any CPU @@ -440,9 +422,9 @@ Global {9CF6C6E6-0E9F-4A95-84B5-6083EAB6FA13}.Release|x64.Build.0 = Release|Any CPU {9CF6C6E6-0E9F-4A95-84B5-6083EAB6FA13}.Release|x86.ActiveCfg = Release|Any CPU {9CF6C6E6-0E9F-4A95-84B5-6083EAB6FA13}.Release|x86.Build.0 = Release|Any CPU - {9CF6C6E6-0E9F-4A95-84B5-6083EAB6FA13}.Checked|Any CPU.ActiveCfg = Debug|Any CPU - {9CF6C6E6-0E9F-4A95-84B5-6083EAB6FA13}.Checked|x64.ActiveCfg = Debug|Any CPU - {9CF6C6E6-0E9F-4A95-84B5-6083EAB6FA13}.Checked|x86.ActiveCfg = Debug|Any CPU + {82728202-1098-4E16-B598-5762EAF67D08}.Checked|Any CPU.ActiveCfg = Debug|Any CPU + {82728202-1098-4E16-B598-5762EAF67D08}.Checked|x64.ActiveCfg = Debug|Any CPU + {82728202-1098-4E16-B598-5762EAF67D08}.Checked|x86.ActiveCfg = Debug|Any CPU {82728202-1098-4E16-B598-5762EAF67D08}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {82728202-1098-4E16-B598-5762EAF67D08}.Debug|Any CPU.Build.0 = Debug|Any CPU {82728202-1098-4E16-B598-5762EAF67D08}.Debug|x64.ActiveCfg = Debug|Any CPU @@ -455,9 +437,9 @@ Global {82728202-1098-4E16-B598-5762EAF67D08}.Release|x64.Build.0 = Release|Any CPU {82728202-1098-4E16-B598-5762EAF67D08}.Release|x86.ActiveCfg = Release|Any CPU {82728202-1098-4E16-B598-5762EAF67D08}.Release|x86.Build.0 = Release|Any CPU - {82728202-1098-4E16-B598-5762EAF67D08}.Checked|Any CPU.ActiveCfg = Debug|Any CPU - {82728202-1098-4E16-B598-5762EAF67D08}.Checked|x64.ActiveCfg = Debug|Any CPU - {82728202-1098-4E16-B598-5762EAF67D08}.Checked|x86.ActiveCfg = Debug|Any CPU + {069C2B51-069A-4FBB-BFE9-42D573F1CEEA}.Checked|Any CPU.ActiveCfg = Debug|Any CPU + {069C2B51-069A-4FBB-BFE9-42D573F1CEEA}.Checked|x64.ActiveCfg = Debug|Any CPU + {069C2B51-069A-4FBB-BFE9-42D573F1CEEA}.Checked|x86.ActiveCfg = Debug|Any CPU {069C2B51-069A-4FBB-BFE9-42D573F1CEEA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {069C2B51-069A-4FBB-BFE9-42D573F1CEEA}.Debug|Any CPU.Build.0 = Debug|Any CPU {069C2B51-069A-4FBB-BFE9-42D573F1CEEA}.Debug|x64.ActiveCfg = Debug|Any CPU @@ -470,13 +452,37 @@ Global {069C2B51-069A-4FBB-BFE9-42D573F1CEEA}.Release|x64.Build.0 = Release|Any CPU {069C2B51-069A-4FBB-BFE9-42D573F1CEEA}.Release|x86.ActiveCfg = Release|Any CPU {069C2B51-069A-4FBB-BFE9-42D573F1CEEA}.Release|x86.Build.0 = Release|Any CPU - {069C2B51-069A-4FBB-BFE9-42D573F1CEEA}.Checked|Any CPU.ActiveCfg = Debug|Any CPU - {069C2B51-069A-4FBB-BFE9-42D573F1CEEA}.Checked|x64.ActiveCfg = Debug|Any CPU - {069C2B51-069A-4FBB-BFE9-42D573F1CEEA}.Checked|x86.ActiveCfg = Debug|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE EndGlobalSection + GlobalSection(NestedProjects) = preSolution + {71AB8240-F179-4B21-A8BE-8BE6CD774ED9} = {C7032EBC-8AB7-4BE6-9D95-B420F058FAAF} + {9DF0247E-5B81-4EF3-82CA-3E70B3A56742} = {BDCC9986-D51F-48D9-9650-388E172CD91E} + {FB17AC52-1633-4845-932B-9218DF895957} = {BDCC9986-D51F-48D9-9650-388E172CD91E} + {D98FBB47-1DFD-4021-9C80-3034D699EAD6} = {F4F10B6C-21C0-4C9D-8909-76FC52145120} + {9C41B325-1225-43CA-9436-549AFF6D90A1} = {F4F10B6C-21C0-4C9D-8909-76FC52145120} + {E7A05515-DABE-4C09-83CB-CE84EFDCD4CC} = {C7032EBC-8AB7-4BE6-9D95-B420F058FAAF} + {C1B93F37-FDD5-4ABB-A244-C6C60BD11CF3} = {F4F10B6C-21C0-4C9D-8909-76FC52145120} + {26541647-B653-4480-9448-BA275D53C81D} = {C7032EBC-8AB7-4BE6-9D95-B420F058FAAF} + {F39E2C7E-5FE1-460C-AC2C-7E2B50955F2C} = {F4F10B6C-21C0-4C9D-8909-76FC52145120} + {A83A8520-F5E2-49B4-83BC-0F82A412951D} = {C7032EBC-8AB7-4BE6-9D95-B420F058FAAF} + {3B79DD71-8C2F-41BC-A1A7-86A490D6C726} = {BDCC9986-D51F-48D9-9650-388E172CD91E} + {4EE36055-AD7C-4779-B3F6-08687960DCC3} = {BDCC9986-D51F-48D9-9650-388E172CD91E} + {C230AC88-A377-4BEB-824F-AB174C14DC86} = {BDCC9986-D51F-48D9-9650-388E172CD91E} + {1BCCD2F5-A561-4641-8A0B-51F3EDCA35DC} = {BDCC9986-D51F-48D9-9650-388E172CD91E} + {0F83B07B-2E3F-4708-BE6D-7A8DA8168803} = {BDCC9986-D51F-48D9-9650-388E172CD91E} + {833C1D45-9BBB-4A92-93B7-4EFFD9E945AD} = {BDCC9986-D51F-48D9-9650-388E172CD91E} + {67E57433-4571-442C-9EB7-5512847FFE51} = {F4F10B6C-21C0-4C9D-8909-76FC52145120} + {DBFDC8D7-97CA-444C-BE48-BAA09331CD1B} = {C7032EBC-8AB7-4BE6-9D95-B420F058FAAF} + {1B4552A4-91FD-4C6F-9EB4-3454C4BE428F} = {F4F10B6C-21C0-4C9D-8909-76FC52145120} + {F6A8185B-07C6-401D-9B40-3C560239E05F} = {C7032EBC-8AB7-4BE6-9D95-B420F058FAAF} + {F5D24DC1-048D-4306-9C48-5963685F825C} = {F4F10B6C-21C0-4C9D-8909-76FC52145120} + {82A02402-0C05-4A8C-98DD-058844E8D224} = {C7032EBC-8AB7-4BE6-9D95-B420F058FAAF} + {9CF6C6E6-0E9F-4A95-84B5-6083EAB6FA13} = {C7032EBC-8AB7-4BE6-9D95-B420F058FAAF} + {82728202-1098-4E16-B598-5762EAF67D08} = {F4F10B6C-21C0-4C9D-8909-76FC52145120} + {069C2B51-069A-4FBB-BFE9-42D573F1CEEA} = {C7032EBC-8AB7-4BE6-9D95-B420F058FAAF} + EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {19706846-1F47-42ED-B649-B0982EE96E6B} EndGlobalSection diff --git a/src/libraries/System.Runtime/ref/System.Runtime.cs b/src/libraries/System.Runtime/ref/System.Runtime.cs index ff4f47dc9256ac..3c3806ef2da58b 100644 --- a/src/libraries/System.Runtime/ref/System.Runtime.cs +++ b/src/libraries/System.Runtime/ref/System.Runtime.cs @@ -319,6 +319,7 @@ internal Array() { } public static int BinarySearch(T[] array, int index, int length, T value, System.Collections.Generic.IComparer? comparer) { throw null; } public static int BinarySearch(T[] array, T value) { throw null; } public static int BinarySearch(T[] array, T value, System.Collections.Generic.IComparer? comparer) { throw null; } + public static void Clear(System.Array array) { } public static void Clear(System.Array array, int index, int length) { } public object Clone() { throw null; } public static void ConstrainedCopy(System.Array sourceArray, int sourceIndex, System.Array destinationArray, int destinationIndex, int length) { } diff --git a/src/libraries/System.Runtime/tests/System/ArrayTests.cs b/src/libraries/System.Runtime/tests/System/ArrayTests.cs index bada013ea1b027..04bb40e2aeb2ad 100644 --- a/src/libraries/System.Runtime/tests/System/ArrayTests.cs +++ b/src/libraries/System.Runtime/tests/System/ArrayTests.cs @@ -831,14 +831,20 @@ public static void Clear(Array array, int index, int length, Array expected) { if (index == 0 && length == array.Length) { - // Use IList.Clear() + // Use Array.Clear() Array arrayClone1 = (Array)array.Clone(); - ((IList)arrayClone1).Clear(); + Array.Clear(arrayClone1); Assert.Equal(expected, arrayClone1); + + // Use IList.Clear() + Array arrayClone2 = (Array)array.Clone(); + ((IList)arrayClone2).Clear(); + Assert.Equal(expected, arrayClone2); } - Array arrayClone2 = (Array)array.Clone(); - Array.Clear(arrayClone2, index, length); - Assert.Equal(expected, arrayClone2); + + Array arrayClone3 = (Array)array.Clone(); + Array.Clear(arrayClone3, index, length); + Assert.Equal(expected, arrayClone3); } [Fact] @@ -853,6 +859,23 @@ public static void Clear_Struct_WithReferenceAndValueTypeFields_Array() new NonGenericStruct { x = 5, s = "Hello", z = 6 } }; + Array.Clear(array); + for (int i = 0; i < array.Length; i++) + { + Assert.Equal(0, array[i].x); + Assert.Null(array[i].s); + Assert.Equal(0, array[i].z); + } + + array = new NonGenericStruct[] + { + new NonGenericStruct { x = 1, s = "Hello", z = 2 }, + new NonGenericStruct { x = 2, s = "Hello", z = 3 }, + new NonGenericStruct { x = 3, s = "Hello", z = 4 }, + new NonGenericStruct { x = 4, s = "Hello", z = 5 }, + new NonGenericStruct { x = 5, s = "Hello", z = 6 } + }; + Array.Clear(array, 0, 5); for (int i = 0; i < array.Length; i++) { @@ -891,6 +914,7 @@ public static void Clear_Struct_WithReferenceAndValueTypeFields_Array() [Fact] public static void Clear_Invalid() { + AssertExtensions.Throws("array", () => Array.Clear(null)); // Array is null AssertExtensions.Throws("array", () => Array.Clear(null, 0, 0)); // Array is null Assert.Throws(() => Array.Clear(new int[10], -1, 0)); // Index < 0 @@ -4675,8 +4699,14 @@ public static void Clear_LargeMultiDimensionalArray() } short[,] a = AllocateLargeMDArray(2, 2_000_000_000); + + // Test 1: use Array.Clear a[1, 1_999_999_999] = 0x1234; + Array.Clear(a); + Assert.Equal(0, a[1, 1_999_999_999]); + // Test 2: use IList.Clear + a[1, 1_999_999_999] = 0x1234; ((IList)a).Clear(); Assert.Equal(0, a[1, 1_999_999_999]); } diff --git a/src/libraries/System.Security.Cryptography.Algorithms/src/Internal/Cryptography/HashProviderDispenser.OSX.cs b/src/libraries/System.Security.Cryptography.Algorithms/src/Internal/Cryptography/HashProviderDispenser.OSX.cs index c01debbde58c1d..fa3ce8d92f5380 100644 --- a/src/libraries/System.Security.Cryptography.Algorithms/src/Internal/Cryptography/HashProviderDispenser.OSX.cs +++ b/src/libraries/System.Security.Cryptography.Algorithms/src/Internal/Cryptography/HashProviderDispenser.OSX.cs @@ -157,7 +157,7 @@ public override void Dispose(bool disposing) if (disposing) { _ctx?.Dispose(); - Array.Clear(_key, 0, _key.Length); + Array.Clear(_key); } } } diff --git a/src/libraries/System.Security.Cryptography.Algorithms/src/Internal/Cryptography/SHAHashProvider.Browser.cs b/src/libraries/System.Security.Cryptography.Algorithms/src/Internal/Cryptography/SHAHashProvider.Browser.cs index dff66e5ab8b619..5d4932a9c8cb84 100644 --- a/src/libraries/System.Security.Cryptography.Algorithms/src/Internal/Cryptography/SHAHashProvider.Browser.cs +++ b/src/libraries/System.Security.Cryptography.Algorithms/src/Internal/Cryptography/SHAHashProvider.Browser.cs @@ -133,8 +133,8 @@ public override void Initialize() InitializeState(); // Zeroize potentially sensitive information. - Array.Clear(_buffer, 0, _buffer.Length); - Array.Clear(_W, 0, _W.Length); + Array.Clear(_buffer); + Array.Clear(_W); } private void InitializeState() @@ -405,8 +405,8 @@ public override void Initialize() InitializeState(); // Zeroize potentially sensitive information. - Array.Clear(_buffer, 0, _buffer.Length); - Array.Clear(_W, 0, _W.Length); + Array.Clear(_buffer); + Array.Clear(_W); } private void InitializeState() @@ -692,8 +692,8 @@ public override void Initialize() InitializeState(); // Zeroize potentially sensitive information. - Array.Clear(_buffer, 0, _buffer.Length); - Array.Clear(_W, 0, _W.Length); + Array.Clear(_buffer); + Array.Clear(_W); } private void InitializeState() diff --git a/src/libraries/System.Security.Cryptography.Algorithms/src/System/Security/Cryptography/Rfc2898DeriveBytes.cs b/src/libraries/System.Security.Cryptography.Algorithms/src/System/Security/Cryptography/Rfc2898DeriveBytes.cs index 2648b2635bbc33..bc01e7d9780a7e 100644 --- a/src/libraries/System.Security.Cryptography.Algorithms/src/System/Security/Cryptography/Rfc2898DeriveBytes.cs +++ b/src/libraries/System.Security.Cryptography.Algorithms/src/System/Security/Cryptography/Rfc2898DeriveBytes.cs @@ -163,9 +163,9 @@ protected override void Dispose(bool disposing) } if (_buffer != null) - Array.Clear(_buffer, 0, _buffer.Length); + Array.Clear(_buffer); if (_salt != null) - Array.Clear(_salt, 0, _salt.Length); + Array.Clear(_salt); } base.Dispose(disposing); } @@ -260,7 +260,7 @@ private HMAC OpenHmac(byte[] password) private void Initialize() { if (_buffer != null) - Array.Clear(_buffer, 0, _buffer.Length); + Array.Clear(_buffer); _buffer = new byte[_blockSize]; _block = 0; _startIndex = _endIndex = 0; diff --git a/src/libraries/System.Security.Cryptography.Csp/src/System/Security/Cryptography/PasswordDeriveBytes.cs b/src/libraries/System.Security.Cryptography.Csp/src/System/Security/Cryptography/PasswordDeriveBytes.cs index 10e52dcf33fbea..e69f2f5e358ffe 100644 --- a/src/libraries/System.Security.Cryptography.Csp/src/System/Security/Cryptography/PasswordDeriveBytes.cs +++ b/src/libraries/System.Security.Cryptography.Csp/src/System/Security/Cryptography/PasswordDeriveBytes.cs @@ -175,22 +175,22 @@ protected override void Dispose(bool disposing) if (_baseValue != null) { - Array.Clear(_baseValue, 0, _baseValue.Length); + Array.Clear(_baseValue); } if (_extra != null) { - Array.Clear(_extra, 0, _extra.Length); + Array.Clear(_extra); } if (_password != null) { - Array.Clear(_password, 0, _password.Length); + Array.Clear(_password); } if (_salt != null) { - Array.Clear(_salt, 0, _salt.Length); + Array.Clear(_salt); } } } diff --git a/src/libraries/System.Security.Cryptography.Primitives/src/System/Security/Cryptography/CryptoStream.cs b/src/libraries/System.Security.Cryptography.Primitives/src/System/Security/Cryptography/CryptoStream.cs index 7b2796584b3bc3..c023c9068f51ae 100644 --- a/src/libraries/System.Security.Cryptography.Primitives/src/System/Security/Cryptography/CryptoStream.cs +++ b/src/libraries/System.Security.Cryptography.Primitives/src/System/Security/Cryptography/CryptoStream.cs @@ -162,9 +162,9 @@ private async ValueTask FlushFinalBlockAsync(bool useAsync, CancellationToken ca // zeroize plain text material before returning if (_inputBuffer != null) - Array.Clear(_inputBuffer, 0, _inputBuffer.Length); + Array.Clear(_inputBuffer); if (_outputBuffer != null) - Array.Clear(_outputBuffer, 0, _outputBuffer.Length); + Array.Clear(_outputBuffer); } public override void Flush() @@ -803,9 +803,9 @@ protected override void Dispose(bool disposing) _finalBlockTransformed = true; // we need to clear all the internal buffers if (_inputBuffer != null) - Array.Clear(_inputBuffer, 0, _inputBuffer.Length); + Array.Clear(_inputBuffer); if (_outputBuffer != null) - Array.Clear(_outputBuffer, 0, _outputBuffer.Length); + Array.Clear(_outputBuffer); _inputBuffer = null; _outputBuffer = null; @@ -850,12 +850,12 @@ private async ValueTask DisposeAsyncCore() // we need to clear all the internal buffers if (_inputBuffer != null) { - Array.Clear(_inputBuffer, 0, _inputBuffer.Length); + Array.Clear(_inputBuffer); } if (_outputBuffer != null) { - Array.Clear(_outputBuffer, 0, _outputBuffer.Length); + Array.Clear(_outputBuffer); } _inputBuffer = null; diff --git a/src/libraries/System.Security.Cryptography.Primitives/src/System/Security/Cryptography/KeyedHashAlgorithm.cs b/src/libraries/System.Security.Cryptography.Primitives/src/System/Security/Cryptography/KeyedHashAlgorithm.cs index cefdd282449075..7cade9ddbceb80 100644 --- a/src/libraries/System.Security.Cryptography.Primitives/src/System/Security/Cryptography/KeyedHashAlgorithm.cs +++ b/src/libraries/System.Security.Cryptography.Primitives/src/System/Security/Cryptography/KeyedHashAlgorithm.cs @@ -38,7 +38,7 @@ protected override void Dispose(bool disposing) { if (KeyValue != null) { - Array.Clear(KeyValue, 0, KeyValue.Length); + Array.Clear(KeyValue); } KeyValue = null!; } diff --git a/src/libraries/System.Security.Cryptography.Primitives/src/System/Security/Cryptography/SymmetricAlgorithm.cs b/src/libraries/System.Security.Cryptography.Primitives/src/System/Security/Cryptography/SymmetricAlgorithm.cs index ec47957a10231b..c140062b697f67 100644 --- a/src/libraries/System.Security.Cryptography.Primitives/src/System/Security/Cryptography/SymmetricAlgorithm.cs +++ b/src/libraries/System.Security.Cryptography.Primitives/src/System/Security/Cryptography/SymmetricAlgorithm.cs @@ -199,12 +199,12 @@ protected virtual void Dispose(bool disposing) { if (KeyValue != null) { - Array.Clear(KeyValue, 0, KeyValue.Length); + Array.Clear(KeyValue); KeyValue = null; } if (IVValue != null) { - Array.Clear(IVValue, 0, IVValue.Length); + Array.Clear(IVValue); IVValue = null; } } diff --git a/src/libraries/System.Security.Cryptography.X509Certificates/src/Internal/Cryptography/Helpers.cs b/src/libraries/System.Security.Cryptography.X509Certificates/src/Internal/Cryptography/Helpers.cs index 77f16bc21f02eb..731440b7c77261 100644 --- a/src/libraries/System.Security.Cryptography.X509Certificates/src/Internal/Cryptography/Helpers.cs +++ b/src/libraries/System.Security.Cryptography.X509Certificates/src/Internal/Cryptography/Helpers.cs @@ -343,7 +343,7 @@ internal static PinAndClear Track(byte[] data) public void Dispose() { - Array.Clear(_data, 0, _data.Length); + Array.Clear(_data); _gcHandle.Free(); } } From 8a34683b43c91d98a2f3524b144f57e399db292b Mon Sep 17 00:00:00 2001 From: Levi Broderick Date: Thu, 27 May 2021 14:05:14 -0700 Subject: [PATCH 2/4] More Array.Clear usage --- .../Cryptography/BasicSymmetricCipher.cs | 2 +- .../Cryptography/BasicSymmetricCipherBCrypt.cs | 2 +- .../src/Internal/Cryptography/HashProviderCng.cs | 2 +- .../Cryptography/UniversalCryptoDecryptor.cs | 4 ++-- .../src/System/Security/Cryptography/CngPkcs8.cs | 2 +- .../ECDiffieHellmanCng.ImportExport.cs | 4 ++-- .../Cryptography/ECDiffieHellmanDerivation.cs | 6 +++--- .../ECDiffieHellmanSecurityTransforms.cs | 2 +- .../Common/tests/Tests/System/StringTests.cs | 2 +- .../tests/FileStream/ReadAsync.cs | 2 +- .../tests/MemoryMappedViewStream.Tests.cs | 2 +- .../System.Linq/tests/SelectManyTests.cs | 6 +++--- src/libraries/System.Memory/tests/Span/Fill.cs | 2 +- .../ConstructorInfoInvokeArrayTests.cs | 16 ++++++++-------- .../tests/System/Random.cs | 4 ++-- .../tests/CertTests.cs | 4 ++-- .../tests/EncodingTestHelpers.cs | 2 +- .../src/System/Array.Mono.cs | 2 +- 18 files changed, 33 insertions(+), 33 deletions(-) diff --git a/src/libraries/Common/src/Internal/Cryptography/BasicSymmetricCipher.cs b/src/libraries/Common/src/Internal/Cryptography/BasicSymmetricCipher.cs index 33b5e8114e54fc..542955e53d7432 100644 --- a/src/libraries/Common/src/Internal/Cryptography/BasicSymmetricCipher.cs +++ b/src/libraries/Common/src/Internal/Cryptography/BasicSymmetricCipher.cs @@ -47,7 +47,7 @@ protected virtual void Dispose(bool disposing) { if (IV != null) { - Array.Clear(IV, 0, IV.Length); + Array.Clear(IV); IV = null; } } diff --git a/src/libraries/Common/src/Internal/Cryptography/BasicSymmetricCipherBCrypt.cs b/src/libraries/Common/src/Internal/Cryptography/BasicSymmetricCipherBCrypt.cs index 5222af23672e76..59d984f5fec49d 100644 --- a/src/libraries/Common/src/Internal/Cryptography/BasicSymmetricCipherBCrypt.cs +++ b/src/libraries/Common/src/Internal/Cryptography/BasicSymmetricCipherBCrypt.cs @@ -52,7 +52,7 @@ protected override void Dispose(bool disposing) _currentIv = null; if (currentIv != null) { - Array.Clear(currentIv, 0, currentIv.Length); + Array.Clear(currentIv); } } diff --git a/src/libraries/Common/src/Internal/Cryptography/HashProviderCng.cs b/src/libraries/Common/src/Internal/Cryptography/HashProviderCng.cs index 4644bf61e3575f..3b864790b25252 100644 --- a/src/libraries/Common/src/Internal/Cryptography/HashProviderCng.cs +++ b/src/libraries/Common/src/Internal/Cryptography/HashProviderCng.cs @@ -116,7 +116,7 @@ public sealed override void Dispose(bool disposing) { byte[] key = _key; _key = null; - Array.Clear(key, 0, key.Length); + Array.Clear(key); } } } diff --git a/src/libraries/Common/src/Internal/Cryptography/UniversalCryptoDecryptor.cs b/src/libraries/Common/src/Internal/Cryptography/UniversalCryptoDecryptor.cs index 73846de86212dd..3f050ff1eda720 100644 --- a/src/libraries/Common/src/Internal/Cryptography/UniversalCryptoDecryptor.cs +++ b/src/libraries/Common/src/Internal/Cryptography/UniversalCryptoDecryptor.cs @@ -170,7 +170,7 @@ protected sealed override void Dispose(bool disposing) _heldoverCipher = null; if (heldoverCipher != null) { - Array.Clear(heldoverCipher, 0, heldoverCipher.Length); + Array.Clear(heldoverCipher); } } @@ -181,7 +181,7 @@ private void Reset() { if (_heldoverCipher != null) { - Array.Clear(_heldoverCipher, 0, _heldoverCipher.Length); + Array.Clear(_heldoverCipher); _heldoverCipher = null; } } diff --git a/src/libraries/Common/src/System/Security/Cryptography/CngPkcs8.cs b/src/libraries/Common/src/System/Security/Cryptography/CngPkcs8.cs index aede8bd8958db6..e6d6ef01972eb2 100644 --- a/src/libraries/Common/src/System/Security/Cryptography/CngPkcs8.cs +++ b/src/libraries/Common/src/System/Security/Cryptography/CngPkcs8.cs @@ -427,7 +427,7 @@ private static AsnWriter RewriteEncryptedPkcs8PrivateKey( } finally { - Array.Clear(ecParameters.D!, 0, ecParameters.D!.Length); + Array.Clear(ecParameters.D!); } } } diff --git a/src/libraries/Common/src/System/Security/Cryptography/ECDiffieHellmanCng.ImportExport.cs b/src/libraries/Common/src/System/Security/Cryptography/ECDiffieHellmanCng.ImportExport.cs index 6ffe9e7e518d29..a18e08635b9346 100644 --- a/src/libraries/Common/src/System/Security/Cryptography/ECDiffieHellmanCng.ImportExport.cs +++ b/src/libraries/Common/src/System/Security/Cryptography/ECDiffieHellmanCng.ImportExport.cs @@ -80,7 +80,7 @@ public override ECParameters ExportExplicitParameters(bool includePrivateParamet } finally { - Array.Clear(blob, 0, blob.Length); + Array.Clear(blob); } } @@ -111,7 +111,7 @@ public override ECParameters ExportParameters(bool includePrivateParameters) { if (blob != null) { - Array.Clear(blob, 0, blob.Length); + Array.Clear(blob); } } } diff --git a/src/libraries/Common/src/System/Security/Cryptography/ECDiffieHellmanDerivation.cs b/src/libraries/Common/src/System/Security/Cryptography/ECDiffieHellmanDerivation.cs index 0fd7309f73e15e..f78eaa8067100a 100644 --- a/src/libraries/Common/src/System/Security/Cryptography/ECDiffieHellmanDerivation.cs +++ b/src/libraries/Common/src/System/Security/Cryptography/ECDiffieHellmanDerivation.cs @@ -91,7 +91,7 @@ internal static unsafe byte[] DeriveKeyFromHmac( // If useSecretAsKey is false then hmacKey is owned by the caller, not ours to clear. if (useSecretAsKey) { - Array.Clear(hmacKey, 0, hmacKey.Length); + Array.Clear(hmacKey); } } } @@ -166,7 +166,7 @@ internal static unsafe byte[] DeriveKeyTls( } finally { - Array.Clear(secretAgreement, 0, secretAgreement.Length); + Array.Clear(secretAgreement); } } } @@ -255,7 +255,7 @@ private static unsafe void PHash( } finally { - Array.Clear(secretTmp, 0, secretTmp.Length); + Array.Clear(secretTmp); } } #endif diff --git a/src/libraries/Common/src/System/Security/Cryptography/ECDiffieHellmanSecurityTransforms.cs b/src/libraries/Common/src/System/Security/Cryptography/ECDiffieHellmanSecurityTransforms.cs index 5b85e6e5aa0144..214bc96f8b0e95 100644 --- a/src/libraries/Common/src/System/Security/Cryptography/ECDiffieHellmanSecurityTransforms.cs +++ b/src/libraries/Common/src/System/Security/Cryptography/ECDiffieHellmanSecurityTransforms.cs @@ -232,7 +232,7 @@ public override byte[] DeriveKeyTls(ECDiffieHellmanPublicKey otherPartyPublicKey else { hasher.AppendData(secret); - Array.Clear(secret, 0, secret.Length); + Array.Clear(secret); } return null; diff --git a/src/libraries/Common/tests/Tests/System/StringTests.cs b/src/libraries/Common/tests/Tests/System/StringTests.cs index 91ff8a5dcd3c94..38555b9ad4da8a 100644 --- a/src/libraries/Common/tests/Tests/System/StringTests.cs +++ b/src/libraries/Common/tests/Tests/System/StringTests.cs @@ -510,7 +510,7 @@ public static void CopyTo_Span(string s, int destinationLength) Assert.Equal(s, new Span(destination, 0, s.Length).ToString()); Assert.All(destination.AsSpan(s.Length).ToArray(), c => Assert.Equal(0, c)); - Array.Clear(destination, 0, destination.Length); + Array.Clear(destination); Assert.True(s.TryCopyTo(destination)); Assert.Equal(s, new Span(destination, 0, s.Length).ToString()); diff --git a/src/libraries/System.IO.FileSystem/tests/FileStream/ReadAsync.cs b/src/libraries/System.IO.FileSystem/tests/FileStream/ReadAsync.cs index ceea76e50dd9ee..ef4458ef7f45be 100644 --- a/src/libraries/System.IO.FileSystem/tests/FileStream/ReadAsync.cs +++ b/src/libraries/System.IO.FileSystem/tests/FileStream/ReadAsync.cs @@ -55,7 +55,7 @@ public async Task ReadAsyncBufferedCompletesSynchronously() Assert.Equal(TestBuffer.Length, await ReadAsync(fs, buffer, 0, buffer.Length)); Assert.Equal(TestBuffer, buffer); - Array.Clear(buffer, 0, buffer.Length); + Array.Clear(buffer); // read should now complete synchronously since it is serviced by the read buffer filled in the first request Assert.Equal(TestBuffer.Length, FSAssert.CompletesSynchronously(ReadAsync(fs, buffer, 0, buffer.Length))); diff --git a/src/libraries/System.IO.MemoryMappedFiles/tests/MemoryMappedViewStream.Tests.cs b/src/libraries/System.IO.MemoryMappedFiles/tests/MemoryMappedViewStream.Tests.cs index 5874800d73f44a..5903d4756ed978 100644 --- a/src/libraries/System.IO.MemoryMappedFiles/tests/MemoryMappedViewStream.Tests.cs +++ b/src/libraries/System.IO.MemoryMappedFiles/tests/MemoryMappedViewStream.Tests.cs @@ -206,7 +206,7 @@ public void AllReadWriteMethods(long offset, long size) s.Position = s.Length - data.Length; s.Write(data, 0, data.Length); s.Position = s.Length - data.Length; - Array.Clear(data, 0, data.Length); + Array.Clear(data); Assert.Equal(3, s.Read(data, 0, data.Length)); Assert.Equal(new byte[] { 1, 2, 3 }, data); diff --git a/src/libraries/System.Linq/tests/SelectManyTests.cs b/src/libraries/System.Linq/tests/SelectManyTests.cs index 50d97f07bb291f..14fd1dc62e65dd 100644 --- a/src/libraries/System.Linq/tests/SelectManyTests.cs +++ b/src/libraries/System.Linq/tests/SelectManyTests.cs @@ -509,19 +509,19 @@ public void EvaluateSelectorOncePerItem(int count) Assert.Equal(Enumerable.Repeat(0, timesCalledMap.Length - index - 1), timesCalledMap.Skip(index + 1)); } - Array.Clear(timesCalledMap, 0, timesCalledMap.Length); + Array.Clear(timesCalledMap); // ToArray iterator.ToArray(); Assert.Equal(Enumerable.Repeat(1, timesCalledMap.Length), timesCalledMap); - Array.Clear(timesCalledMap, 0, timesCalledMap.Length); + Array.Clear(timesCalledMap); // ToList iterator.ToList(); Assert.Equal(Enumerable.Repeat(1, timesCalledMap.Length), timesCalledMap); - Array.Clear(timesCalledMap, 0, timesCalledMap.Length); + Array.Clear(timesCalledMap); // ToHashSet iterator.ToHashSet(); diff --git a/src/libraries/System.Memory/tests/Span/Fill.cs b/src/libraries/System.Memory/tests/Span/Fill.cs index c6741219aad936..71ea23196584e6 100644 --- a/src/libraries/System.Memory/tests/Span/Fill.cs +++ b/src/libraries/System.Memory/tests/Span/Fill.cs @@ -189,7 +189,7 @@ static void RunTest(T value) arr.AsSpan(0, i).Fill(value); Assert.Equal(Enumerable.Repeat(value, i), arr.Take(i)); // first i entries should've been populated with 'value' Assert.Equal(Enumerable.Repeat(default(T), arr.Length - i), arr.Skip(i)); // remaining entries should contain default(T) - Array.Clear(arr, 0, arr.Length); + Array.Clear(arr); } } } diff --git a/src/libraries/System.Reflection.TypeExtensions/tests/ConstructorInfo/ConstructorInfoInvokeArrayTests.cs b/src/libraries/System.Reflection.TypeExtensions/tests/ConstructorInfo/ConstructorInfoInvokeArrayTests.cs index f5f6d36e3939ba..a050476cee765c 100644 --- a/src/libraries/System.Reflection.TypeExtensions/tests/ConstructorInfo/ConstructorInfoInvokeArrayTests.cs +++ b/src/libraries/System.Reflection.TypeExtensions/tests/ConstructorInfo/ConstructorInfoInvokeArrayTests.cs @@ -70,7 +70,7 @@ public void Invoke_1DArrayConstructor() int[] invalidLowerBounds = new int[] { -20, 0, 20 }; if (!PlatformDetection.IsNonZeroLowerBoundArraySupported) { - Array.Clear(invalidLowerBounds, 0, invalidLowerBounds.Length); + Array.Clear(invalidLowerBounds); } int[] invalidLengths = new int[] { -100, -9, -1 }; for (int j = 0; j < invalidLengths.Length; j++) @@ -81,7 +81,7 @@ public void Invoke_1DArrayConstructor() int[] validLowerBounds = new int[] { 0, 1, -1, 2, -3, 5, -10, 99, 100 }; if (!PlatformDetection.IsNonZeroLowerBoundArraySupported) { - Array.Clear(validLowerBounds, 0, validLowerBounds.Length); + Array.Clear(validLowerBounds); } int[] validLengths = new int[] { 0, 1, 3, 2, 3, 5, 10, 99, 0 }; for (int j = 0; j < validLengths.Length; j++) @@ -144,8 +144,8 @@ public void Invoke_2DArrayConstructor() if (!PlatformDetection.IsNonZeroLowerBoundArraySupported) { - Array.Clear(invalidLowerBounds1, 0, invalidLowerBounds1.Length); - Array.Clear(invalidLowerBounds2, 0, invalidLowerBounds2.Length); + Array.Clear(invalidLowerBounds1); + Array.Clear(invalidLowerBounds2); } for (int j = 0; j < invalidLengths3.Length; j++) @@ -179,8 +179,8 @@ public void Invoke_2DArrayConstructor() if (!PlatformDetection.IsNonZeroLowerBoundArraySupported) { - Array.Clear(validLowerBounds1, 0, validLowerBounds1.Length); - Array.Clear(validLowerBounds2, 0, validLowerBounds2.Length); + Array.Clear(validLowerBounds1); + Array.Clear(validLowerBounds2); } for (int j = 0; j < validLengths1.Length; j++) @@ -201,8 +201,8 @@ public void Invoke_2DArrayConstructor() if (!PlatformDetection.IsNonZeroLowerBoundArraySupported) { - Array.Clear(validLowerBounds1, 0, validLowerBounds1.Length); - Array.Clear(validLowerBounds2, 0, validLowerBounds2.Length); + Array.Clear(validLowerBounds1); + Array.Clear(validLowerBounds2); } for (int j = 0; j < validLengths1.Length; j++) diff --git a/src/libraries/System.Runtime.Extensions/tests/System/Random.cs b/src/libraries/System.Runtime.Extensions/tests/System/Random.cs index 1cc1ccc21ec97e..5a5d95b123b3ec 100644 --- a/src/libraries/System.Runtime.Extensions/tests/System/Random.cs +++ b/src/libraries/System.Runtime.Extensions/tests/System/Random.cs @@ -470,11 +470,11 @@ public void Shared_ParallelUsage() Assert.InRange(Random.Shared.NextSingle(), 0.0f, 1.0f); Assert.InRange(Random.Shared.NextDouble(), 0.0, 1.0); - Array.Clear(buffer, 0, buffer.Length); + Array.Clear(buffer); Random.Shared.NextBytes(buffer); Assert.Contains(buffer, b => b != 0); - Array.Clear(buffer, 0, buffer.Length); + Array.Clear(buffer); Random.Shared.NextBytes((Span)buffer); Assert.Contains(buffer, b => b != 0); } diff --git a/src/libraries/System.Security.Cryptography.X509Certificates/tests/CertTests.cs b/src/libraries/System.Security.Cryptography.X509Certificates/tests/CertTests.cs index de985bfb61c838..24363f1ab4e427 100644 --- a/src/libraries/System.Security.Cryptography.X509Certificates/tests/CertTests.cs +++ b/src/libraries/System.Security.Cryptography.X509Certificates/tests/CertTests.cs @@ -450,7 +450,7 @@ public static void MutateDistinguishedName_IssuerName_DoesNotImpactIssuer() using (X509Certificate2 cert = new X509Certificate2(TestData.MsCertificate)) { byte[] issuerBytes = cert.IssuerName.RawData; - Array.Clear(issuerBytes, 0, issuerBytes.Length); + Array.Clear(issuerBytes); Assert.Equal("CN=Microsoft Code Signing PCA, O=Microsoft Corporation, L=Redmond, S=Washington, C=US", cert.Issuer); } } @@ -461,7 +461,7 @@ public static void MutateDistinguishedName_SubjectName_DoesNotImpactSubject() using (X509Certificate2 cert = new X509Certificate2(TestData.MsCertificate)) { byte[] subjectBytes = cert.SubjectName.RawData; - Array.Clear(subjectBytes, 0, subjectBytes.Length); + Array.Clear(subjectBytes); Assert.Equal("CN=Microsoft Corporation, OU=MOPR, O=Microsoft Corporation, L=Redmond, S=Washington, C=US", cert.Subject); } } diff --git a/src/libraries/System.Text.Encoding/tests/EncodingTestHelpers.cs b/src/libraries/System.Text.Encoding/tests/EncodingTestHelpers.cs index 4799b54718d0bc..f049afdf196f31 100644 --- a/src/libraries/System.Text.Encoding/tests/EncodingTestHelpers.cs +++ b/src/libraries/System.Text.Encoding/tests/EncodingTestHelpers.cs @@ -264,7 +264,7 @@ static void GetBytes_NetCoreApp(Encoding encoding, string chars, int index, int VerifyGetBytes(stringResultAdvanced, 0, stringResultAdvanced.Length, new byte[expected.Length], expected); // Use GetBytes(ReadOnlySpan, Span) - Array.Clear(stringResultAdvanced, 0, stringResultAdvanced.Length); + Array.Clear(stringResultAdvanced); Assert.Equal(expected.Length, encoding.GetBytes(chars.AsSpan(index, count), (Span)stringResultAdvanced)); VerifyGetBytes(stringResultAdvanced, 0, stringResultAdvanced.Length, new byte[expected.Length], expected); diff --git a/src/mono/System.Private.CoreLib/src/System/Array.Mono.cs b/src/mono/System.Private.CoreLib/src/System/Array.Mono.cs index 75f3ecd7036619..7926abd1b72187 100644 --- a/src/mono/System.Private.CoreLib/src/System/Array.Mono.cs +++ b/src/mono/System.Private.CoreLib/src/System/Array.Mono.cs @@ -62,7 +62,7 @@ public int Rank get => Rank; } - internal static unsafe void Clear(Array array) + public static unsafe void Clear(Array array) { if (array == null) ThrowHelper.ThrowArgumentNullException(ExceptionArgument.array); From b475c4afce5f78dc4ef114d89e07c0397bdb574c Mon Sep 17 00:00:00 2001 From: Levi Broderick Date: Thu, 27 May 2021 14:23:10 -0700 Subject: [PATCH 3/4] Undo improper System.Runtime.sln change --- .../System.Runtime/System.Runtime.sln | 220 +++++++++--------- 1 file changed, 107 insertions(+), 113 deletions(-) diff --git a/src/libraries/System.Runtime/System.Runtime.sln b/src/libraries/System.Runtime/System.Runtime.sln index 736c59166d6c24..06887f72422de3 100644 --- a/src/libraries/System.Runtime/System.Runtime.sln +++ b/src/libraries/System.Runtime/System.Runtime.sln @@ -1,7 +1,4 @@ Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio Version 16 -VisualStudioVersion = 16.0.31226.16 -MinimumVisualStudioVersion = 10.0.40219.1 Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "System.Private.CoreLib", "..\..\coreclr\System.Private.CoreLib\System.Private.CoreLib.csproj", "{71AB8240-F179-4B21-A8BE-8BE6CD774ED9}" EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "TestUtilities.Unicode", "..\Common\tests\TestUtilities.Unicode\TestUtilities.Unicode.csproj", "{9DF0247E-5B81-4EF3-82CA-3E70B3A56742}" @@ -59,27 +56,45 @@ EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "ref", "ref", "{F4F10B6C-21C0-4C9D-8909-76FC52145120}" EndProject Global - GlobalSection(SharedMSBuildProjectFiles) = preSolution - ..\System.Private.CoreLib\src\System.Private.CoreLib.Shared.projitems*{71ab8240-f179-4b21-a8be-8be6cd774ed9}*SharedItemsImports = 5 + GlobalSection(NestedProjects) = preSolution + {71AB8240-F179-4B21-A8BE-8BE6CD774ED9} = {C7032EBC-8AB7-4BE6-9D95-B420F058FAAF} + {E7A05515-DABE-4C09-83CB-CE84EFDCD4CC} = {C7032EBC-8AB7-4BE6-9D95-B420F058FAAF} + {26541647-B653-4480-9448-BA275D53C81D} = {C7032EBC-8AB7-4BE6-9D95-B420F058FAAF} + {A83A8520-F5E2-49B4-83BC-0F82A412951D} = {C7032EBC-8AB7-4BE6-9D95-B420F058FAAF} + {DBFDC8D7-97CA-444C-BE48-BAA09331CD1B} = {C7032EBC-8AB7-4BE6-9D95-B420F058FAAF} + {F6A8185B-07C6-401D-9B40-3C560239E05F} = {C7032EBC-8AB7-4BE6-9D95-B420F058FAAF} + {82A02402-0C05-4A8C-98DD-058844E8D224} = {C7032EBC-8AB7-4BE6-9D95-B420F058FAAF} + {9CF6C6E6-0E9F-4A95-84B5-6083EAB6FA13} = {C7032EBC-8AB7-4BE6-9D95-B420F058FAAF} + {069C2B51-069A-4FBB-BFE9-42D573F1CEEA} = {C7032EBC-8AB7-4BE6-9D95-B420F058FAAF} + {9DF0247E-5B81-4EF3-82CA-3E70B3A56742} = {BDCC9986-D51F-48D9-9650-388E172CD91E} + {FB17AC52-1633-4845-932B-9218DF895957} = {BDCC9986-D51F-48D9-9650-388E172CD91E} + {3B79DD71-8C2F-41BC-A1A7-86A490D6C726} = {BDCC9986-D51F-48D9-9650-388E172CD91E} + {4EE36055-AD7C-4779-B3F6-08687960DCC3} = {BDCC9986-D51F-48D9-9650-388E172CD91E} + {C230AC88-A377-4BEB-824F-AB174C14DC86} = {BDCC9986-D51F-48D9-9650-388E172CD91E} + {1BCCD2F5-A561-4641-8A0B-51F3EDCA35DC} = {BDCC9986-D51F-48D9-9650-388E172CD91E} + {0F83B07B-2E3F-4708-BE6D-7A8DA8168803} = {BDCC9986-D51F-48D9-9650-388E172CD91E} + {833C1D45-9BBB-4A92-93B7-4EFFD9E945AD} = {BDCC9986-D51F-48D9-9650-388E172CD91E} + {D98FBB47-1DFD-4021-9C80-3034D699EAD6} = {F4F10B6C-21C0-4C9D-8909-76FC52145120} + {9C41B325-1225-43CA-9436-549AFF6D90A1} = {F4F10B6C-21C0-4C9D-8909-76FC52145120} + {C1B93F37-FDD5-4ABB-A244-C6C60BD11CF3} = {F4F10B6C-21C0-4C9D-8909-76FC52145120} + {F39E2C7E-5FE1-460C-AC2C-7E2B50955F2C} = {F4F10B6C-21C0-4C9D-8909-76FC52145120} + {67E57433-4571-442C-9EB7-5512847FFE51} = {F4F10B6C-21C0-4C9D-8909-76FC52145120} + {1B4552A4-91FD-4C6F-9EB4-3454C4BE428F} = {F4F10B6C-21C0-4C9D-8909-76FC52145120} + {F5D24DC1-048D-4306-9C48-5963685F825C} = {F4F10B6C-21C0-4C9D-8909-76FC52145120} + {82728202-1098-4E16-B598-5762EAF67D08} = {F4F10B6C-21C0-4C9D-8909-76FC52145120} EndGlobalSection GlobalSection(SolutionConfigurationPlatforms) = preSolution - Checked|Any CPU = Checked|Any CPU - Checked|x64 = Checked|x64 - Checked|x86 = Checked|x86 Debug|Any CPU = Debug|Any CPU Debug|x64 = Debug|x64 Debug|x86 = Debug|x86 Release|Any CPU = Release|Any CPU Release|x64 = Release|x64 Release|x86 = Release|x86 + Checked|Any CPU = Checked|Any CPU + Checked|x64 = Checked|x64 + Checked|x86 = Checked|x86 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution - {71AB8240-F179-4B21-A8BE-8BE6CD774ED9}.Checked|Any CPU.ActiveCfg = Checked|x64 - {71AB8240-F179-4B21-A8BE-8BE6CD774ED9}.Checked|Any CPU.Build.0 = Checked|x64 - {71AB8240-F179-4B21-A8BE-8BE6CD774ED9}.Checked|x64.ActiveCfg = Checked|x64 - {71AB8240-F179-4B21-A8BE-8BE6CD774ED9}.Checked|x64.Build.0 = Checked|x64 - {71AB8240-F179-4B21-A8BE-8BE6CD774ED9}.Checked|x86.ActiveCfg = Checked|x86 - {71AB8240-F179-4B21-A8BE-8BE6CD774ED9}.Checked|x86.Build.0 = Checked|x86 {71AB8240-F179-4B21-A8BE-8BE6CD774ED9}.Debug|Any CPU.ActiveCfg = Debug|x64 {71AB8240-F179-4B21-A8BE-8BE6CD774ED9}.Debug|Any CPU.Build.0 = Debug|x64 {71AB8240-F179-4B21-A8BE-8BE6CD774ED9}.Debug|x64.ActiveCfg = Debug|x64 @@ -92,9 +107,12 @@ Global {71AB8240-F179-4B21-A8BE-8BE6CD774ED9}.Release|x64.Build.0 = Release|x64 {71AB8240-F179-4B21-A8BE-8BE6CD774ED9}.Release|x86.ActiveCfg = Release|x86 {71AB8240-F179-4B21-A8BE-8BE6CD774ED9}.Release|x86.Build.0 = Release|x86 - {9DF0247E-5B81-4EF3-82CA-3E70B3A56742}.Checked|Any CPU.ActiveCfg = Debug|Any CPU - {9DF0247E-5B81-4EF3-82CA-3E70B3A56742}.Checked|x64.ActiveCfg = Debug|Any CPU - {9DF0247E-5B81-4EF3-82CA-3E70B3A56742}.Checked|x86.ActiveCfg = Debug|Any CPU + {71AB8240-F179-4B21-A8BE-8BE6CD774ED9}.Checked|Any CPU.ActiveCfg = Checked|x64 + {71AB8240-F179-4B21-A8BE-8BE6CD774ED9}.Checked|Any CPU.Build.0 = Checked|x64 + {71AB8240-F179-4B21-A8BE-8BE6CD774ED9}.Checked|x64.ActiveCfg = Checked|x64 + {71AB8240-F179-4B21-A8BE-8BE6CD774ED9}.Checked|x64.Build.0 = Checked|x64 + {71AB8240-F179-4B21-A8BE-8BE6CD774ED9}.Checked|x86.ActiveCfg = Checked|x86 + {71AB8240-F179-4B21-A8BE-8BE6CD774ED9}.Checked|x86.Build.0 = Checked|x86 {9DF0247E-5B81-4EF3-82CA-3E70B3A56742}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {9DF0247E-5B81-4EF3-82CA-3E70B3A56742}.Debug|Any CPU.Build.0 = Debug|Any CPU {9DF0247E-5B81-4EF3-82CA-3E70B3A56742}.Debug|x64.ActiveCfg = Debug|Any CPU @@ -107,9 +125,9 @@ Global {9DF0247E-5B81-4EF3-82CA-3E70B3A56742}.Release|x64.Build.0 = Release|Any CPU {9DF0247E-5B81-4EF3-82CA-3E70B3A56742}.Release|x86.ActiveCfg = Release|Any CPU {9DF0247E-5B81-4EF3-82CA-3E70B3A56742}.Release|x86.Build.0 = Release|Any CPU - {FB17AC52-1633-4845-932B-9218DF895957}.Checked|Any CPU.ActiveCfg = Debug|Any CPU - {FB17AC52-1633-4845-932B-9218DF895957}.Checked|x64.ActiveCfg = Debug|Any CPU - {FB17AC52-1633-4845-932B-9218DF895957}.Checked|x86.ActiveCfg = Debug|Any CPU + {9DF0247E-5B81-4EF3-82CA-3E70B3A56742}.Checked|Any CPU.ActiveCfg = Debug|Any CPU + {9DF0247E-5B81-4EF3-82CA-3E70B3A56742}.Checked|x64.ActiveCfg = Debug|Any CPU + {9DF0247E-5B81-4EF3-82CA-3E70B3A56742}.Checked|x86.ActiveCfg = Debug|Any CPU {FB17AC52-1633-4845-932B-9218DF895957}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {FB17AC52-1633-4845-932B-9218DF895957}.Debug|Any CPU.Build.0 = Debug|Any CPU {FB17AC52-1633-4845-932B-9218DF895957}.Debug|x64.ActiveCfg = Debug|Any CPU @@ -122,9 +140,9 @@ Global {FB17AC52-1633-4845-932B-9218DF895957}.Release|x64.Build.0 = Release|Any CPU {FB17AC52-1633-4845-932B-9218DF895957}.Release|x86.ActiveCfg = Release|Any CPU {FB17AC52-1633-4845-932B-9218DF895957}.Release|x86.Build.0 = Release|Any CPU - {D98FBB47-1DFD-4021-9C80-3034D699EAD6}.Checked|Any CPU.ActiveCfg = Debug|Any CPU - {D98FBB47-1DFD-4021-9C80-3034D699EAD6}.Checked|x64.ActiveCfg = Debug|Any CPU - {D98FBB47-1DFD-4021-9C80-3034D699EAD6}.Checked|x86.ActiveCfg = Debug|Any CPU + {FB17AC52-1633-4845-932B-9218DF895957}.Checked|Any CPU.ActiveCfg = Debug|Any CPU + {FB17AC52-1633-4845-932B-9218DF895957}.Checked|x64.ActiveCfg = Debug|Any CPU + {FB17AC52-1633-4845-932B-9218DF895957}.Checked|x86.ActiveCfg = Debug|Any CPU {D98FBB47-1DFD-4021-9C80-3034D699EAD6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {D98FBB47-1DFD-4021-9C80-3034D699EAD6}.Debug|Any CPU.Build.0 = Debug|Any CPU {D98FBB47-1DFD-4021-9C80-3034D699EAD6}.Debug|x64.ActiveCfg = Debug|Any CPU @@ -137,9 +155,9 @@ Global {D98FBB47-1DFD-4021-9C80-3034D699EAD6}.Release|x64.Build.0 = Release|Any CPU {D98FBB47-1DFD-4021-9C80-3034D699EAD6}.Release|x86.ActiveCfg = Release|Any CPU {D98FBB47-1DFD-4021-9C80-3034D699EAD6}.Release|x86.Build.0 = Release|Any CPU - {9C41B325-1225-43CA-9436-549AFF6D90A1}.Checked|Any CPU.ActiveCfg = Debug|Any CPU - {9C41B325-1225-43CA-9436-549AFF6D90A1}.Checked|x64.ActiveCfg = Debug|Any CPU - {9C41B325-1225-43CA-9436-549AFF6D90A1}.Checked|x86.ActiveCfg = Debug|Any CPU + {D98FBB47-1DFD-4021-9C80-3034D699EAD6}.Checked|Any CPU.ActiveCfg = Debug|Any CPU + {D98FBB47-1DFD-4021-9C80-3034D699EAD6}.Checked|x64.ActiveCfg = Debug|Any CPU + {D98FBB47-1DFD-4021-9C80-3034D699EAD6}.Checked|x86.ActiveCfg = Debug|Any CPU {9C41B325-1225-43CA-9436-549AFF6D90A1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {9C41B325-1225-43CA-9436-549AFF6D90A1}.Debug|Any CPU.Build.0 = Debug|Any CPU {9C41B325-1225-43CA-9436-549AFF6D90A1}.Debug|x64.ActiveCfg = Debug|Any CPU @@ -152,9 +170,9 @@ Global {9C41B325-1225-43CA-9436-549AFF6D90A1}.Release|x64.Build.0 = Release|Any CPU {9C41B325-1225-43CA-9436-549AFF6D90A1}.Release|x86.ActiveCfg = Release|Any CPU {9C41B325-1225-43CA-9436-549AFF6D90A1}.Release|x86.Build.0 = Release|Any CPU - {E7A05515-DABE-4C09-83CB-CE84EFDCD4CC}.Checked|Any CPU.ActiveCfg = Debug|Any CPU - {E7A05515-DABE-4C09-83CB-CE84EFDCD4CC}.Checked|x64.ActiveCfg = Debug|Any CPU - {E7A05515-DABE-4C09-83CB-CE84EFDCD4CC}.Checked|x86.ActiveCfg = Debug|Any CPU + {9C41B325-1225-43CA-9436-549AFF6D90A1}.Checked|Any CPU.ActiveCfg = Debug|Any CPU + {9C41B325-1225-43CA-9436-549AFF6D90A1}.Checked|x64.ActiveCfg = Debug|Any CPU + {9C41B325-1225-43CA-9436-549AFF6D90A1}.Checked|x86.ActiveCfg = Debug|Any CPU {E7A05515-DABE-4C09-83CB-CE84EFDCD4CC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {E7A05515-DABE-4C09-83CB-CE84EFDCD4CC}.Debug|Any CPU.Build.0 = Debug|Any CPU {E7A05515-DABE-4C09-83CB-CE84EFDCD4CC}.Debug|x64.ActiveCfg = Debug|Any CPU @@ -167,9 +185,9 @@ Global {E7A05515-DABE-4C09-83CB-CE84EFDCD4CC}.Release|x64.Build.0 = Release|Any CPU {E7A05515-DABE-4C09-83CB-CE84EFDCD4CC}.Release|x86.ActiveCfg = Release|Any CPU {E7A05515-DABE-4C09-83CB-CE84EFDCD4CC}.Release|x86.Build.0 = Release|Any CPU - {C1B93F37-FDD5-4ABB-A244-C6C60BD11CF3}.Checked|Any CPU.ActiveCfg = Debug|Any CPU - {C1B93F37-FDD5-4ABB-A244-C6C60BD11CF3}.Checked|x64.ActiveCfg = Debug|Any CPU - {C1B93F37-FDD5-4ABB-A244-C6C60BD11CF3}.Checked|x86.ActiveCfg = Debug|Any CPU + {E7A05515-DABE-4C09-83CB-CE84EFDCD4CC}.Checked|Any CPU.ActiveCfg = Debug|Any CPU + {E7A05515-DABE-4C09-83CB-CE84EFDCD4CC}.Checked|x64.ActiveCfg = Debug|Any CPU + {E7A05515-DABE-4C09-83CB-CE84EFDCD4CC}.Checked|x86.ActiveCfg = Debug|Any CPU {C1B93F37-FDD5-4ABB-A244-C6C60BD11CF3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {C1B93F37-FDD5-4ABB-A244-C6C60BD11CF3}.Debug|Any CPU.Build.0 = Debug|Any CPU {C1B93F37-FDD5-4ABB-A244-C6C60BD11CF3}.Debug|x64.ActiveCfg = Debug|Any CPU @@ -182,9 +200,9 @@ Global {C1B93F37-FDD5-4ABB-A244-C6C60BD11CF3}.Release|x64.Build.0 = Release|Any CPU {C1B93F37-FDD5-4ABB-A244-C6C60BD11CF3}.Release|x86.ActiveCfg = Release|Any CPU {C1B93F37-FDD5-4ABB-A244-C6C60BD11CF3}.Release|x86.Build.0 = Release|Any CPU - {26541647-B653-4480-9448-BA275D53C81D}.Checked|Any CPU.ActiveCfg = Debug|Any CPU - {26541647-B653-4480-9448-BA275D53C81D}.Checked|x64.ActiveCfg = Debug|Any CPU - {26541647-B653-4480-9448-BA275D53C81D}.Checked|x86.ActiveCfg = Debug|Any CPU + {C1B93F37-FDD5-4ABB-A244-C6C60BD11CF3}.Checked|Any CPU.ActiveCfg = Debug|Any CPU + {C1B93F37-FDD5-4ABB-A244-C6C60BD11CF3}.Checked|x64.ActiveCfg = Debug|Any CPU + {C1B93F37-FDD5-4ABB-A244-C6C60BD11CF3}.Checked|x86.ActiveCfg = Debug|Any CPU {26541647-B653-4480-9448-BA275D53C81D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {26541647-B653-4480-9448-BA275D53C81D}.Debug|Any CPU.Build.0 = Debug|Any CPU {26541647-B653-4480-9448-BA275D53C81D}.Debug|x64.ActiveCfg = Debug|Any CPU @@ -197,9 +215,9 @@ Global {26541647-B653-4480-9448-BA275D53C81D}.Release|x64.Build.0 = Release|Any CPU {26541647-B653-4480-9448-BA275D53C81D}.Release|x86.ActiveCfg = Release|Any CPU {26541647-B653-4480-9448-BA275D53C81D}.Release|x86.Build.0 = Release|Any CPU - {F39E2C7E-5FE1-460C-AC2C-7E2B50955F2C}.Checked|Any CPU.ActiveCfg = Debug|Any CPU - {F39E2C7E-5FE1-460C-AC2C-7E2B50955F2C}.Checked|x64.ActiveCfg = Debug|Any CPU - {F39E2C7E-5FE1-460C-AC2C-7E2B50955F2C}.Checked|x86.ActiveCfg = Debug|Any CPU + {26541647-B653-4480-9448-BA275D53C81D}.Checked|Any CPU.ActiveCfg = Debug|Any CPU + {26541647-B653-4480-9448-BA275D53C81D}.Checked|x64.ActiveCfg = Debug|Any CPU + {26541647-B653-4480-9448-BA275D53C81D}.Checked|x86.ActiveCfg = Debug|Any CPU {F39E2C7E-5FE1-460C-AC2C-7E2B50955F2C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {F39E2C7E-5FE1-460C-AC2C-7E2B50955F2C}.Debug|Any CPU.Build.0 = Debug|Any CPU {F39E2C7E-5FE1-460C-AC2C-7E2B50955F2C}.Debug|x64.ActiveCfg = Debug|Any CPU @@ -212,9 +230,9 @@ Global {F39E2C7E-5FE1-460C-AC2C-7E2B50955F2C}.Release|x64.Build.0 = Release|Any CPU {F39E2C7E-5FE1-460C-AC2C-7E2B50955F2C}.Release|x86.ActiveCfg = Release|Any CPU {F39E2C7E-5FE1-460C-AC2C-7E2B50955F2C}.Release|x86.Build.0 = Release|Any CPU - {A83A8520-F5E2-49B4-83BC-0F82A412951D}.Checked|Any CPU.ActiveCfg = Debug|Any CPU - {A83A8520-F5E2-49B4-83BC-0F82A412951D}.Checked|x64.ActiveCfg = Debug|Any CPU - {A83A8520-F5E2-49B4-83BC-0F82A412951D}.Checked|x86.ActiveCfg = Debug|Any CPU + {F39E2C7E-5FE1-460C-AC2C-7E2B50955F2C}.Checked|Any CPU.ActiveCfg = Debug|Any CPU + {F39E2C7E-5FE1-460C-AC2C-7E2B50955F2C}.Checked|x64.ActiveCfg = Debug|Any CPU + {F39E2C7E-5FE1-460C-AC2C-7E2B50955F2C}.Checked|x86.ActiveCfg = Debug|Any CPU {A83A8520-F5E2-49B4-83BC-0F82A412951D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {A83A8520-F5E2-49B4-83BC-0F82A412951D}.Debug|Any CPU.Build.0 = Debug|Any CPU {A83A8520-F5E2-49B4-83BC-0F82A412951D}.Debug|x64.ActiveCfg = Debug|Any CPU @@ -227,9 +245,9 @@ Global {A83A8520-F5E2-49B4-83BC-0F82A412951D}.Release|x64.Build.0 = Release|Any CPU {A83A8520-F5E2-49B4-83BC-0F82A412951D}.Release|x86.ActiveCfg = Release|Any CPU {A83A8520-F5E2-49B4-83BC-0F82A412951D}.Release|x86.Build.0 = Release|Any CPU - {3B79DD71-8C2F-41BC-A1A7-86A490D6C726}.Checked|Any CPU.ActiveCfg = Debug|Any CPU - {3B79DD71-8C2F-41BC-A1A7-86A490D6C726}.Checked|x64.ActiveCfg = Debug|Any CPU - {3B79DD71-8C2F-41BC-A1A7-86A490D6C726}.Checked|x86.ActiveCfg = Debug|Any CPU + {A83A8520-F5E2-49B4-83BC-0F82A412951D}.Checked|Any CPU.ActiveCfg = Debug|Any CPU + {A83A8520-F5E2-49B4-83BC-0F82A412951D}.Checked|x64.ActiveCfg = Debug|Any CPU + {A83A8520-F5E2-49B4-83BC-0F82A412951D}.Checked|x86.ActiveCfg = Debug|Any CPU {3B79DD71-8C2F-41BC-A1A7-86A490D6C726}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {3B79DD71-8C2F-41BC-A1A7-86A490D6C726}.Debug|Any CPU.Build.0 = Debug|Any CPU {3B79DD71-8C2F-41BC-A1A7-86A490D6C726}.Debug|x64.ActiveCfg = Debug|Any CPU @@ -242,9 +260,9 @@ Global {3B79DD71-8C2F-41BC-A1A7-86A490D6C726}.Release|x64.Build.0 = Release|Any CPU {3B79DD71-8C2F-41BC-A1A7-86A490D6C726}.Release|x86.ActiveCfg = Release|Any CPU {3B79DD71-8C2F-41BC-A1A7-86A490D6C726}.Release|x86.Build.0 = Release|Any CPU - {4EE36055-AD7C-4779-B3F6-08687960DCC3}.Checked|Any CPU.ActiveCfg = Debug|Any CPU - {4EE36055-AD7C-4779-B3F6-08687960DCC3}.Checked|x64.ActiveCfg = Debug|Any CPU - {4EE36055-AD7C-4779-B3F6-08687960DCC3}.Checked|x86.ActiveCfg = Debug|Any CPU + {3B79DD71-8C2F-41BC-A1A7-86A490D6C726}.Checked|Any CPU.ActiveCfg = Debug|Any CPU + {3B79DD71-8C2F-41BC-A1A7-86A490D6C726}.Checked|x64.ActiveCfg = Debug|Any CPU + {3B79DD71-8C2F-41BC-A1A7-86A490D6C726}.Checked|x86.ActiveCfg = Debug|Any CPU {4EE36055-AD7C-4779-B3F6-08687960DCC3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {4EE36055-AD7C-4779-B3F6-08687960DCC3}.Debug|Any CPU.Build.0 = Debug|Any CPU {4EE36055-AD7C-4779-B3F6-08687960DCC3}.Debug|x64.ActiveCfg = Debug|Any CPU @@ -257,9 +275,9 @@ Global {4EE36055-AD7C-4779-B3F6-08687960DCC3}.Release|x64.Build.0 = Release|Any CPU {4EE36055-AD7C-4779-B3F6-08687960DCC3}.Release|x86.ActiveCfg = Release|Any CPU {4EE36055-AD7C-4779-B3F6-08687960DCC3}.Release|x86.Build.0 = Release|Any CPU - {C230AC88-A377-4BEB-824F-AB174C14DC86}.Checked|Any CPU.ActiveCfg = Debug|Any CPU - {C230AC88-A377-4BEB-824F-AB174C14DC86}.Checked|x64.ActiveCfg = Debug|Any CPU - {C230AC88-A377-4BEB-824F-AB174C14DC86}.Checked|x86.ActiveCfg = Debug|Any CPU + {4EE36055-AD7C-4779-B3F6-08687960DCC3}.Checked|Any CPU.ActiveCfg = Debug|Any CPU + {4EE36055-AD7C-4779-B3F6-08687960DCC3}.Checked|x64.ActiveCfg = Debug|Any CPU + {4EE36055-AD7C-4779-B3F6-08687960DCC3}.Checked|x86.ActiveCfg = Debug|Any CPU {C230AC88-A377-4BEB-824F-AB174C14DC86}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {C230AC88-A377-4BEB-824F-AB174C14DC86}.Debug|Any CPU.Build.0 = Debug|Any CPU {C230AC88-A377-4BEB-824F-AB174C14DC86}.Debug|x64.ActiveCfg = Debug|Any CPU @@ -272,9 +290,9 @@ Global {C230AC88-A377-4BEB-824F-AB174C14DC86}.Release|x64.Build.0 = Release|Any CPU {C230AC88-A377-4BEB-824F-AB174C14DC86}.Release|x86.ActiveCfg = Release|Any CPU {C230AC88-A377-4BEB-824F-AB174C14DC86}.Release|x86.Build.0 = Release|Any CPU - {1BCCD2F5-A561-4641-8A0B-51F3EDCA35DC}.Checked|Any CPU.ActiveCfg = Debug|Any CPU - {1BCCD2F5-A561-4641-8A0B-51F3EDCA35DC}.Checked|x64.ActiveCfg = Debug|Any CPU - {1BCCD2F5-A561-4641-8A0B-51F3EDCA35DC}.Checked|x86.ActiveCfg = Debug|Any CPU + {C230AC88-A377-4BEB-824F-AB174C14DC86}.Checked|Any CPU.ActiveCfg = Debug|Any CPU + {C230AC88-A377-4BEB-824F-AB174C14DC86}.Checked|x64.ActiveCfg = Debug|Any CPU + {C230AC88-A377-4BEB-824F-AB174C14DC86}.Checked|x86.ActiveCfg = Debug|Any CPU {1BCCD2F5-A561-4641-8A0B-51F3EDCA35DC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {1BCCD2F5-A561-4641-8A0B-51F3EDCA35DC}.Debug|Any CPU.Build.0 = Debug|Any CPU {1BCCD2F5-A561-4641-8A0B-51F3EDCA35DC}.Debug|x64.ActiveCfg = Debug|Any CPU @@ -287,9 +305,9 @@ Global {1BCCD2F5-A561-4641-8A0B-51F3EDCA35DC}.Release|x64.Build.0 = Release|Any CPU {1BCCD2F5-A561-4641-8A0B-51F3EDCA35DC}.Release|x86.ActiveCfg = Release|Any CPU {1BCCD2F5-A561-4641-8A0B-51F3EDCA35DC}.Release|x86.Build.0 = Release|Any CPU - {0F83B07B-2E3F-4708-BE6D-7A8DA8168803}.Checked|Any CPU.ActiveCfg = Debug|Any CPU - {0F83B07B-2E3F-4708-BE6D-7A8DA8168803}.Checked|x64.ActiveCfg = Debug|Any CPU - {0F83B07B-2E3F-4708-BE6D-7A8DA8168803}.Checked|x86.ActiveCfg = Debug|Any CPU + {1BCCD2F5-A561-4641-8A0B-51F3EDCA35DC}.Checked|Any CPU.ActiveCfg = Debug|Any CPU + {1BCCD2F5-A561-4641-8A0B-51F3EDCA35DC}.Checked|x64.ActiveCfg = Debug|Any CPU + {1BCCD2F5-A561-4641-8A0B-51F3EDCA35DC}.Checked|x86.ActiveCfg = Debug|Any CPU {0F83B07B-2E3F-4708-BE6D-7A8DA8168803}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {0F83B07B-2E3F-4708-BE6D-7A8DA8168803}.Debug|Any CPU.Build.0 = Debug|Any CPU {0F83B07B-2E3F-4708-BE6D-7A8DA8168803}.Debug|x64.ActiveCfg = Debug|Any CPU @@ -302,9 +320,9 @@ Global {0F83B07B-2E3F-4708-BE6D-7A8DA8168803}.Release|x64.Build.0 = Release|Any CPU {0F83B07B-2E3F-4708-BE6D-7A8DA8168803}.Release|x86.ActiveCfg = Release|Any CPU {0F83B07B-2E3F-4708-BE6D-7A8DA8168803}.Release|x86.Build.0 = Release|Any CPU - {833C1D45-9BBB-4A92-93B7-4EFFD9E945AD}.Checked|Any CPU.ActiveCfg = Debug|Any CPU - {833C1D45-9BBB-4A92-93B7-4EFFD9E945AD}.Checked|x64.ActiveCfg = Debug|Any CPU - {833C1D45-9BBB-4A92-93B7-4EFFD9E945AD}.Checked|x86.ActiveCfg = Debug|Any CPU + {0F83B07B-2E3F-4708-BE6D-7A8DA8168803}.Checked|Any CPU.ActiveCfg = Debug|Any CPU + {0F83B07B-2E3F-4708-BE6D-7A8DA8168803}.Checked|x64.ActiveCfg = Debug|Any CPU + {0F83B07B-2E3F-4708-BE6D-7A8DA8168803}.Checked|x86.ActiveCfg = Debug|Any CPU {833C1D45-9BBB-4A92-93B7-4EFFD9E945AD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {833C1D45-9BBB-4A92-93B7-4EFFD9E945AD}.Debug|Any CPU.Build.0 = Debug|Any CPU {833C1D45-9BBB-4A92-93B7-4EFFD9E945AD}.Debug|x64.ActiveCfg = Debug|Any CPU @@ -317,9 +335,9 @@ Global {833C1D45-9BBB-4A92-93B7-4EFFD9E945AD}.Release|x64.Build.0 = Release|Any CPU {833C1D45-9BBB-4A92-93B7-4EFFD9E945AD}.Release|x86.ActiveCfg = Release|Any CPU {833C1D45-9BBB-4A92-93B7-4EFFD9E945AD}.Release|x86.Build.0 = Release|Any CPU - {67E57433-4571-442C-9EB7-5512847FFE51}.Checked|Any CPU.ActiveCfg = Debug|Any CPU - {67E57433-4571-442C-9EB7-5512847FFE51}.Checked|x64.ActiveCfg = Debug|Any CPU - {67E57433-4571-442C-9EB7-5512847FFE51}.Checked|x86.ActiveCfg = Debug|Any CPU + {833C1D45-9BBB-4A92-93B7-4EFFD9E945AD}.Checked|Any CPU.ActiveCfg = Debug|Any CPU + {833C1D45-9BBB-4A92-93B7-4EFFD9E945AD}.Checked|x64.ActiveCfg = Debug|Any CPU + {833C1D45-9BBB-4A92-93B7-4EFFD9E945AD}.Checked|x86.ActiveCfg = Debug|Any CPU {67E57433-4571-442C-9EB7-5512847FFE51}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {67E57433-4571-442C-9EB7-5512847FFE51}.Debug|Any CPU.Build.0 = Debug|Any CPU {67E57433-4571-442C-9EB7-5512847FFE51}.Debug|x64.ActiveCfg = Debug|Any CPU @@ -332,9 +350,9 @@ Global {67E57433-4571-442C-9EB7-5512847FFE51}.Release|x64.Build.0 = Release|Any CPU {67E57433-4571-442C-9EB7-5512847FFE51}.Release|x86.ActiveCfg = Release|Any CPU {67E57433-4571-442C-9EB7-5512847FFE51}.Release|x86.Build.0 = Release|Any CPU - {DBFDC8D7-97CA-444C-BE48-BAA09331CD1B}.Checked|Any CPU.ActiveCfg = Debug|Any CPU - {DBFDC8D7-97CA-444C-BE48-BAA09331CD1B}.Checked|x64.ActiveCfg = Debug|Any CPU - {DBFDC8D7-97CA-444C-BE48-BAA09331CD1B}.Checked|x86.ActiveCfg = Debug|Any CPU + {67E57433-4571-442C-9EB7-5512847FFE51}.Checked|Any CPU.ActiveCfg = Debug|Any CPU + {67E57433-4571-442C-9EB7-5512847FFE51}.Checked|x64.ActiveCfg = Debug|Any CPU + {67E57433-4571-442C-9EB7-5512847FFE51}.Checked|x86.ActiveCfg = Debug|Any CPU {DBFDC8D7-97CA-444C-BE48-BAA09331CD1B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {DBFDC8D7-97CA-444C-BE48-BAA09331CD1B}.Debug|Any CPU.Build.0 = Debug|Any CPU {DBFDC8D7-97CA-444C-BE48-BAA09331CD1B}.Debug|x64.ActiveCfg = Debug|Any CPU @@ -347,9 +365,9 @@ Global {DBFDC8D7-97CA-444C-BE48-BAA09331CD1B}.Release|x64.Build.0 = Release|Any CPU {DBFDC8D7-97CA-444C-BE48-BAA09331CD1B}.Release|x86.ActiveCfg = Release|Any CPU {DBFDC8D7-97CA-444C-BE48-BAA09331CD1B}.Release|x86.Build.0 = Release|Any CPU - {1B4552A4-91FD-4C6F-9EB4-3454C4BE428F}.Checked|Any CPU.ActiveCfg = Debug|Any CPU - {1B4552A4-91FD-4C6F-9EB4-3454C4BE428F}.Checked|x64.ActiveCfg = Debug|Any CPU - {1B4552A4-91FD-4C6F-9EB4-3454C4BE428F}.Checked|x86.ActiveCfg = Debug|Any CPU + {DBFDC8D7-97CA-444C-BE48-BAA09331CD1B}.Checked|Any CPU.ActiveCfg = Debug|Any CPU + {DBFDC8D7-97CA-444C-BE48-BAA09331CD1B}.Checked|x64.ActiveCfg = Debug|Any CPU + {DBFDC8D7-97CA-444C-BE48-BAA09331CD1B}.Checked|x86.ActiveCfg = Debug|Any CPU {1B4552A4-91FD-4C6F-9EB4-3454C4BE428F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {1B4552A4-91FD-4C6F-9EB4-3454C4BE428F}.Debug|Any CPU.Build.0 = Debug|Any CPU {1B4552A4-91FD-4C6F-9EB4-3454C4BE428F}.Debug|x64.ActiveCfg = Debug|Any CPU @@ -362,9 +380,9 @@ Global {1B4552A4-91FD-4C6F-9EB4-3454C4BE428F}.Release|x64.Build.0 = Release|Any CPU {1B4552A4-91FD-4C6F-9EB4-3454C4BE428F}.Release|x86.ActiveCfg = Release|Any CPU {1B4552A4-91FD-4C6F-9EB4-3454C4BE428F}.Release|x86.Build.0 = Release|Any CPU - {F6A8185B-07C6-401D-9B40-3C560239E05F}.Checked|Any CPU.ActiveCfg = Debug|Any CPU - {F6A8185B-07C6-401D-9B40-3C560239E05F}.Checked|x64.ActiveCfg = Debug|Any CPU - {F6A8185B-07C6-401D-9B40-3C560239E05F}.Checked|x86.ActiveCfg = Debug|Any CPU + {1B4552A4-91FD-4C6F-9EB4-3454C4BE428F}.Checked|Any CPU.ActiveCfg = Debug|Any CPU + {1B4552A4-91FD-4C6F-9EB4-3454C4BE428F}.Checked|x64.ActiveCfg = Debug|Any CPU + {1B4552A4-91FD-4C6F-9EB4-3454C4BE428F}.Checked|x86.ActiveCfg = Debug|Any CPU {F6A8185B-07C6-401D-9B40-3C560239E05F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {F6A8185B-07C6-401D-9B40-3C560239E05F}.Debug|Any CPU.Build.0 = Debug|Any CPU {F6A8185B-07C6-401D-9B40-3C560239E05F}.Debug|x64.ActiveCfg = Debug|Any CPU @@ -377,9 +395,9 @@ Global {F6A8185B-07C6-401D-9B40-3C560239E05F}.Release|x64.Build.0 = Release|Any CPU {F6A8185B-07C6-401D-9B40-3C560239E05F}.Release|x86.ActiveCfg = Release|Any CPU {F6A8185B-07C6-401D-9B40-3C560239E05F}.Release|x86.Build.0 = Release|Any CPU - {F5D24DC1-048D-4306-9C48-5963685F825C}.Checked|Any CPU.ActiveCfg = Debug|Any CPU - {F5D24DC1-048D-4306-9C48-5963685F825C}.Checked|x64.ActiveCfg = Debug|Any CPU - {F5D24DC1-048D-4306-9C48-5963685F825C}.Checked|x86.ActiveCfg = Debug|Any CPU + {F6A8185B-07C6-401D-9B40-3C560239E05F}.Checked|Any CPU.ActiveCfg = Debug|Any CPU + {F6A8185B-07C6-401D-9B40-3C560239E05F}.Checked|x64.ActiveCfg = Debug|Any CPU + {F6A8185B-07C6-401D-9B40-3C560239E05F}.Checked|x86.ActiveCfg = Debug|Any CPU {F5D24DC1-048D-4306-9C48-5963685F825C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {F5D24DC1-048D-4306-9C48-5963685F825C}.Debug|Any CPU.Build.0 = Debug|Any CPU {F5D24DC1-048D-4306-9C48-5963685F825C}.Debug|x64.ActiveCfg = Debug|Any CPU @@ -392,9 +410,9 @@ Global {F5D24DC1-048D-4306-9C48-5963685F825C}.Release|x64.Build.0 = Release|Any CPU {F5D24DC1-048D-4306-9C48-5963685F825C}.Release|x86.ActiveCfg = Release|Any CPU {F5D24DC1-048D-4306-9C48-5963685F825C}.Release|x86.Build.0 = Release|Any CPU - {82A02402-0C05-4A8C-98DD-058844E8D224}.Checked|Any CPU.ActiveCfg = Debug|Any CPU - {82A02402-0C05-4A8C-98DD-058844E8D224}.Checked|x64.ActiveCfg = Debug|Any CPU - {82A02402-0C05-4A8C-98DD-058844E8D224}.Checked|x86.ActiveCfg = Debug|Any CPU + {F5D24DC1-048D-4306-9C48-5963685F825C}.Checked|Any CPU.ActiveCfg = Debug|Any CPU + {F5D24DC1-048D-4306-9C48-5963685F825C}.Checked|x64.ActiveCfg = Debug|Any CPU + {F5D24DC1-048D-4306-9C48-5963685F825C}.Checked|x86.ActiveCfg = Debug|Any CPU {82A02402-0C05-4A8C-98DD-058844E8D224}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {82A02402-0C05-4A8C-98DD-058844E8D224}.Debug|Any CPU.Build.0 = Debug|Any CPU {82A02402-0C05-4A8C-98DD-058844E8D224}.Debug|x64.ActiveCfg = Debug|Any CPU @@ -407,9 +425,9 @@ Global {82A02402-0C05-4A8C-98DD-058844E8D224}.Release|x64.Build.0 = Release|Any CPU {82A02402-0C05-4A8C-98DD-058844E8D224}.Release|x86.ActiveCfg = Release|Any CPU {82A02402-0C05-4A8C-98DD-058844E8D224}.Release|x86.Build.0 = Release|Any CPU - {9CF6C6E6-0E9F-4A95-84B5-6083EAB6FA13}.Checked|Any CPU.ActiveCfg = Debug|Any CPU - {9CF6C6E6-0E9F-4A95-84B5-6083EAB6FA13}.Checked|x64.ActiveCfg = Debug|Any CPU - {9CF6C6E6-0E9F-4A95-84B5-6083EAB6FA13}.Checked|x86.ActiveCfg = Debug|Any CPU + {82A02402-0C05-4A8C-98DD-058844E8D224}.Checked|Any CPU.ActiveCfg = Debug|Any CPU + {82A02402-0C05-4A8C-98DD-058844E8D224}.Checked|x64.ActiveCfg = Debug|Any CPU + {82A02402-0C05-4A8C-98DD-058844E8D224}.Checked|x86.ActiveCfg = Debug|Any CPU {9CF6C6E6-0E9F-4A95-84B5-6083EAB6FA13}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {9CF6C6E6-0E9F-4A95-84B5-6083EAB6FA13}.Debug|Any CPU.Build.0 = Debug|Any CPU {9CF6C6E6-0E9F-4A95-84B5-6083EAB6FA13}.Debug|x64.ActiveCfg = Debug|Any CPU @@ -422,9 +440,9 @@ Global {9CF6C6E6-0E9F-4A95-84B5-6083EAB6FA13}.Release|x64.Build.0 = Release|Any CPU {9CF6C6E6-0E9F-4A95-84B5-6083EAB6FA13}.Release|x86.ActiveCfg = Release|Any CPU {9CF6C6E6-0E9F-4A95-84B5-6083EAB6FA13}.Release|x86.Build.0 = Release|Any CPU - {82728202-1098-4E16-B598-5762EAF67D08}.Checked|Any CPU.ActiveCfg = Debug|Any CPU - {82728202-1098-4E16-B598-5762EAF67D08}.Checked|x64.ActiveCfg = Debug|Any CPU - {82728202-1098-4E16-B598-5762EAF67D08}.Checked|x86.ActiveCfg = Debug|Any CPU + {9CF6C6E6-0E9F-4A95-84B5-6083EAB6FA13}.Checked|Any CPU.ActiveCfg = Debug|Any CPU + {9CF6C6E6-0E9F-4A95-84B5-6083EAB6FA13}.Checked|x64.ActiveCfg = Debug|Any CPU + {9CF6C6E6-0E9F-4A95-84B5-6083EAB6FA13}.Checked|x86.ActiveCfg = Debug|Any CPU {82728202-1098-4E16-B598-5762EAF67D08}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {82728202-1098-4E16-B598-5762EAF67D08}.Debug|Any CPU.Build.0 = Debug|Any CPU {82728202-1098-4E16-B598-5762EAF67D08}.Debug|x64.ActiveCfg = Debug|Any CPU @@ -437,9 +455,9 @@ Global {82728202-1098-4E16-B598-5762EAF67D08}.Release|x64.Build.0 = Release|Any CPU {82728202-1098-4E16-B598-5762EAF67D08}.Release|x86.ActiveCfg = Release|Any CPU {82728202-1098-4E16-B598-5762EAF67D08}.Release|x86.Build.0 = Release|Any CPU - {069C2B51-069A-4FBB-BFE9-42D573F1CEEA}.Checked|Any CPU.ActiveCfg = Debug|Any CPU - {069C2B51-069A-4FBB-BFE9-42D573F1CEEA}.Checked|x64.ActiveCfg = Debug|Any CPU - {069C2B51-069A-4FBB-BFE9-42D573F1CEEA}.Checked|x86.ActiveCfg = Debug|Any CPU + {82728202-1098-4E16-B598-5762EAF67D08}.Checked|Any CPU.ActiveCfg = Debug|Any CPU + {82728202-1098-4E16-B598-5762EAF67D08}.Checked|x64.ActiveCfg = Debug|Any CPU + {82728202-1098-4E16-B598-5762EAF67D08}.Checked|x86.ActiveCfg = Debug|Any CPU {069C2B51-069A-4FBB-BFE9-42D573F1CEEA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {069C2B51-069A-4FBB-BFE9-42D573F1CEEA}.Debug|Any CPU.Build.0 = Debug|Any CPU {069C2B51-069A-4FBB-BFE9-42D573F1CEEA}.Debug|x64.ActiveCfg = Debug|Any CPU @@ -452,37 +470,13 @@ Global {069C2B51-069A-4FBB-BFE9-42D573F1CEEA}.Release|x64.Build.0 = Release|Any CPU {069C2B51-069A-4FBB-BFE9-42D573F1CEEA}.Release|x86.ActiveCfg = Release|Any CPU {069C2B51-069A-4FBB-BFE9-42D573F1CEEA}.Release|x86.Build.0 = Release|Any CPU + {069C2B51-069A-4FBB-BFE9-42D573F1CEEA}.Checked|Any CPU.ActiveCfg = Debug|Any CPU + {069C2B51-069A-4FBB-BFE9-42D573F1CEEA}.Checked|x64.ActiveCfg = Debug|Any CPU + {069C2B51-069A-4FBB-BFE9-42D573F1CEEA}.Checked|x86.ActiveCfg = Debug|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE EndGlobalSection - GlobalSection(NestedProjects) = preSolution - {71AB8240-F179-4B21-A8BE-8BE6CD774ED9} = {C7032EBC-8AB7-4BE6-9D95-B420F058FAAF} - {9DF0247E-5B81-4EF3-82CA-3E70B3A56742} = {BDCC9986-D51F-48D9-9650-388E172CD91E} - {FB17AC52-1633-4845-932B-9218DF895957} = {BDCC9986-D51F-48D9-9650-388E172CD91E} - {D98FBB47-1DFD-4021-9C80-3034D699EAD6} = {F4F10B6C-21C0-4C9D-8909-76FC52145120} - {9C41B325-1225-43CA-9436-549AFF6D90A1} = {F4F10B6C-21C0-4C9D-8909-76FC52145120} - {E7A05515-DABE-4C09-83CB-CE84EFDCD4CC} = {C7032EBC-8AB7-4BE6-9D95-B420F058FAAF} - {C1B93F37-FDD5-4ABB-A244-C6C60BD11CF3} = {F4F10B6C-21C0-4C9D-8909-76FC52145120} - {26541647-B653-4480-9448-BA275D53C81D} = {C7032EBC-8AB7-4BE6-9D95-B420F058FAAF} - {F39E2C7E-5FE1-460C-AC2C-7E2B50955F2C} = {F4F10B6C-21C0-4C9D-8909-76FC52145120} - {A83A8520-F5E2-49B4-83BC-0F82A412951D} = {C7032EBC-8AB7-4BE6-9D95-B420F058FAAF} - {3B79DD71-8C2F-41BC-A1A7-86A490D6C726} = {BDCC9986-D51F-48D9-9650-388E172CD91E} - {4EE36055-AD7C-4779-B3F6-08687960DCC3} = {BDCC9986-D51F-48D9-9650-388E172CD91E} - {C230AC88-A377-4BEB-824F-AB174C14DC86} = {BDCC9986-D51F-48D9-9650-388E172CD91E} - {1BCCD2F5-A561-4641-8A0B-51F3EDCA35DC} = {BDCC9986-D51F-48D9-9650-388E172CD91E} - {0F83B07B-2E3F-4708-BE6D-7A8DA8168803} = {BDCC9986-D51F-48D9-9650-388E172CD91E} - {833C1D45-9BBB-4A92-93B7-4EFFD9E945AD} = {BDCC9986-D51F-48D9-9650-388E172CD91E} - {67E57433-4571-442C-9EB7-5512847FFE51} = {F4F10B6C-21C0-4C9D-8909-76FC52145120} - {DBFDC8D7-97CA-444C-BE48-BAA09331CD1B} = {C7032EBC-8AB7-4BE6-9D95-B420F058FAAF} - {1B4552A4-91FD-4C6F-9EB4-3454C4BE428F} = {F4F10B6C-21C0-4C9D-8909-76FC52145120} - {F6A8185B-07C6-401D-9B40-3C560239E05F} = {C7032EBC-8AB7-4BE6-9D95-B420F058FAAF} - {F5D24DC1-048D-4306-9C48-5963685F825C} = {F4F10B6C-21C0-4C9D-8909-76FC52145120} - {82A02402-0C05-4A8C-98DD-058844E8D224} = {C7032EBC-8AB7-4BE6-9D95-B420F058FAAF} - {9CF6C6E6-0E9F-4A95-84B5-6083EAB6FA13} = {C7032EBC-8AB7-4BE6-9D95-B420F058FAAF} - {82728202-1098-4E16-B598-5762EAF67D08} = {F4F10B6C-21C0-4C9D-8909-76FC52145120} - {069C2B51-069A-4FBB-BFE9-42D573F1CEEA} = {C7032EBC-8AB7-4BE6-9D95-B420F058FAAF} - EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {19706846-1F47-42ED-B649-B0982EE96E6B} EndGlobalSection From 8f08c32062af1a13e28a00867dc61ad422d0eced Mon Sep 17 00:00:00 2001 From: Levi Broderick Date: Thu, 27 May 2021 14:23:55 -0700 Subject: [PATCH 4/4] Undo SHA (Browser) change - we shouldn't touch this code --- .../Internal/Cryptography/SHAHashProvider.Browser.cs | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/libraries/System.Security.Cryptography.Algorithms/src/Internal/Cryptography/SHAHashProvider.Browser.cs b/src/libraries/System.Security.Cryptography.Algorithms/src/Internal/Cryptography/SHAHashProvider.Browser.cs index c75cd6069a7290..7a83e35ce13bf1 100644 --- a/src/libraries/System.Security.Cryptography.Algorithms/src/Internal/Cryptography/SHAHashProvider.Browser.cs +++ b/src/libraries/System.Security.Cryptography.Algorithms/src/Internal/Cryptography/SHAHashProvider.Browser.cs @@ -139,8 +139,8 @@ public override void Initialize() InitializeState(); // Zeroize potentially sensitive information. - Array.Clear(_buffer); - Array.Clear(_W); + Array.Clear(_buffer, 0, _buffer.Length); + Array.Clear(_W, 0, _W.Length); } private void InitializeState() @@ -411,8 +411,8 @@ public override void Initialize() InitializeState(); // Zeroize potentially sensitive information. - Array.Clear(_buffer); - Array.Clear(_W); + Array.Clear(_buffer, 0, _buffer.Length); + Array.Clear(_W, 0, _W.Length); } private void InitializeState() @@ -698,8 +698,8 @@ public override void Initialize() InitializeState(); // Zeroize potentially sensitive information. - Array.Clear(_buffer); - Array.Clear(_W); + Array.Clear(_buffer, 0, _buffer.Length); + Array.Clear(_W, 0, _W.Length); } private void InitializeState()