From 0acaf00c86ef204ecbb50e668243e2b90f106d91 Mon Sep 17 00:00:00 2001 From: Sarabjot Singh Date: Mon, 26 Dec 2016 21:02:33 +0530 Subject: [PATCH 1/3] First Draft for the Protocol tool. Emits the json sent and recieved for Discovery, RunAll, RunSelected scenarios. --- TestPlatform.sln | 563 +++++++++--------- ...Studio.TestPlatform.MSTest.TestAdapter.dll | Bin 0 -> 109920 bytes ...TestAdapter.PlatformServices.Interface.dll | Bin 0 -> 24512 bytes ...latform.MSTestAdapter.PlatformServices.dll | Bin 0 -> 26520 bytes ....TestPlatform.TestFramework.Extensions.dll | Bin 0 -> 22400 bytes ...isualStudio.TestPlatform.TestFramework.dll | Bin 0 -> 63824 bytes .../Communication/JsonDataSerializer.cs | 152 +++++ .../Communication/Message.cs | 30 + .../Communication/MessageType.cs | 142 +++++ .../SocketCommunicationManager.cs | 213 +++++++ .../Microsoft.TestPlatform.Protocol.csproj | 45 ++ .../Payload/DiscoveryRequestPayload.cs | 26 + .../Payload/TestRunRequestPayload.cs | 44 ++ .../Program.cs | 197 ++++++ .../Properties/AssemblyInfo.cs | 22 + .../Properties/launchSettings.json | 8 + .../RunnerProcessManager.cs | 132 ++++ .../testhost.exe.config | 60 ++ .../testhost.x86.exe.config | 56 ++ dogfood/UnitTestProject/UnitTest.cs | 55 +- .../UnitTestProject/UnitTestProject.csproj | 21 +- 21 files changed, 1479 insertions(+), 287 deletions(-) create mode 100644 dogfood/Microsoft.TestPlatform.Protocol/Adapter/NetCore/Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.dll create mode 100644 dogfood/Microsoft.TestPlatform.Protocol/Adapter/NetCore/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.Interface.dll create mode 100644 dogfood/Microsoft.TestPlatform.Protocol/Adapter/NetCore/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.dll create mode 100644 dogfood/Microsoft.TestPlatform.Protocol/Adapter/NetCore/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.dll create mode 100644 dogfood/Microsoft.TestPlatform.Protocol/Adapter/NetCore/Microsoft.VisualStudio.TestPlatform.TestFramework.dll create mode 100644 dogfood/Microsoft.TestPlatform.Protocol/Communication/JsonDataSerializer.cs create mode 100644 dogfood/Microsoft.TestPlatform.Protocol/Communication/Message.cs create mode 100644 dogfood/Microsoft.TestPlatform.Protocol/Communication/MessageType.cs create mode 100644 dogfood/Microsoft.TestPlatform.Protocol/Communication/SocketCommunicationManager.cs create mode 100644 dogfood/Microsoft.TestPlatform.Protocol/Microsoft.TestPlatform.Protocol.csproj create mode 100644 dogfood/Microsoft.TestPlatform.Protocol/Payload/DiscoveryRequestPayload.cs create mode 100644 dogfood/Microsoft.TestPlatform.Protocol/Payload/TestRunRequestPayload.cs create mode 100644 dogfood/Microsoft.TestPlatform.Protocol/Program.cs create mode 100644 dogfood/Microsoft.TestPlatform.Protocol/Properties/AssemblyInfo.cs create mode 100644 dogfood/Microsoft.TestPlatform.Protocol/Properties/launchSettings.json create mode 100644 dogfood/Microsoft.TestPlatform.Protocol/RunnerProcessManager.cs create mode 100644 dogfood/Microsoft.TestPlatform.Protocol/testhost.exe.config create mode 100644 dogfood/Microsoft.TestPlatform.Protocol/testhost.x86.exe.config diff --git a/TestPlatform.sln b/TestPlatform.sln index 76ab1ea65e..5562306754 100644 --- a/TestPlatform.sln +++ b/TestPlatform.sln @@ -1,7 +1,7 @@  Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio 15 -VisualStudioVersion = 15.0.26009.0 +# Visual Studio 14 +VisualStudioVersion = 14.0.25420.1 MinimumVisualStudioVersion = 10.0.40219.1 Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{ED0C35EB-7F31-4841-A24F-8EB708FFA959}" EndProject @@ -106,17 +106,19 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Package", "Package", "{D27E EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "TestAssets", "TestAssets", "{8DA7CBD9-F17E-41B6-90C4-CFF55848A25A}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SimpleTestProject", "test\TestAssets\SimpleTestProject\SimpleTestProject.csproj", "{22C2F754-11A1-435A-9F64-645CD4C1C31A}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SimpleTestProject", "test\TestAssets\SimpleTestProject\SimpleTestProject.csproj", "{22C2F754-11A1-435A-9F64-645CD4C1C31A}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SimpleTestProject2", "test\TestAssets\SimpleTestProject2\SimpleTestProject2.csproj", "{B619F69F-6864-4A6E-894A-C02E5FB0128F}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SimpleTestProject2", "test\TestAssets\SimpleTestProject2\SimpleTestProject2.csproj", "{B619F69F-6864-4A6E-894A-C02E5FB0128F}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "NUTestProject", "test\TestAssets\NUTestProject\NUTestProject.csproj", "{D68733FF-7520-4906-AE35-B7B9DBAC543F}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NUTestProject", "test\TestAssets\NUTestProject\NUTestProject.csproj", "{D68733FF-7520-4906-AE35-B7B9DBAC543F}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "XUTestProject", "test\TestAssets\XUTestProject\XUTestProject.csproj", "{A23E3408-D569-488E-A071-E1B3625C5F09}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "XUTestProject", "test\TestAssets\XUTestProject\XUTestProject.csproj", "{A23E3408-D569-488E-A071-E1B3625C5F09}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "PerfTestProject", "test\TestAssets\PerfTestProject\PerfTestProject.csproj", "{57B182B8-9014-4C6D-B966-B464DE3127D5}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PerfTestProject", "test\TestAssets\PerfTestProject\PerfTestProject.csproj", "{57B182B8-9014-4C6D-B966-B464DE3127D5}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SimpleDataCollector", "test\TestAssets\SimpleDataCollector\SimpleDataCollector.csproj", "{D62D754C-8F0A-406F-8BA7-E96C6FFA7C7C}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SimpleDataCollector", "test\TestAssets\SimpleDataCollector\SimpleDataCollector.csproj", "{D62D754C-8F0A-406F-8BA7-E96C6FFA7C7C}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Microsoft.TestPlatform.Protocol", "dogfood\Microsoft.TestPlatform.Protocol\Microsoft.TestPlatform.Protocol.csproj", "{CD5FC6A4-843C-4C0D-9941-91DFA5723EA1}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution @@ -142,52 +144,52 @@ Global {50C00046-0DA3-4B5C-9F6F-7BE1145E156A}.Release|x86.Build.0 = Release|x86 {01409D95-A5F1-4EBE-94B1-909D5D2D0DC3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {01409D95-A5F1-4EBE-94B1-909D5D2D0DC3}.Debug|Any CPU.Build.0 = Debug|Any CPU - {01409D95-A5F1-4EBE-94B1-909D5D2D0DC3}.Debug|x64.ActiveCfg = Debug|x64 - {01409D95-A5F1-4EBE-94B1-909D5D2D0DC3}.Debug|x64.Build.0 = Debug|x64 - {01409D95-A5F1-4EBE-94B1-909D5D2D0DC3}.Debug|x86.ActiveCfg = Debug|x86 - {01409D95-A5F1-4EBE-94B1-909D5D2D0DC3}.Debug|x86.Build.0 = Debug|x86 + {01409D95-A5F1-4EBE-94B1-909D5D2D0DC3}.Debug|x64.ActiveCfg = Debug|Any CPU + {01409D95-A5F1-4EBE-94B1-909D5D2D0DC3}.Debug|x64.Build.0 = Debug|Any CPU + {01409D95-A5F1-4EBE-94B1-909D5D2D0DC3}.Debug|x86.ActiveCfg = Debug|Any CPU + {01409D95-A5F1-4EBE-94B1-909D5D2D0DC3}.Debug|x86.Build.0 = Debug|Any CPU {01409D95-A5F1-4EBE-94B1-909D5D2D0DC3}.Release|Any CPU.ActiveCfg = Release|Any CPU {01409D95-A5F1-4EBE-94B1-909D5D2D0DC3}.Release|Any CPU.Build.0 = Release|Any CPU - {01409D95-A5F1-4EBE-94B1-909D5D2D0DC3}.Release|x64.ActiveCfg = Release|x64 - {01409D95-A5F1-4EBE-94B1-909D5D2D0DC3}.Release|x64.Build.0 = Release|x64 - {01409D95-A5F1-4EBE-94B1-909D5D2D0DC3}.Release|x86.ActiveCfg = Release|x86 - {01409D95-A5F1-4EBE-94B1-909D5D2D0DC3}.Release|x86.Build.0 = Release|x86 + {01409D95-A5F1-4EBE-94B1-909D5D2D0DC3}.Release|x64.ActiveCfg = Release|Any CPU + {01409D95-A5F1-4EBE-94B1-909D5D2D0DC3}.Release|x64.Build.0 = Release|Any CPU + {01409D95-A5F1-4EBE-94B1-909D5D2D0DC3}.Release|x86.ActiveCfg = Release|Any CPU + {01409D95-A5F1-4EBE-94B1-909D5D2D0DC3}.Release|x86.Build.0 = Release|Any CPU {2C7CE1F8-E73E-4987-8023-B5A0EBAC86E8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {2C7CE1F8-E73E-4987-8023-B5A0EBAC86E8}.Debug|Any CPU.Build.0 = Debug|Any CPU - {2C7CE1F8-E73E-4987-8023-B5A0EBAC86E8}.Debug|x64.ActiveCfg = Debug|x64 - {2C7CE1F8-E73E-4987-8023-B5A0EBAC86E8}.Debug|x64.Build.0 = Debug|x64 - {2C7CE1F8-E73E-4987-8023-B5A0EBAC86E8}.Debug|x86.ActiveCfg = Debug|x86 - {2C7CE1F8-E73E-4987-8023-B5A0EBAC86E8}.Debug|x86.Build.0 = Debug|x86 + {2C7CE1F8-E73E-4987-8023-B5A0EBAC86E8}.Debug|x64.ActiveCfg = Debug|Any CPU + {2C7CE1F8-E73E-4987-8023-B5A0EBAC86E8}.Debug|x64.Build.0 = Debug|Any CPU + {2C7CE1F8-E73E-4987-8023-B5A0EBAC86E8}.Debug|x86.ActiveCfg = Debug|Any CPU + {2C7CE1F8-E73E-4987-8023-B5A0EBAC86E8}.Debug|x86.Build.0 = Debug|Any CPU {2C7CE1F8-E73E-4987-8023-B5A0EBAC86E8}.Release|Any CPU.ActiveCfg = Release|Any CPU {2C7CE1F8-E73E-4987-8023-B5A0EBAC86E8}.Release|Any CPU.Build.0 = Release|Any CPU - {2C7CE1F8-E73E-4987-8023-B5A0EBAC86E8}.Release|x64.ActiveCfg = Release|x64 - {2C7CE1F8-E73E-4987-8023-B5A0EBAC86E8}.Release|x64.Build.0 = Release|x64 - {2C7CE1F8-E73E-4987-8023-B5A0EBAC86E8}.Release|x86.ActiveCfg = Release|x86 - {2C7CE1F8-E73E-4987-8023-B5A0EBAC86E8}.Release|x86.Build.0 = Release|x86 + {2C7CE1F8-E73E-4987-8023-B5A0EBAC86E8}.Release|x64.ActiveCfg = Release|Any CPU + {2C7CE1F8-E73E-4987-8023-B5A0EBAC86E8}.Release|x64.Build.0 = Release|Any CPU + {2C7CE1F8-E73E-4987-8023-B5A0EBAC86E8}.Release|x86.ActiveCfg = Release|Any CPU + {2C7CE1F8-E73E-4987-8023-B5A0EBAC86E8}.Release|x86.Build.0 = Release|Any CPU {2820F090-3F3D-4DA2-8CBA-B8273D695333}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {2820F090-3F3D-4DA2-8CBA-B8273D695333}.Debug|Any CPU.Build.0 = Debug|Any CPU - {2820F090-3F3D-4DA2-8CBA-B8273D695333}.Debug|x64.ActiveCfg = Debug|x64 - {2820F090-3F3D-4DA2-8CBA-B8273D695333}.Debug|x64.Build.0 = Debug|x64 - {2820F090-3F3D-4DA2-8CBA-B8273D695333}.Debug|x86.ActiveCfg = Debug|x86 - {2820F090-3F3D-4DA2-8CBA-B8273D695333}.Debug|x86.Build.0 = Debug|x86 + {2820F090-3F3D-4DA2-8CBA-B8273D695333}.Debug|x64.ActiveCfg = Debug|Any CPU + {2820F090-3F3D-4DA2-8CBA-B8273D695333}.Debug|x64.Build.0 = Debug|Any CPU + {2820F090-3F3D-4DA2-8CBA-B8273D695333}.Debug|x86.ActiveCfg = Debug|Any CPU + {2820F090-3F3D-4DA2-8CBA-B8273D695333}.Debug|x86.Build.0 = Debug|Any CPU {2820F090-3F3D-4DA2-8CBA-B8273D695333}.Release|Any CPU.ActiveCfg = Release|Any CPU {2820F090-3F3D-4DA2-8CBA-B8273D695333}.Release|Any CPU.Build.0 = Release|Any CPU - {2820F090-3F3D-4DA2-8CBA-B8273D695333}.Release|x64.ActiveCfg = Release|x64 - {2820F090-3F3D-4DA2-8CBA-B8273D695333}.Release|x64.Build.0 = Release|x64 - {2820F090-3F3D-4DA2-8CBA-B8273D695333}.Release|x86.ActiveCfg = Release|x86 - {2820F090-3F3D-4DA2-8CBA-B8273D695333}.Release|x86.Build.0 = Release|x86 + {2820F090-3F3D-4DA2-8CBA-B8273D695333}.Release|x64.ActiveCfg = Release|Any CPU + {2820F090-3F3D-4DA2-8CBA-B8273D695333}.Release|x64.Build.0 = Release|Any CPU + {2820F090-3F3D-4DA2-8CBA-B8273D695333}.Release|x86.ActiveCfg = Release|Any CPU + {2820F090-3F3D-4DA2-8CBA-B8273D695333}.Release|x86.Build.0 = Release|Any CPU {6F5EC38C-4A11-40D3-827C-F607B90BEFF0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {6F5EC38C-4A11-40D3-827C-F607B90BEFF0}.Debug|Any CPU.Build.0 = Debug|Any CPU - {6F5EC38C-4A11-40D3-827C-F607B90BEFF0}.Debug|x64.ActiveCfg = Debug|x64 - {6F5EC38C-4A11-40D3-827C-F607B90BEFF0}.Debug|x64.Build.0 = Debug|x64 - {6F5EC38C-4A11-40D3-827C-F607B90BEFF0}.Debug|x86.ActiveCfg = Debug|x86 - {6F5EC38C-4A11-40D3-827C-F607B90BEFF0}.Debug|x86.Build.0 = Debug|x86 + {6F5EC38C-4A11-40D3-827C-F607B90BEFF0}.Debug|x64.ActiveCfg = Debug|Any CPU + {6F5EC38C-4A11-40D3-827C-F607B90BEFF0}.Debug|x64.Build.0 = Debug|Any CPU + {6F5EC38C-4A11-40D3-827C-F607B90BEFF0}.Debug|x86.ActiveCfg = Debug|Any CPU + {6F5EC38C-4A11-40D3-827C-F607B90BEFF0}.Debug|x86.Build.0 = Debug|Any CPU {6F5EC38C-4A11-40D3-827C-F607B90BEFF0}.Release|Any CPU.ActiveCfg = Release|Any CPU {6F5EC38C-4A11-40D3-827C-F607B90BEFF0}.Release|Any CPU.Build.0 = Release|Any CPU - {6F5EC38C-4A11-40D3-827C-F607B90BEFF0}.Release|x64.ActiveCfg = Release|x64 - {6F5EC38C-4A11-40D3-827C-F607B90BEFF0}.Release|x64.Build.0 = Release|x64 - {6F5EC38C-4A11-40D3-827C-F607B90BEFF0}.Release|x86.ActiveCfg = Release|x86 - {6F5EC38C-4A11-40D3-827C-F607B90BEFF0}.Release|x86.Build.0 = Release|x86 + {6F5EC38C-4A11-40D3-827C-F607B90BEFF0}.Release|x64.ActiveCfg = Release|Any CPU + {6F5EC38C-4A11-40D3-827C-F607B90BEFF0}.Release|x64.Build.0 = Release|Any CPU + {6F5EC38C-4A11-40D3-827C-F607B90BEFF0}.Release|x86.ActiveCfg = Release|Any CPU + {6F5EC38C-4A11-40D3-827C-F607B90BEFF0}.Release|x86.Build.0 = Release|Any CPU {E19B5128-3469-492E-82E1-725631C4A68C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {E19B5128-3469-492E-82E1-725631C4A68C}.Debug|Any CPU.Build.0 = Debug|Any CPU {E19B5128-3469-492E-82E1-725631C4A68C}.Debug|x64.ActiveCfg = Debug|x64 @@ -286,28 +288,28 @@ Global {790B8030-00C2-4121-B125-EDC4CE329BA3}.Release|x86.Build.0 = Release|x86 {27DFBD04-64B2-4F1B-82B2-006620CCA6F8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {27DFBD04-64B2-4F1B-82B2-006620CCA6F8}.Debug|Any CPU.Build.0 = Debug|Any CPU - {27DFBD04-64B2-4F1B-82B2-006620CCA6F8}.Debug|x64.ActiveCfg = Debug|x64 - {27DFBD04-64B2-4F1B-82B2-006620CCA6F8}.Debug|x64.Build.0 = Debug|x64 - {27DFBD04-64B2-4F1B-82B2-006620CCA6F8}.Debug|x86.ActiveCfg = Debug|x86 - {27DFBD04-64B2-4F1B-82B2-006620CCA6F8}.Debug|x86.Build.0 = Debug|x86 + {27DFBD04-64B2-4F1B-82B2-006620CCA6F8}.Debug|x64.ActiveCfg = Debug|Any CPU + {27DFBD04-64B2-4F1B-82B2-006620CCA6F8}.Debug|x64.Build.0 = Debug|Any CPU + {27DFBD04-64B2-4F1B-82B2-006620CCA6F8}.Debug|x86.ActiveCfg = Debug|Any CPU + {27DFBD04-64B2-4F1B-82B2-006620CCA6F8}.Debug|x86.Build.0 = Debug|Any CPU {27DFBD04-64B2-4F1B-82B2-006620CCA6F8}.Release|Any CPU.ActiveCfg = Release|Any CPU {27DFBD04-64B2-4F1B-82B2-006620CCA6F8}.Release|Any CPU.Build.0 = Release|Any CPU - {27DFBD04-64B2-4F1B-82B2-006620CCA6F8}.Release|x64.ActiveCfg = Release|x64 - {27DFBD04-64B2-4F1B-82B2-006620CCA6F8}.Release|x64.Build.0 = Release|x64 - {27DFBD04-64B2-4F1B-82B2-006620CCA6F8}.Release|x86.ActiveCfg = Release|x86 - {27DFBD04-64B2-4F1B-82B2-006620CCA6F8}.Release|x86.Build.0 = Release|x86 + {27DFBD04-64B2-4F1B-82B2-006620CCA6F8}.Release|x64.ActiveCfg = Release|Any CPU + {27DFBD04-64B2-4F1B-82B2-006620CCA6F8}.Release|x64.Build.0 = Release|Any CPU + {27DFBD04-64B2-4F1B-82B2-006620CCA6F8}.Release|x86.ActiveCfg = Release|Any CPU + {27DFBD04-64B2-4F1B-82B2-006620CCA6F8}.Release|x86.Build.0 = Release|Any CPU {71CB42FF-E750-4A3B-9C3A-AC938853CC89}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {71CB42FF-E750-4A3B-9C3A-AC938853CC89}.Debug|Any CPU.Build.0 = Debug|Any CPU - {71CB42FF-E750-4A3B-9C3A-AC938853CC89}.Debug|x64.ActiveCfg = Debug|x64 - {71CB42FF-E750-4A3B-9C3A-AC938853CC89}.Debug|x64.Build.0 = Debug|x64 - {71CB42FF-E750-4A3B-9C3A-AC938853CC89}.Debug|x86.ActiveCfg = Debug|x86 - {71CB42FF-E750-4A3B-9C3A-AC938853CC89}.Debug|x86.Build.0 = Debug|x86 + {71CB42FF-E750-4A3B-9C3A-AC938853CC89}.Debug|x64.ActiveCfg = Debug|Any CPU + {71CB42FF-E750-4A3B-9C3A-AC938853CC89}.Debug|x64.Build.0 = Debug|Any CPU + {71CB42FF-E750-4A3B-9C3A-AC938853CC89}.Debug|x86.ActiveCfg = Debug|Any CPU + {71CB42FF-E750-4A3B-9C3A-AC938853CC89}.Debug|x86.Build.0 = Debug|Any CPU {71CB42FF-E750-4A3B-9C3A-AC938853CC89}.Release|Any CPU.ActiveCfg = Release|Any CPU {71CB42FF-E750-4A3B-9C3A-AC938853CC89}.Release|Any CPU.Build.0 = Release|Any CPU - {71CB42FF-E750-4A3B-9C3A-AC938853CC89}.Release|x64.ActiveCfg = Release|x64 - {71CB42FF-E750-4A3B-9C3A-AC938853CC89}.Release|x64.Build.0 = Release|x64 - {71CB42FF-E750-4A3B-9C3A-AC938853CC89}.Release|x86.ActiveCfg = Release|x86 - {71CB42FF-E750-4A3B-9C3A-AC938853CC89}.Release|x86.Build.0 = Release|x86 + {71CB42FF-E750-4A3B-9C3A-AC938853CC89}.Release|x64.ActiveCfg = Release|Any CPU + {71CB42FF-E750-4A3B-9C3A-AC938853CC89}.Release|x64.Build.0 = Release|Any CPU + {71CB42FF-E750-4A3B-9C3A-AC938853CC89}.Release|x86.ActiveCfg = Release|Any CPU + {71CB42FF-E750-4A3B-9C3A-AC938853CC89}.Release|x86.Build.0 = Release|Any CPU {10B6ADE1-F808-4612-801D-4452F5B52242}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {10B6ADE1-F808-4612-801D-4452F5B52242}.Debug|Any CPU.Build.0 = Debug|Any CPU {10B6ADE1-F808-4612-801D-4452F5B52242}.Debug|x64.ActiveCfg = Debug|x64 @@ -334,306 +336,306 @@ Global {D5C17A3B-A6E6-4FB4-B089-827EECD5EDCB}.Release|x86.Build.0 = Release|Any CPU {F1001A64-974E-461E-B972-1A1330635677}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {F1001A64-974E-461E-B972-1A1330635677}.Debug|Any CPU.Build.0 = Debug|Any CPU - {F1001A64-974E-461E-B972-1A1330635677}.Debug|x64.ActiveCfg = Debug|x64 - {F1001A64-974E-461E-B972-1A1330635677}.Debug|x64.Build.0 = Debug|x64 - {F1001A64-974E-461E-B972-1A1330635677}.Debug|x86.ActiveCfg = Debug|x86 - {F1001A64-974E-461E-B972-1A1330635677}.Debug|x86.Build.0 = Debug|x86 + {F1001A64-974E-461E-B972-1A1330635677}.Debug|x64.ActiveCfg = Debug|Any CPU + {F1001A64-974E-461E-B972-1A1330635677}.Debug|x64.Build.0 = Debug|Any CPU + {F1001A64-974E-461E-B972-1A1330635677}.Debug|x86.ActiveCfg = Debug|Any CPU + {F1001A64-974E-461E-B972-1A1330635677}.Debug|x86.Build.0 = Debug|Any CPU {F1001A64-974E-461E-B972-1A1330635677}.Release|Any CPU.ActiveCfg = Release|Any CPU {F1001A64-974E-461E-B972-1A1330635677}.Release|Any CPU.Build.0 = Release|Any CPU - {F1001A64-974E-461E-B972-1A1330635677}.Release|x64.ActiveCfg = Release|x64 - {F1001A64-974E-461E-B972-1A1330635677}.Release|x64.Build.0 = Release|x64 - {F1001A64-974E-461E-B972-1A1330635677}.Release|x86.ActiveCfg = Release|x86 - {F1001A64-974E-461E-B972-1A1330635677}.Release|x86.Build.0 = Release|x86 + {F1001A64-974E-461E-B972-1A1330635677}.Release|x64.ActiveCfg = Release|Any CPU + {F1001A64-974E-461E-B972-1A1330635677}.Release|x64.Build.0 = Release|Any CPU + {F1001A64-974E-461E-B972-1A1330635677}.Release|x86.ActiveCfg = Release|Any CPU + {F1001A64-974E-461E-B972-1A1330635677}.Release|x86.Build.0 = Release|Any CPU {0D59BA81-6279-4650-AEBB-4EA735C28A1A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {0D59BA81-6279-4650-AEBB-4EA735C28A1A}.Debug|Any CPU.Build.0 = Debug|Any CPU - {0D59BA81-6279-4650-AEBB-4EA735C28A1A}.Debug|x64.ActiveCfg = Debug|x64 - {0D59BA81-6279-4650-AEBB-4EA735C28A1A}.Debug|x64.Build.0 = Debug|x64 - {0D59BA81-6279-4650-AEBB-4EA735C28A1A}.Debug|x86.ActiveCfg = Debug|x86 - {0D59BA81-6279-4650-AEBB-4EA735C28A1A}.Debug|x86.Build.0 = Debug|x86 + {0D59BA81-6279-4650-AEBB-4EA735C28A1A}.Debug|x64.ActiveCfg = Debug|Any CPU + {0D59BA81-6279-4650-AEBB-4EA735C28A1A}.Debug|x64.Build.0 = Debug|Any CPU + {0D59BA81-6279-4650-AEBB-4EA735C28A1A}.Debug|x86.ActiveCfg = Debug|Any CPU + {0D59BA81-6279-4650-AEBB-4EA735C28A1A}.Debug|x86.Build.0 = Debug|Any CPU {0D59BA81-6279-4650-AEBB-4EA735C28A1A}.Release|Any CPU.ActiveCfg = Release|Any CPU {0D59BA81-6279-4650-AEBB-4EA735C28A1A}.Release|Any CPU.Build.0 = Release|Any CPU - {0D59BA81-6279-4650-AEBB-4EA735C28A1A}.Release|x64.ActiveCfg = Release|x64 - {0D59BA81-6279-4650-AEBB-4EA735C28A1A}.Release|x64.Build.0 = Release|x64 - {0D59BA81-6279-4650-AEBB-4EA735C28A1A}.Release|x86.ActiveCfg = Release|x86 - {0D59BA81-6279-4650-AEBB-4EA735C28A1A}.Release|x86.Build.0 = Release|x86 + {0D59BA81-6279-4650-AEBB-4EA735C28A1A}.Release|x64.ActiveCfg = Release|Any CPU + {0D59BA81-6279-4650-AEBB-4EA735C28A1A}.Release|x64.Build.0 = Release|Any CPU + {0D59BA81-6279-4650-AEBB-4EA735C28A1A}.Release|x86.ActiveCfg = Release|Any CPU + {0D59BA81-6279-4650-AEBB-4EA735C28A1A}.Release|x86.Build.0 = Release|Any CPU {DE730F17-7D5C-4D9D-B479-025024BF4F1D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {DE730F17-7D5C-4D9D-B479-025024BF4F1D}.Debug|Any CPU.Build.0 = Debug|Any CPU - {DE730F17-7D5C-4D9D-B479-025024BF4F1D}.Debug|x64.ActiveCfg = Debug|x64 - {DE730F17-7D5C-4D9D-B479-025024BF4F1D}.Debug|x64.Build.0 = Debug|x64 - {DE730F17-7D5C-4D9D-B479-025024BF4F1D}.Debug|x86.ActiveCfg = Debug|x86 - {DE730F17-7D5C-4D9D-B479-025024BF4F1D}.Debug|x86.Build.0 = Debug|x86 + {DE730F17-7D5C-4D9D-B479-025024BF4F1D}.Debug|x64.ActiveCfg = Debug|Any CPU + {DE730F17-7D5C-4D9D-B479-025024BF4F1D}.Debug|x64.Build.0 = Debug|Any CPU + {DE730F17-7D5C-4D9D-B479-025024BF4F1D}.Debug|x86.ActiveCfg = Debug|Any CPU + {DE730F17-7D5C-4D9D-B479-025024BF4F1D}.Debug|x86.Build.0 = Debug|Any CPU {DE730F17-7D5C-4D9D-B479-025024BF4F1D}.Release|Any CPU.ActiveCfg = Release|Any CPU {DE730F17-7D5C-4D9D-B479-025024BF4F1D}.Release|Any CPU.Build.0 = Release|Any CPU - {DE730F17-7D5C-4D9D-B479-025024BF4F1D}.Release|x64.ActiveCfg = Release|x64 - {DE730F17-7D5C-4D9D-B479-025024BF4F1D}.Release|x64.Build.0 = Release|x64 - {DE730F17-7D5C-4D9D-B479-025024BF4F1D}.Release|x86.ActiveCfg = Release|x86 - {DE730F17-7D5C-4D9D-B479-025024BF4F1D}.Release|x86.Build.0 = Release|x86 + {DE730F17-7D5C-4D9D-B479-025024BF4F1D}.Release|x64.ActiveCfg = Release|Any CPU + {DE730F17-7D5C-4D9D-B479-025024BF4F1D}.Release|x64.Build.0 = Release|Any CPU + {DE730F17-7D5C-4D9D-B479-025024BF4F1D}.Release|x86.ActiveCfg = Release|Any CPU + {DE730F17-7D5C-4D9D-B479-025024BF4F1D}.Release|x86.Build.0 = Release|Any CPU {E062FFD6-DEB1-4DB4-8B6E-ADBF04129545}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {E062FFD6-DEB1-4DB4-8B6E-ADBF04129545}.Debug|Any CPU.Build.0 = Debug|Any CPU - {E062FFD6-DEB1-4DB4-8B6E-ADBF04129545}.Debug|x64.ActiveCfg = Debug|x64 - {E062FFD6-DEB1-4DB4-8B6E-ADBF04129545}.Debug|x64.Build.0 = Debug|x64 - {E062FFD6-DEB1-4DB4-8B6E-ADBF04129545}.Debug|x86.ActiveCfg = Debug|x86 - {E062FFD6-DEB1-4DB4-8B6E-ADBF04129545}.Debug|x86.Build.0 = Debug|x86 + {E062FFD6-DEB1-4DB4-8B6E-ADBF04129545}.Debug|x64.ActiveCfg = Debug|Any CPU + {E062FFD6-DEB1-4DB4-8B6E-ADBF04129545}.Debug|x64.Build.0 = Debug|Any CPU + {E062FFD6-DEB1-4DB4-8B6E-ADBF04129545}.Debug|x86.ActiveCfg = Debug|Any CPU + {E062FFD6-DEB1-4DB4-8B6E-ADBF04129545}.Debug|x86.Build.0 = Debug|Any CPU {E062FFD6-DEB1-4DB4-8B6E-ADBF04129545}.Release|Any CPU.ActiveCfg = Release|Any CPU {E062FFD6-DEB1-4DB4-8B6E-ADBF04129545}.Release|Any CPU.Build.0 = Release|Any CPU - {E062FFD6-DEB1-4DB4-8B6E-ADBF04129545}.Release|x64.ActiveCfg = Release|x64 - {E062FFD6-DEB1-4DB4-8B6E-ADBF04129545}.Release|x64.Build.0 = Release|x64 - {E062FFD6-DEB1-4DB4-8B6E-ADBF04129545}.Release|x86.ActiveCfg = Release|x86 - {E062FFD6-DEB1-4DB4-8B6E-ADBF04129545}.Release|x86.Build.0 = Release|x86 + {E062FFD6-DEB1-4DB4-8B6E-ADBF04129545}.Release|x64.ActiveCfg = Release|Any CPU + {E062FFD6-DEB1-4DB4-8B6E-ADBF04129545}.Release|x64.Build.0 = Release|Any CPU + {E062FFD6-DEB1-4DB4-8B6E-ADBF04129545}.Release|x86.ActiveCfg = Release|Any CPU + {E062FFD6-DEB1-4DB4-8B6E-ADBF04129545}.Release|x86.Build.0 = Release|Any CPU {F582949D-8B92-47BD-9DD7-9F2BFCCC290C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {F582949D-8B92-47BD-9DD7-9F2BFCCC290C}.Debug|Any CPU.Build.0 = Debug|Any CPU - {F582949D-8B92-47BD-9DD7-9F2BFCCC290C}.Debug|x64.ActiveCfg = Debug|x64 - {F582949D-8B92-47BD-9DD7-9F2BFCCC290C}.Debug|x64.Build.0 = Debug|x64 - {F582949D-8B92-47BD-9DD7-9F2BFCCC290C}.Debug|x86.ActiveCfg = Debug|x86 - {F582949D-8B92-47BD-9DD7-9F2BFCCC290C}.Debug|x86.Build.0 = Debug|x86 + {F582949D-8B92-47BD-9DD7-9F2BFCCC290C}.Debug|x64.ActiveCfg = Debug|Any CPU + {F582949D-8B92-47BD-9DD7-9F2BFCCC290C}.Debug|x64.Build.0 = Debug|Any CPU + {F582949D-8B92-47BD-9DD7-9F2BFCCC290C}.Debug|x86.ActiveCfg = Debug|Any CPU + {F582949D-8B92-47BD-9DD7-9F2BFCCC290C}.Debug|x86.Build.0 = Debug|Any CPU {F582949D-8B92-47BD-9DD7-9F2BFCCC290C}.Release|Any CPU.ActiveCfg = Release|Any CPU {F582949D-8B92-47BD-9DD7-9F2BFCCC290C}.Release|Any CPU.Build.0 = Release|Any CPU - {F582949D-8B92-47BD-9DD7-9F2BFCCC290C}.Release|x64.ActiveCfg = Release|x64 - {F582949D-8B92-47BD-9DD7-9F2BFCCC290C}.Release|x64.Build.0 = Release|x64 - {F582949D-8B92-47BD-9DD7-9F2BFCCC290C}.Release|x86.ActiveCfg = Release|x86 - {F582949D-8B92-47BD-9DD7-9F2BFCCC290C}.Release|x86.Build.0 = Release|x86 + {F582949D-8B92-47BD-9DD7-9F2BFCCC290C}.Release|x64.ActiveCfg = Release|Any CPU + {F582949D-8B92-47BD-9DD7-9F2BFCCC290C}.Release|x64.Build.0 = Release|Any CPU + {F582949D-8B92-47BD-9DD7-9F2BFCCC290C}.Release|x86.ActiveCfg = Release|Any CPU + {F582949D-8B92-47BD-9DD7-9F2BFCCC290C}.Release|x86.Build.0 = Release|Any CPU {376A7588-50DF-46CD-955B-0309F491D830}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {376A7588-50DF-46CD-955B-0309F491D830}.Debug|Any CPU.Build.0 = Debug|Any CPU - {376A7588-50DF-46CD-955B-0309F491D830}.Debug|x64.ActiveCfg = Debug|x64 - {376A7588-50DF-46CD-955B-0309F491D830}.Debug|x64.Build.0 = Debug|x64 - {376A7588-50DF-46CD-955B-0309F491D830}.Debug|x86.ActiveCfg = Debug|x86 - {376A7588-50DF-46CD-955B-0309F491D830}.Debug|x86.Build.0 = Debug|x86 + {376A7588-50DF-46CD-955B-0309F491D830}.Debug|x64.ActiveCfg = Debug|Any CPU + {376A7588-50DF-46CD-955B-0309F491D830}.Debug|x64.Build.0 = Debug|Any CPU + {376A7588-50DF-46CD-955B-0309F491D830}.Debug|x86.ActiveCfg = Debug|Any CPU + {376A7588-50DF-46CD-955B-0309F491D830}.Debug|x86.Build.0 = Debug|Any CPU {376A7588-50DF-46CD-955B-0309F491D830}.Release|Any CPU.ActiveCfg = Release|Any CPU {376A7588-50DF-46CD-955B-0309F491D830}.Release|Any CPU.Build.0 = Release|Any CPU - {376A7588-50DF-46CD-955B-0309F491D830}.Release|x64.ActiveCfg = Release|x64 - {376A7588-50DF-46CD-955B-0309F491D830}.Release|x64.Build.0 = Release|x64 - {376A7588-50DF-46CD-955B-0309F491D830}.Release|x86.ActiveCfg = Release|x86 - {376A7588-50DF-46CD-955B-0309F491D830}.Release|x86.Build.0 = Release|x86 + {376A7588-50DF-46CD-955B-0309F491D830}.Release|x64.ActiveCfg = Release|Any CPU + {376A7588-50DF-46CD-955B-0309F491D830}.Release|x64.Build.0 = Release|Any CPU + {376A7588-50DF-46CD-955B-0309F491D830}.Release|x86.ActiveCfg = Release|Any CPU + {376A7588-50DF-46CD-955B-0309F491D830}.Release|x86.Build.0 = Release|Any CPU {5DF3CF65-3E11-4639-964D-7BEB4109DCF9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {5DF3CF65-3E11-4639-964D-7BEB4109DCF9}.Debug|Any CPU.Build.0 = Debug|Any CPU - {5DF3CF65-3E11-4639-964D-7BEB4109DCF9}.Debug|x64.ActiveCfg = Debug|x64 - {5DF3CF65-3E11-4639-964D-7BEB4109DCF9}.Debug|x64.Build.0 = Debug|x64 - {5DF3CF65-3E11-4639-964D-7BEB4109DCF9}.Debug|x86.ActiveCfg = Debug|x86 - {5DF3CF65-3E11-4639-964D-7BEB4109DCF9}.Debug|x86.Build.0 = Debug|x86 + {5DF3CF65-3E11-4639-964D-7BEB4109DCF9}.Debug|x64.ActiveCfg = Debug|Any CPU + {5DF3CF65-3E11-4639-964D-7BEB4109DCF9}.Debug|x64.Build.0 = Debug|Any CPU + {5DF3CF65-3E11-4639-964D-7BEB4109DCF9}.Debug|x86.ActiveCfg = Debug|Any CPU + {5DF3CF65-3E11-4639-964D-7BEB4109DCF9}.Debug|x86.Build.0 = Debug|Any CPU {5DF3CF65-3E11-4639-964D-7BEB4109DCF9}.Release|Any CPU.ActiveCfg = Release|Any CPU {5DF3CF65-3E11-4639-964D-7BEB4109DCF9}.Release|Any CPU.Build.0 = Release|Any CPU - {5DF3CF65-3E11-4639-964D-7BEB4109DCF9}.Release|x64.ActiveCfg = Release|x64 - {5DF3CF65-3E11-4639-964D-7BEB4109DCF9}.Release|x64.Build.0 = Release|x64 - {5DF3CF65-3E11-4639-964D-7BEB4109DCF9}.Release|x86.ActiveCfg = Release|x86 - {5DF3CF65-3E11-4639-964D-7BEB4109DCF9}.Release|x86.Build.0 = Release|x86 + {5DF3CF65-3E11-4639-964D-7BEB4109DCF9}.Release|x64.ActiveCfg = Release|Any CPU + {5DF3CF65-3E11-4639-964D-7BEB4109DCF9}.Release|x64.Build.0 = Release|Any CPU + {5DF3CF65-3E11-4639-964D-7BEB4109DCF9}.Release|x86.ActiveCfg = Release|Any CPU + {5DF3CF65-3E11-4639-964D-7BEB4109DCF9}.Release|x86.Build.0 = Release|Any CPU {D3E8A13B-92EE-45A8-BB24-40EC3CC9DB34}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {D3E8A13B-92EE-45A8-BB24-40EC3CC9DB34}.Debug|Any CPU.Build.0 = Debug|Any CPU - {D3E8A13B-92EE-45A8-BB24-40EC3CC9DB34}.Debug|x64.ActiveCfg = Debug|x64 - {D3E8A13B-92EE-45A8-BB24-40EC3CC9DB34}.Debug|x64.Build.0 = Debug|x64 - {D3E8A13B-92EE-45A8-BB24-40EC3CC9DB34}.Debug|x86.ActiveCfg = Debug|x86 - {D3E8A13B-92EE-45A8-BB24-40EC3CC9DB34}.Debug|x86.Build.0 = Debug|x86 + {D3E8A13B-92EE-45A8-BB24-40EC3CC9DB34}.Debug|x64.ActiveCfg = Debug|Any CPU + {D3E8A13B-92EE-45A8-BB24-40EC3CC9DB34}.Debug|x64.Build.0 = Debug|Any CPU + {D3E8A13B-92EE-45A8-BB24-40EC3CC9DB34}.Debug|x86.ActiveCfg = Debug|Any CPU + {D3E8A13B-92EE-45A8-BB24-40EC3CC9DB34}.Debug|x86.Build.0 = Debug|Any CPU {D3E8A13B-92EE-45A8-BB24-40EC3CC9DB34}.Release|Any CPU.ActiveCfg = Release|Any CPU {D3E8A13B-92EE-45A8-BB24-40EC3CC9DB34}.Release|Any CPU.Build.0 = Release|Any CPU - {D3E8A13B-92EE-45A8-BB24-40EC3CC9DB34}.Release|x64.ActiveCfg = Release|x64 - {D3E8A13B-92EE-45A8-BB24-40EC3CC9DB34}.Release|x64.Build.0 = Release|x64 - {D3E8A13B-92EE-45A8-BB24-40EC3CC9DB34}.Release|x86.ActiveCfg = Release|x86 - {D3E8A13B-92EE-45A8-BB24-40EC3CC9DB34}.Release|x86.Build.0 = Release|x86 + {D3E8A13B-92EE-45A8-BB24-40EC3CC9DB34}.Release|x64.ActiveCfg = Release|Any CPU + {D3E8A13B-92EE-45A8-BB24-40EC3CC9DB34}.Release|x64.Build.0 = Release|Any CPU + {D3E8A13B-92EE-45A8-BB24-40EC3CC9DB34}.Release|x86.ActiveCfg = Release|Any CPU + {D3E8A13B-92EE-45A8-BB24-40EC3CC9DB34}.Release|x86.Build.0 = Release|Any CPU {8FD97A6B-5C83-4985-9432-08347A2C2A47}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {8FD97A6B-5C83-4985-9432-08347A2C2A47}.Debug|Any CPU.Build.0 = Debug|Any CPU - {8FD97A6B-5C83-4985-9432-08347A2C2A47}.Debug|x64.ActiveCfg = Debug|x64 - {8FD97A6B-5C83-4985-9432-08347A2C2A47}.Debug|x64.Build.0 = Debug|x64 - {8FD97A6B-5C83-4985-9432-08347A2C2A47}.Debug|x86.ActiveCfg = Debug|x86 - {8FD97A6B-5C83-4985-9432-08347A2C2A47}.Debug|x86.Build.0 = Debug|x86 + {8FD97A6B-5C83-4985-9432-08347A2C2A47}.Debug|x64.ActiveCfg = Debug|Any CPU + {8FD97A6B-5C83-4985-9432-08347A2C2A47}.Debug|x64.Build.0 = Debug|Any CPU + {8FD97A6B-5C83-4985-9432-08347A2C2A47}.Debug|x86.ActiveCfg = Debug|Any CPU + {8FD97A6B-5C83-4985-9432-08347A2C2A47}.Debug|x86.Build.0 = Debug|Any CPU {8FD97A6B-5C83-4985-9432-08347A2C2A47}.Release|Any CPU.ActiveCfg = Release|Any CPU {8FD97A6B-5C83-4985-9432-08347A2C2A47}.Release|Any CPU.Build.0 = Release|Any CPU - {8FD97A6B-5C83-4985-9432-08347A2C2A47}.Release|x64.ActiveCfg = Release|x64 - {8FD97A6B-5C83-4985-9432-08347A2C2A47}.Release|x64.Build.0 = Release|x64 - {8FD97A6B-5C83-4985-9432-08347A2C2A47}.Release|x86.ActiveCfg = Release|x86 - {8FD97A6B-5C83-4985-9432-08347A2C2A47}.Release|x86.Build.0 = Release|x86 + {8FD97A6B-5C83-4985-9432-08347A2C2A47}.Release|x64.ActiveCfg = Release|Any CPU + {8FD97A6B-5C83-4985-9432-08347A2C2A47}.Release|x64.Build.0 = Release|Any CPU + {8FD97A6B-5C83-4985-9432-08347A2C2A47}.Release|x86.ActiveCfg = Release|Any CPU + {8FD97A6B-5C83-4985-9432-08347A2C2A47}.Release|x86.Build.0 = Release|Any CPU {9EFCEFB5-253E-4DE2-8A70-821D7B8189DF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {9EFCEFB5-253E-4DE2-8A70-821D7B8189DF}.Debug|Any CPU.Build.0 = Debug|Any CPU - {9EFCEFB5-253E-4DE2-8A70-821D7B8189DF}.Debug|x64.ActiveCfg = Debug|x64 - {9EFCEFB5-253E-4DE2-8A70-821D7B8189DF}.Debug|x64.Build.0 = Debug|x64 - {9EFCEFB5-253E-4DE2-8A70-821D7B8189DF}.Debug|x86.ActiveCfg = Debug|x86 - {9EFCEFB5-253E-4DE2-8A70-821D7B8189DF}.Debug|x86.Build.0 = Debug|x86 + {9EFCEFB5-253E-4DE2-8A70-821D7B8189DF}.Debug|x64.ActiveCfg = Debug|Any CPU + {9EFCEFB5-253E-4DE2-8A70-821D7B8189DF}.Debug|x64.Build.0 = Debug|Any CPU + {9EFCEFB5-253E-4DE2-8A70-821D7B8189DF}.Debug|x86.ActiveCfg = Debug|Any CPU + {9EFCEFB5-253E-4DE2-8A70-821D7B8189DF}.Debug|x86.Build.0 = Debug|Any CPU {9EFCEFB5-253E-4DE2-8A70-821D7B8189DF}.Release|Any CPU.ActiveCfg = Release|Any CPU {9EFCEFB5-253E-4DE2-8A70-821D7B8189DF}.Release|Any CPU.Build.0 = Release|Any CPU - {9EFCEFB5-253E-4DE2-8A70-821D7B8189DF}.Release|x64.ActiveCfg = Release|x64 - {9EFCEFB5-253E-4DE2-8A70-821D7B8189DF}.Release|x64.Build.0 = Release|x64 - {9EFCEFB5-253E-4DE2-8A70-821D7B8189DF}.Release|x86.ActiveCfg = Release|x86 - {9EFCEFB5-253E-4DE2-8A70-821D7B8189DF}.Release|x86.Build.0 = Release|x86 + {9EFCEFB5-253E-4DE2-8A70-821D7B8189DF}.Release|x64.ActiveCfg = Release|Any CPU + {9EFCEFB5-253E-4DE2-8A70-821D7B8189DF}.Release|x64.Build.0 = Release|Any CPU + {9EFCEFB5-253E-4DE2-8A70-821D7B8189DF}.Release|x86.ActiveCfg = Release|Any CPU + {9EFCEFB5-253E-4DE2-8A70-821D7B8189DF}.Release|x86.Build.0 = Release|Any CPU {3A8080FB-9C93-45B9-8EB5-828DDC31FDF0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {3A8080FB-9C93-45B9-8EB5-828DDC31FDF0}.Debug|Any CPU.Build.0 = Debug|Any CPU - {3A8080FB-9C93-45B9-8EB5-828DDC31FDF0}.Debug|x64.ActiveCfg = Debug|x64 - {3A8080FB-9C93-45B9-8EB5-828DDC31FDF0}.Debug|x64.Build.0 = Debug|x64 - {3A8080FB-9C93-45B9-8EB5-828DDC31FDF0}.Debug|x86.ActiveCfg = Debug|x86 - {3A8080FB-9C93-45B9-8EB5-828DDC31FDF0}.Debug|x86.Build.0 = Debug|x86 + {3A8080FB-9C93-45B9-8EB5-828DDC31FDF0}.Debug|x64.ActiveCfg = Debug|Any CPU + {3A8080FB-9C93-45B9-8EB5-828DDC31FDF0}.Debug|x64.Build.0 = Debug|Any CPU + {3A8080FB-9C93-45B9-8EB5-828DDC31FDF0}.Debug|x86.ActiveCfg = Debug|Any CPU + {3A8080FB-9C93-45B9-8EB5-828DDC31FDF0}.Debug|x86.Build.0 = Debug|Any CPU {3A8080FB-9C93-45B9-8EB5-828DDC31FDF0}.Release|Any CPU.ActiveCfg = Release|Any CPU {3A8080FB-9C93-45B9-8EB5-828DDC31FDF0}.Release|Any CPU.Build.0 = Release|Any CPU - {3A8080FB-9C93-45B9-8EB5-828DDC31FDF0}.Release|x64.ActiveCfg = Release|x64 - {3A8080FB-9C93-45B9-8EB5-828DDC31FDF0}.Release|x64.Build.0 = Release|x64 - {3A8080FB-9C93-45B9-8EB5-828DDC31FDF0}.Release|x86.ActiveCfg = Release|x86 - {3A8080FB-9C93-45B9-8EB5-828DDC31FDF0}.Release|x86.Build.0 = Release|x86 + {3A8080FB-9C93-45B9-8EB5-828DDC31FDF0}.Release|x64.ActiveCfg = Release|Any CPU + {3A8080FB-9C93-45B9-8EB5-828DDC31FDF0}.Release|x64.Build.0 = Release|Any CPU + {3A8080FB-9C93-45B9-8EB5-828DDC31FDF0}.Release|x86.ActiveCfg = Release|Any CPU + {3A8080FB-9C93-45B9-8EB5-828DDC31FDF0}.Release|x86.Build.0 = Release|Any CPU {BFF7714C-E5A3-4EEB-B04B-5FA47F29AD03}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {BFF7714C-E5A3-4EEB-B04B-5FA47F29AD03}.Debug|Any CPU.Build.0 = Debug|Any CPU - {BFF7714C-E5A3-4EEB-B04B-5FA47F29AD03}.Debug|x64.ActiveCfg = Debug|x64 - {BFF7714C-E5A3-4EEB-B04B-5FA47F29AD03}.Debug|x64.Build.0 = Debug|x64 - {BFF7714C-E5A3-4EEB-B04B-5FA47F29AD03}.Debug|x86.ActiveCfg = Debug|x86 - {BFF7714C-E5A3-4EEB-B04B-5FA47F29AD03}.Debug|x86.Build.0 = Debug|x86 + {BFF7714C-E5A3-4EEB-B04B-5FA47F29AD03}.Debug|x64.ActiveCfg = Debug|Any CPU + {BFF7714C-E5A3-4EEB-B04B-5FA47F29AD03}.Debug|x64.Build.0 = Debug|Any CPU + {BFF7714C-E5A3-4EEB-B04B-5FA47F29AD03}.Debug|x86.ActiveCfg = Debug|Any CPU + {BFF7714C-E5A3-4EEB-B04B-5FA47F29AD03}.Debug|x86.Build.0 = Debug|Any CPU {BFF7714C-E5A3-4EEB-B04B-5FA47F29AD03}.Release|Any CPU.ActiveCfg = Release|Any CPU {BFF7714C-E5A3-4EEB-B04B-5FA47F29AD03}.Release|Any CPU.Build.0 = Release|Any CPU - {BFF7714C-E5A3-4EEB-B04B-5FA47F29AD03}.Release|x64.ActiveCfg = Release|x64 - {BFF7714C-E5A3-4EEB-B04B-5FA47F29AD03}.Release|x64.Build.0 = Release|x64 - {BFF7714C-E5A3-4EEB-B04B-5FA47F29AD03}.Release|x86.ActiveCfg = Release|x86 - {BFF7714C-E5A3-4EEB-B04B-5FA47F29AD03}.Release|x86.Build.0 = Release|x86 - {B2C2FFD5-3C7D-42A3-B9B6-DEF63DE969AD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {B2C2FFD5-3C7D-42A3-B9B6-DEF63DE969AD}.Debug|Any CPU.Build.0 = Debug|Any CPU - {B2C2FFD5-3C7D-42A3-B9B6-DEF63DE969AD}.Debug|x64.ActiveCfg = Debug|x64 - {B2C2FFD5-3C7D-42A3-B9B6-DEF63DE969AD}.Debug|x64.Build.0 = Debug|x64 - {B2C2FFD5-3C7D-42A3-B9B6-DEF63DE969AD}.Debug|x86.ActiveCfg = Debug|x86 - {B2C2FFD5-3C7D-42A3-B9B6-DEF63DE969AD}.Debug|x86.Build.0 = Debug|x86 + {BFF7714C-E5A3-4EEB-B04B-5FA47F29AD03}.Release|x64.ActiveCfg = Release|Any CPU + {BFF7714C-E5A3-4EEB-B04B-5FA47F29AD03}.Release|x64.Build.0 = Release|Any CPU + {BFF7714C-E5A3-4EEB-B04B-5FA47F29AD03}.Release|x86.ActiveCfg = Release|Any CPU + {BFF7714C-E5A3-4EEB-B04B-5FA47F29AD03}.Release|x86.Build.0 = Release|Any CPU + {B2C2FFD5-3C7D-42A3-B9B6-DEF63DE969AD}.Debug|Any CPU.ActiveCfg = Release|Any CPU + {B2C2FFD5-3C7D-42A3-B9B6-DEF63DE969AD}.Debug|Any CPU.Build.0 = Release|Any CPU + {B2C2FFD5-3C7D-42A3-B9B6-DEF63DE969AD}.Debug|x64.ActiveCfg = Release|Any CPU + {B2C2FFD5-3C7D-42A3-B9B6-DEF63DE969AD}.Debug|x64.Build.0 = Release|Any CPU + {B2C2FFD5-3C7D-42A3-B9B6-DEF63DE969AD}.Debug|x86.ActiveCfg = Release|Any CPU + {B2C2FFD5-3C7D-42A3-B9B6-DEF63DE969AD}.Debug|x86.Build.0 = Release|Any CPU {B2C2FFD5-3C7D-42A3-B9B6-DEF63DE969AD}.Release|Any CPU.ActiveCfg = Release|Any CPU {B2C2FFD5-3C7D-42A3-B9B6-DEF63DE969AD}.Release|Any CPU.Build.0 = Release|Any CPU - {B2C2FFD5-3C7D-42A3-B9B6-DEF63DE969AD}.Release|x64.ActiveCfg = Release|x64 - {B2C2FFD5-3C7D-42A3-B9B6-DEF63DE969AD}.Release|x64.Build.0 = Release|x64 - {B2C2FFD5-3C7D-42A3-B9B6-DEF63DE969AD}.Release|x86.ActiveCfg = Release|x86 - {B2C2FFD5-3C7D-42A3-B9B6-DEF63DE969AD}.Release|x86.Build.0 = Release|x86 - {0DD55440-38DC-4580-879C-70B043F77B1C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {0DD55440-38DC-4580-879C-70B043F77B1C}.Debug|Any CPU.Build.0 = Debug|Any CPU - {0DD55440-38DC-4580-879C-70B043F77B1C}.Debug|x64.ActiveCfg = Debug|x64 - {0DD55440-38DC-4580-879C-70B043F77B1C}.Debug|x64.Build.0 = Debug|x64 - {0DD55440-38DC-4580-879C-70B043F77B1C}.Debug|x86.ActiveCfg = Debug|x86 - {0DD55440-38DC-4580-879C-70B043F77B1C}.Debug|x86.Build.0 = Debug|x86 + {B2C2FFD5-3C7D-42A3-B9B6-DEF63DE969AD}.Release|x64.ActiveCfg = Release|Any CPU + {B2C2FFD5-3C7D-42A3-B9B6-DEF63DE969AD}.Release|x64.Build.0 = Release|Any CPU + {B2C2FFD5-3C7D-42A3-B9B6-DEF63DE969AD}.Release|x86.ActiveCfg = Release|Any CPU + {B2C2FFD5-3C7D-42A3-B9B6-DEF63DE969AD}.Release|x86.Build.0 = Release|Any CPU + {0DD55440-38DC-4580-879C-70B043F77B1C}.Debug|Any CPU.ActiveCfg = Release|Any CPU + {0DD55440-38DC-4580-879C-70B043F77B1C}.Debug|Any CPU.Build.0 = Release|Any CPU + {0DD55440-38DC-4580-879C-70B043F77B1C}.Debug|x64.ActiveCfg = Release|Any CPU + {0DD55440-38DC-4580-879C-70B043F77B1C}.Debug|x64.Build.0 = Release|Any CPU + {0DD55440-38DC-4580-879C-70B043F77B1C}.Debug|x86.ActiveCfg = Release|Any CPU + {0DD55440-38DC-4580-879C-70B043F77B1C}.Debug|x86.Build.0 = Release|Any CPU {0DD55440-38DC-4580-879C-70B043F77B1C}.Release|Any CPU.ActiveCfg = Release|Any CPU {0DD55440-38DC-4580-879C-70B043F77B1C}.Release|Any CPU.Build.0 = Release|Any CPU - {0DD55440-38DC-4580-879C-70B043F77B1C}.Release|x64.ActiveCfg = Release|x64 - {0DD55440-38DC-4580-879C-70B043F77B1C}.Release|x64.Build.0 = Release|x64 - {0DD55440-38DC-4580-879C-70B043F77B1C}.Release|x86.ActiveCfg = Release|x86 - {0DD55440-38DC-4580-879C-70B043F77B1C}.Release|x86.Build.0 = Release|x86 - {4514113D-07C0-4062-A673-04F188A79B7D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {4514113D-07C0-4062-A673-04F188A79B7D}.Debug|Any CPU.Build.0 = Debug|Any CPU - {4514113D-07C0-4062-A673-04F188A79B7D}.Debug|x64.ActiveCfg = Debug|x64 - {4514113D-07C0-4062-A673-04F188A79B7D}.Debug|x64.Build.0 = Debug|x64 - {4514113D-07C0-4062-A673-04F188A79B7D}.Debug|x86.ActiveCfg = Debug|x86 - {4514113D-07C0-4062-A673-04F188A79B7D}.Debug|x86.Build.0 = Debug|x86 + {0DD55440-38DC-4580-879C-70B043F77B1C}.Release|x64.ActiveCfg = Release|Any CPU + {0DD55440-38DC-4580-879C-70B043F77B1C}.Release|x64.Build.0 = Release|Any CPU + {0DD55440-38DC-4580-879C-70B043F77B1C}.Release|x86.ActiveCfg = Release|Any CPU + {0DD55440-38DC-4580-879C-70B043F77B1C}.Release|x86.Build.0 = Release|Any CPU + {4514113D-07C0-4062-A673-04F188A79B7D}.Debug|Any CPU.ActiveCfg = Release|Any CPU + {4514113D-07C0-4062-A673-04F188A79B7D}.Debug|Any CPU.Build.0 = Release|Any CPU + {4514113D-07C0-4062-A673-04F188A79B7D}.Debug|x64.ActiveCfg = Release|Any CPU + {4514113D-07C0-4062-A673-04F188A79B7D}.Debug|x64.Build.0 = Release|Any CPU + {4514113D-07C0-4062-A673-04F188A79B7D}.Debug|x86.ActiveCfg = Release|Any CPU + {4514113D-07C0-4062-A673-04F188A79B7D}.Debug|x86.Build.0 = Release|Any CPU {4514113D-07C0-4062-A673-04F188A79B7D}.Release|Any CPU.ActiveCfg = Release|Any CPU {4514113D-07C0-4062-A673-04F188A79B7D}.Release|Any CPU.Build.0 = Release|Any CPU - {4514113D-07C0-4062-A673-04F188A79B7D}.Release|x64.ActiveCfg = Release|x64 - {4514113D-07C0-4062-A673-04F188A79B7D}.Release|x64.Build.0 = Release|x64 - {4514113D-07C0-4062-A673-04F188A79B7D}.Release|x86.ActiveCfg = Release|x86 - {4514113D-07C0-4062-A673-04F188A79B7D}.Release|x86.Build.0 = Release|x86 + {4514113D-07C0-4062-A673-04F188A79B7D}.Release|x64.ActiveCfg = Release|Any CPU + {4514113D-07C0-4062-A673-04F188A79B7D}.Release|x64.Build.0 = Release|Any CPU + {4514113D-07C0-4062-A673-04F188A79B7D}.Release|x86.ActiveCfg = Release|Any CPU + {4514113D-07C0-4062-A673-04F188A79B7D}.Release|x86.Build.0 = Release|Any CPU {D496D1A0-BC41-48C2-808B-34D8935BE96D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {D496D1A0-BC41-48C2-808B-34D8935BE96D}.Debug|Any CPU.Build.0 = Debug|Any CPU - {D496D1A0-BC41-48C2-808B-34D8935BE96D}.Debug|x64.ActiveCfg = Debug|x64 - {D496D1A0-BC41-48C2-808B-34D8935BE96D}.Debug|x64.Build.0 = Debug|x64 - {D496D1A0-BC41-48C2-808B-34D8935BE96D}.Debug|x86.ActiveCfg = Debug|x86 - {D496D1A0-BC41-48C2-808B-34D8935BE96D}.Debug|x86.Build.0 = Debug|x86 + {D496D1A0-BC41-48C2-808B-34D8935BE96D}.Debug|x64.ActiveCfg = Debug|Any CPU + {D496D1A0-BC41-48C2-808B-34D8935BE96D}.Debug|x64.Build.0 = Debug|Any CPU + {D496D1A0-BC41-48C2-808B-34D8935BE96D}.Debug|x86.ActiveCfg = Debug|Any CPU + {D496D1A0-BC41-48C2-808B-34D8935BE96D}.Debug|x86.Build.0 = Debug|Any CPU {D496D1A0-BC41-48C2-808B-34D8935BE96D}.Release|Any CPU.ActiveCfg = Release|Any CPU {D496D1A0-BC41-48C2-808B-34D8935BE96D}.Release|Any CPU.Build.0 = Release|Any CPU - {D496D1A0-BC41-48C2-808B-34D8935BE96D}.Release|x64.ActiveCfg = Release|x64 - {D496D1A0-BC41-48C2-808B-34D8935BE96D}.Release|x64.Build.0 = Release|x64 - {D496D1A0-BC41-48C2-808B-34D8935BE96D}.Release|x86.ActiveCfg = Release|x86 - {D496D1A0-BC41-48C2-808B-34D8935BE96D}.Release|x86.Build.0 = Release|x86 + {D496D1A0-BC41-48C2-808B-34D8935BE96D}.Release|x64.ActiveCfg = Release|Any CPU + {D496D1A0-BC41-48C2-808B-34D8935BE96D}.Release|x64.Build.0 = Release|Any CPU + {D496D1A0-BC41-48C2-808B-34D8935BE96D}.Release|x86.ActiveCfg = Release|Any CPU + {D496D1A0-BC41-48C2-808B-34D8935BE96D}.Release|x86.Build.0 = Release|Any CPU {DD9382B5-5EC4-4B3D-BEB7-95423731AE29}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {DD9382B5-5EC4-4B3D-BEB7-95423731AE29}.Debug|Any CPU.Build.0 = Debug|Any CPU - {DD9382B5-5EC4-4B3D-BEB7-95423731AE29}.Debug|x64.ActiveCfg = Debug|x64 - {DD9382B5-5EC4-4B3D-BEB7-95423731AE29}.Debug|x64.Build.0 = Debug|x64 - {DD9382B5-5EC4-4B3D-BEB7-95423731AE29}.Debug|x86.ActiveCfg = Debug|x86 - {DD9382B5-5EC4-4B3D-BEB7-95423731AE29}.Debug|x86.Build.0 = Debug|x86 + {DD9382B5-5EC4-4B3D-BEB7-95423731AE29}.Debug|x64.ActiveCfg = Debug|Any CPU + {DD9382B5-5EC4-4B3D-BEB7-95423731AE29}.Debug|x64.Build.0 = Debug|Any CPU + {DD9382B5-5EC4-4B3D-BEB7-95423731AE29}.Debug|x86.ActiveCfg = Debug|Any CPU + {DD9382B5-5EC4-4B3D-BEB7-95423731AE29}.Debug|x86.Build.0 = Debug|Any CPU {DD9382B5-5EC4-4B3D-BEB7-95423731AE29}.Release|Any CPU.ActiveCfg = Release|Any CPU {DD9382B5-5EC4-4B3D-BEB7-95423731AE29}.Release|Any CPU.Build.0 = Release|Any CPU - {DD9382B5-5EC4-4B3D-BEB7-95423731AE29}.Release|x64.ActiveCfg = Release|x64 - {DD9382B5-5EC4-4B3D-BEB7-95423731AE29}.Release|x64.Build.0 = Release|x64 - {DD9382B5-5EC4-4B3D-BEB7-95423731AE29}.Release|x86.ActiveCfg = Release|x86 - {DD9382B5-5EC4-4B3D-BEB7-95423731AE29}.Release|x86.Build.0 = Release|x86 + {DD9382B5-5EC4-4B3D-BEB7-95423731AE29}.Release|x64.ActiveCfg = Release|Any CPU + {DD9382B5-5EC4-4B3D-BEB7-95423731AE29}.Release|x64.Build.0 = Release|Any CPU + {DD9382B5-5EC4-4B3D-BEB7-95423731AE29}.Release|x86.ActiveCfg = Release|Any CPU + {DD9382B5-5EC4-4B3D-BEB7-95423731AE29}.Release|x86.Build.0 = Release|Any CPU {156F8811-28BB-4EC7-87D9-434F10FB7DBE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {156F8811-28BB-4EC7-87D9-434F10FB7DBE}.Debug|Any CPU.Build.0 = Debug|Any CPU - {156F8811-28BB-4EC7-87D9-434F10FB7DBE}.Debug|x64.ActiveCfg = Debug|x64 - {156F8811-28BB-4EC7-87D9-434F10FB7DBE}.Debug|x64.Build.0 = Debug|x64 - {156F8811-28BB-4EC7-87D9-434F10FB7DBE}.Debug|x86.ActiveCfg = Debug|x86 - {156F8811-28BB-4EC7-87D9-434F10FB7DBE}.Debug|x86.Build.0 = Debug|x86 + {156F8811-28BB-4EC7-87D9-434F10FB7DBE}.Debug|x64.ActiveCfg = Debug|Any CPU + {156F8811-28BB-4EC7-87D9-434F10FB7DBE}.Debug|x64.Build.0 = Debug|Any CPU + {156F8811-28BB-4EC7-87D9-434F10FB7DBE}.Debug|x86.ActiveCfg = Debug|Any CPU + {156F8811-28BB-4EC7-87D9-434F10FB7DBE}.Debug|x86.Build.0 = Debug|Any CPU {156F8811-28BB-4EC7-87D9-434F10FB7DBE}.Release|Any CPU.ActiveCfg = Release|Any CPU {156F8811-28BB-4EC7-87D9-434F10FB7DBE}.Release|Any CPU.Build.0 = Release|Any CPU - {156F8811-28BB-4EC7-87D9-434F10FB7DBE}.Release|x64.ActiveCfg = Release|x64 - {156F8811-28BB-4EC7-87D9-434F10FB7DBE}.Release|x64.Build.0 = Release|x64 - {156F8811-28BB-4EC7-87D9-434F10FB7DBE}.Release|x86.ActiveCfg = Release|x86 - {156F8811-28BB-4EC7-87D9-434F10FB7DBE}.Release|x86.Build.0 = Release|x86 + {156F8811-28BB-4EC7-87D9-434F10FB7DBE}.Release|x64.ActiveCfg = Release|Any CPU + {156F8811-28BB-4EC7-87D9-434F10FB7DBE}.Release|x64.Build.0 = Release|Any CPU + {156F8811-28BB-4EC7-87D9-434F10FB7DBE}.Release|x86.ActiveCfg = Release|Any CPU + {156F8811-28BB-4EC7-87D9-434F10FB7DBE}.Release|x86.Build.0 = Release|Any CPU {A5B167ED-873A-4762-9326-5F43B8D3AFF6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {A5B167ED-873A-4762-9326-5F43B8D3AFF6}.Debug|Any CPU.Build.0 = Debug|Any CPU - {A5B167ED-873A-4762-9326-5F43B8D3AFF6}.Debug|x64.ActiveCfg = Debug|x64 - {A5B167ED-873A-4762-9326-5F43B8D3AFF6}.Debug|x64.Build.0 = Debug|x64 - {A5B167ED-873A-4762-9326-5F43B8D3AFF6}.Debug|x86.ActiveCfg = Debug|x86 - {A5B167ED-873A-4762-9326-5F43B8D3AFF6}.Debug|x86.Build.0 = Debug|x86 + {A5B167ED-873A-4762-9326-5F43B8D3AFF6}.Debug|x64.ActiveCfg = Debug|Any CPU + {A5B167ED-873A-4762-9326-5F43B8D3AFF6}.Debug|x64.Build.0 = Debug|Any CPU + {A5B167ED-873A-4762-9326-5F43B8D3AFF6}.Debug|x86.ActiveCfg = Debug|Any CPU + {A5B167ED-873A-4762-9326-5F43B8D3AFF6}.Debug|x86.Build.0 = Debug|Any CPU {A5B167ED-873A-4762-9326-5F43B8D3AFF6}.Release|Any CPU.ActiveCfg = Release|Any CPU {A5B167ED-873A-4762-9326-5F43B8D3AFF6}.Release|Any CPU.Build.0 = Release|Any CPU - {A5B167ED-873A-4762-9326-5F43B8D3AFF6}.Release|x64.ActiveCfg = Release|x64 - {A5B167ED-873A-4762-9326-5F43B8D3AFF6}.Release|x64.Build.0 = Release|x64 - {A5B167ED-873A-4762-9326-5F43B8D3AFF6}.Release|x86.ActiveCfg = Release|x86 - {A5B167ED-873A-4762-9326-5F43B8D3AFF6}.Release|x86.Build.0 = Release|x86 + {A5B167ED-873A-4762-9326-5F43B8D3AFF6}.Release|x64.ActiveCfg = Release|Any CPU + {A5B167ED-873A-4762-9326-5F43B8D3AFF6}.Release|x64.Build.0 = Release|Any CPU + {A5B167ED-873A-4762-9326-5F43B8D3AFF6}.Release|x86.ActiveCfg = Release|Any CPU + {A5B167ED-873A-4762-9326-5F43B8D3AFF6}.Release|x86.Build.0 = Release|Any CPU {107F28E1-6E91-4A06-8943-E5E5A7E4CA66}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {107F28E1-6E91-4A06-8943-E5E5A7E4CA66}.Debug|Any CPU.Build.0 = Debug|Any CPU - {107F28E1-6E91-4A06-8943-E5E5A7E4CA66}.Debug|x64.ActiveCfg = Debug|x64 - {107F28E1-6E91-4A06-8943-E5E5A7E4CA66}.Debug|x64.Build.0 = Debug|x64 - {107F28E1-6E91-4A06-8943-E5E5A7E4CA66}.Debug|x86.ActiveCfg = Debug|x86 - {107F28E1-6E91-4A06-8943-E5E5A7E4CA66}.Debug|x86.Build.0 = Debug|x86 + {107F28E1-6E91-4A06-8943-E5E5A7E4CA66}.Debug|x64.ActiveCfg = Debug|Any CPU + {107F28E1-6E91-4A06-8943-E5E5A7E4CA66}.Debug|x64.Build.0 = Debug|Any CPU + {107F28E1-6E91-4A06-8943-E5E5A7E4CA66}.Debug|x86.ActiveCfg = Debug|Any CPU + {107F28E1-6E91-4A06-8943-E5E5A7E4CA66}.Debug|x86.Build.0 = Debug|Any CPU {107F28E1-6E91-4A06-8943-E5E5A7E4CA66}.Release|Any CPU.ActiveCfg = Release|Any CPU {107F28E1-6E91-4A06-8943-E5E5A7E4CA66}.Release|Any CPU.Build.0 = Release|Any CPU - {107F28E1-6E91-4A06-8943-E5E5A7E4CA66}.Release|x64.ActiveCfg = Release|x64 - {107F28E1-6E91-4A06-8943-E5E5A7E4CA66}.Release|x64.Build.0 = Release|x64 - {107F28E1-6E91-4A06-8943-E5E5A7E4CA66}.Release|x86.ActiveCfg = Release|x86 - {107F28E1-6E91-4A06-8943-E5E5A7E4CA66}.Release|x86.Build.0 = Release|x86 - {22C2F754-11A1-435A-9F64-645CD4C1C31A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {22C2F754-11A1-435A-9F64-645CD4C1C31A}.Debug|Any CPU.Build.0 = Debug|Any CPU - {22C2F754-11A1-435A-9F64-645CD4C1C31A}.Debug|x64.ActiveCfg = Debug|x64 - {22C2F754-11A1-435A-9F64-645CD4C1C31A}.Debug|x64.Build.0 = Debug|x64 - {22C2F754-11A1-435A-9F64-645CD4C1C31A}.Debug|x86.ActiveCfg = Debug|x86 - {22C2F754-11A1-435A-9F64-645CD4C1C31A}.Debug|x86.Build.0 = Debug|x86 + {107F28E1-6E91-4A06-8943-E5E5A7E4CA66}.Release|x64.ActiveCfg = Release|Any CPU + {107F28E1-6E91-4A06-8943-E5E5A7E4CA66}.Release|x64.Build.0 = Release|Any CPU + {107F28E1-6E91-4A06-8943-E5E5A7E4CA66}.Release|x86.ActiveCfg = Release|Any CPU + {107F28E1-6E91-4A06-8943-E5E5A7E4CA66}.Release|x86.Build.0 = Release|Any CPU + {22C2F754-11A1-435A-9F64-645CD4C1C31A}.Debug|Any CPU.ActiveCfg = Release|Any CPU + {22C2F754-11A1-435A-9F64-645CD4C1C31A}.Debug|Any CPU.Build.0 = Release|Any CPU + {22C2F754-11A1-435A-9F64-645CD4C1C31A}.Debug|x64.ActiveCfg = Release|Any CPU + {22C2F754-11A1-435A-9F64-645CD4C1C31A}.Debug|x64.Build.0 = Release|Any CPU + {22C2F754-11A1-435A-9F64-645CD4C1C31A}.Debug|x86.ActiveCfg = Release|Any CPU + {22C2F754-11A1-435A-9F64-645CD4C1C31A}.Debug|x86.Build.0 = Release|Any CPU {22C2F754-11A1-435A-9F64-645CD4C1C31A}.Release|Any CPU.ActiveCfg = Release|Any CPU {22C2F754-11A1-435A-9F64-645CD4C1C31A}.Release|Any CPU.Build.0 = Release|Any CPU - {22C2F754-11A1-435A-9F64-645CD4C1C31A}.Release|x64.ActiveCfg = Release|x64 - {22C2F754-11A1-435A-9F64-645CD4C1C31A}.Release|x64.Build.0 = Release|x64 - {22C2F754-11A1-435A-9F64-645CD4C1C31A}.Release|x86.ActiveCfg = Release|x86 - {22C2F754-11A1-435A-9F64-645CD4C1C31A}.Release|x86.Build.0 = Release|x86 - {B619F69F-6864-4A6E-894A-C02E5FB0128F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {B619F69F-6864-4A6E-894A-C02E5FB0128F}.Debug|Any CPU.Build.0 = Debug|Any CPU - {B619F69F-6864-4A6E-894A-C02E5FB0128F}.Debug|x64.ActiveCfg = Debug|x64 - {B619F69F-6864-4A6E-894A-C02E5FB0128F}.Debug|x64.Build.0 = Debug|x64 - {B619F69F-6864-4A6E-894A-C02E5FB0128F}.Debug|x86.ActiveCfg = Debug|x86 - {B619F69F-6864-4A6E-894A-C02E5FB0128F}.Debug|x86.Build.0 = Debug|x86 + {22C2F754-11A1-435A-9F64-645CD4C1C31A}.Release|x64.ActiveCfg = Release|Any CPU + {22C2F754-11A1-435A-9F64-645CD4C1C31A}.Release|x64.Build.0 = Release|Any CPU + {22C2F754-11A1-435A-9F64-645CD4C1C31A}.Release|x86.ActiveCfg = Release|Any CPU + {22C2F754-11A1-435A-9F64-645CD4C1C31A}.Release|x86.Build.0 = Release|Any CPU + {B619F69F-6864-4A6E-894A-C02E5FB0128F}.Debug|Any CPU.ActiveCfg = Release|Any CPU + {B619F69F-6864-4A6E-894A-C02E5FB0128F}.Debug|Any CPU.Build.0 = Release|Any CPU + {B619F69F-6864-4A6E-894A-C02E5FB0128F}.Debug|x64.ActiveCfg = Release|Any CPU + {B619F69F-6864-4A6E-894A-C02E5FB0128F}.Debug|x64.Build.0 = Release|Any CPU + {B619F69F-6864-4A6E-894A-C02E5FB0128F}.Debug|x86.ActiveCfg = Release|Any CPU + {B619F69F-6864-4A6E-894A-C02E5FB0128F}.Debug|x86.Build.0 = Release|Any CPU {B619F69F-6864-4A6E-894A-C02E5FB0128F}.Release|Any CPU.ActiveCfg = Release|Any CPU {B619F69F-6864-4A6E-894A-C02E5FB0128F}.Release|Any CPU.Build.0 = Release|Any CPU - {B619F69F-6864-4A6E-894A-C02E5FB0128F}.Release|x64.ActiveCfg = Release|x64 - {B619F69F-6864-4A6E-894A-C02E5FB0128F}.Release|x64.Build.0 = Release|x64 - {B619F69F-6864-4A6E-894A-C02E5FB0128F}.Release|x86.ActiveCfg = Release|x86 - {B619F69F-6864-4A6E-894A-C02E5FB0128F}.Release|x86.Build.0 = Release|x86 - {D68733FF-7520-4906-AE35-B7B9DBAC543F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {D68733FF-7520-4906-AE35-B7B9DBAC543F}.Debug|Any CPU.Build.0 = Debug|Any CPU - {D68733FF-7520-4906-AE35-B7B9DBAC543F}.Debug|x64.ActiveCfg = Debug|x64 - {D68733FF-7520-4906-AE35-B7B9DBAC543F}.Debug|x64.Build.0 = Debug|x64 - {D68733FF-7520-4906-AE35-B7B9DBAC543F}.Debug|x86.ActiveCfg = Debug|x86 - {D68733FF-7520-4906-AE35-B7B9DBAC543F}.Debug|x86.Build.0 = Debug|x86 + {B619F69F-6864-4A6E-894A-C02E5FB0128F}.Release|x64.ActiveCfg = Release|Any CPU + {B619F69F-6864-4A6E-894A-C02E5FB0128F}.Release|x64.Build.0 = Release|Any CPU + {B619F69F-6864-4A6E-894A-C02E5FB0128F}.Release|x86.ActiveCfg = Release|Any CPU + {B619F69F-6864-4A6E-894A-C02E5FB0128F}.Release|x86.Build.0 = Release|Any CPU + {D68733FF-7520-4906-AE35-B7B9DBAC543F}.Debug|Any CPU.ActiveCfg = Release|Any CPU + {D68733FF-7520-4906-AE35-B7B9DBAC543F}.Debug|Any CPU.Build.0 = Release|Any CPU + {D68733FF-7520-4906-AE35-B7B9DBAC543F}.Debug|x64.ActiveCfg = Release|Any CPU + {D68733FF-7520-4906-AE35-B7B9DBAC543F}.Debug|x64.Build.0 = Release|Any CPU + {D68733FF-7520-4906-AE35-B7B9DBAC543F}.Debug|x86.ActiveCfg = Release|Any CPU + {D68733FF-7520-4906-AE35-B7B9DBAC543F}.Debug|x86.Build.0 = Release|Any CPU {D68733FF-7520-4906-AE35-B7B9DBAC543F}.Release|Any CPU.ActiveCfg = Release|Any CPU {D68733FF-7520-4906-AE35-B7B9DBAC543F}.Release|Any CPU.Build.0 = Release|Any CPU - {D68733FF-7520-4906-AE35-B7B9DBAC543F}.Release|x64.ActiveCfg = Release|x64 - {D68733FF-7520-4906-AE35-B7B9DBAC543F}.Release|x64.Build.0 = Release|x64 - {D68733FF-7520-4906-AE35-B7B9DBAC543F}.Release|x86.ActiveCfg = Release|x86 - {D68733FF-7520-4906-AE35-B7B9DBAC543F}.Release|x86.Build.0 = Release|x86 - {A23E3408-D569-488E-A071-E1B3625C5F09}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {A23E3408-D569-488E-A071-E1B3625C5F09}.Debug|Any CPU.Build.0 = Debug|Any CPU - {A23E3408-D569-488E-A071-E1B3625C5F09}.Debug|x64.ActiveCfg = Debug|x64 - {A23E3408-D569-488E-A071-E1B3625C5F09}.Debug|x64.Build.0 = Debug|x64 - {A23E3408-D569-488E-A071-E1B3625C5F09}.Debug|x86.ActiveCfg = Debug|x86 - {A23E3408-D569-488E-A071-E1B3625C5F09}.Debug|x86.Build.0 = Debug|x86 + {D68733FF-7520-4906-AE35-B7B9DBAC543F}.Release|x64.ActiveCfg = Release|Any CPU + {D68733FF-7520-4906-AE35-B7B9DBAC543F}.Release|x64.Build.0 = Release|Any CPU + {D68733FF-7520-4906-AE35-B7B9DBAC543F}.Release|x86.ActiveCfg = Release|Any CPU + {D68733FF-7520-4906-AE35-B7B9DBAC543F}.Release|x86.Build.0 = Release|Any CPU + {A23E3408-D569-488E-A071-E1B3625C5F09}.Debug|Any CPU.ActiveCfg = Release|Any CPU + {A23E3408-D569-488E-A071-E1B3625C5F09}.Debug|Any CPU.Build.0 = Release|Any CPU + {A23E3408-D569-488E-A071-E1B3625C5F09}.Debug|x64.ActiveCfg = Release|Any CPU + {A23E3408-D569-488E-A071-E1B3625C5F09}.Debug|x64.Build.0 = Release|Any CPU + {A23E3408-D569-488E-A071-E1B3625C5F09}.Debug|x86.ActiveCfg = Release|Any CPU + {A23E3408-D569-488E-A071-E1B3625C5F09}.Debug|x86.Build.0 = Release|Any CPU {A23E3408-D569-488E-A071-E1B3625C5F09}.Release|Any CPU.ActiveCfg = Release|Any CPU {A23E3408-D569-488E-A071-E1B3625C5F09}.Release|Any CPU.Build.0 = Release|Any CPU - {A23E3408-D569-488E-A071-E1B3625C5F09}.Release|x64.ActiveCfg = Release|x64 - {A23E3408-D569-488E-A071-E1B3625C5F09}.Release|x64.Build.0 = Release|x64 - {A23E3408-D569-488E-A071-E1B3625C5F09}.Release|x86.ActiveCfg = Release|x86 - {A23E3408-D569-488E-A071-E1B3625C5F09}.Release|x86.Build.0 = Release|x86 - {57B182B8-9014-4C6D-B966-B464DE3127D5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {57B182B8-9014-4C6D-B966-B464DE3127D5}.Debug|Any CPU.Build.0 = Debug|Any CPU - {57B182B8-9014-4C6D-B966-B464DE3127D5}.Debug|x64.ActiveCfg = Debug|x64 - {57B182B8-9014-4C6D-B966-B464DE3127D5}.Debug|x64.Build.0 = Debug|x64 - {57B182B8-9014-4C6D-B966-B464DE3127D5}.Debug|x86.ActiveCfg = Debug|x86 - {57B182B8-9014-4C6D-B966-B464DE3127D5}.Debug|x86.Build.0 = Debug|x86 + {A23E3408-D569-488E-A071-E1B3625C5F09}.Release|x64.ActiveCfg = Release|Any CPU + {A23E3408-D569-488E-A071-E1B3625C5F09}.Release|x64.Build.0 = Release|Any CPU + {A23E3408-D569-488E-A071-E1B3625C5F09}.Release|x86.ActiveCfg = Release|Any CPU + {A23E3408-D569-488E-A071-E1B3625C5F09}.Release|x86.Build.0 = Release|Any CPU + {57B182B8-9014-4C6D-B966-B464DE3127D5}.Debug|Any CPU.ActiveCfg = Release|Any CPU + {57B182B8-9014-4C6D-B966-B464DE3127D5}.Debug|Any CPU.Build.0 = Release|Any CPU + {57B182B8-9014-4C6D-B966-B464DE3127D5}.Debug|x64.ActiveCfg = Release|Any CPU + {57B182B8-9014-4C6D-B966-B464DE3127D5}.Debug|x64.Build.0 = Release|Any CPU + {57B182B8-9014-4C6D-B966-B464DE3127D5}.Debug|x86.ActiveCfg = Release|Any CPU + {57B182B8-9014-4C6D-B966-B464DE3127D5}.Debug|x86.Build.0 = Release|Any CPU {57B182B8-9014-4C6D-B966-B464DE3127D5}.Release|Any CPU.ActiveCfg = Release|Any CPU {57B182B8-9014-4C6D-B966-B464DE3127D5}.Release|Any CPU.Build.0 = Release|Any CPU - {57B182B8-9014-4C6D-B966-B464DE3127D5}.Release|x64.ActiveCfg = Release|x64 - {57B182B8-9014-4C6D-B966-B464DE3127D5}.Release|x64.Build.0 = Release|x64 - {57B182B8-9014-4C6D-B966-B464DE3127D5}.Release|x86.ActiveCfg = Release|x86 - {57B182B8-9014-4C6D-B966-B464DE3127D5}.Release|x86.Build.0 = Release|x86 - {D62D754C-8F0A-406F-8BA7-E96C6FFA7C7C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {D62D754C-8F0A-406F-8BA7-E96C6FFA7C7C}.Debug|Any CPU.Build.0 = Debug|Any CPU + {57B182B8-9014-4C6D-B966-B464DE3127D5}.Release|x64.ActiveCfg = Release|Any CPU + {57B182B8-9014-4C6D-B966-B464DE3127D5}.Release|x64.Build.0 = Release|Any CPU + {57B182B8-9014-4C6D-B966-B464DE3127D5}.Release|x86.ActiveCfg = Release|Any CPU + {57B182B8-9014-4C6D-B966-B464DE3127D5}.Release|x86.Build.0 = Release|Any CPU + {D62D754C-8F0A-406F-8BA7-E96C6FFA7C7C}.Debug|Any CPU.ActiveCfg = Release|Any CPU + {D62D754C-8F0A-406F-8BA7-E96C6FFA7C7C}.Debug|Any CPU.Build.0 = Release|Any CPU {D62D754C-8F0A-406F-8BA7-E96C6FFA7C7C}.Debug|x64.ActiveCfg = Release|Any CPU {D62D754C-8F0A-406F-8BA7-E96C6FFA7C7C}.Debug|x64.Build.0 = Release|Any CPU {D62D754C-8F0A-406F-8BA7-E96C6FFA7C7C}.Debug|x86.ActiveCfg = Release|Any CPU @@ -644,6 +646,18 @@ Global {D62D754C-8F0A-406F-8BA7-E96C6FFA7C7C}.Release|x64.Build.0 = Release|Any CPU {D62D754C-8F0A-406F-8BA7-E96C6FFA7C7C}.Release|x86.ActiveCfg = Release|Any CPU {D62D754C-8F0A-406F-8BA7-E96C6FFA7C7C}.Release|x86.Build.0 = Release|Any CPU + {CD5FC6A4-843C-4C0D-9941-91DFA5723EA1}.Debug|Any CPU.ActiveCfg = Release|Any CPU + {CD5FC6A4-843C-4C0D-9941-91DFA5723EA1}.Debug|Any CPU.Build.0 = Release|Any CPU + {CD5FC6A4-843C-4C0D-9941-91DFA5723EA1}.Debug|x64.ActiveCfg = Release|Any CPU + {CD5FC6A4-843C-4C0D-9941-91DFA5723EA1}.Debug|x64.Build.0 = Release|Any CPU + {CD5FC6A4-843C-4C0D-9941-91DFA5723EA1}.Debug|x86.ActiveCfg = Release|Any CPU + {CD5FC6A4-843C-4C0D-9941-91DFA5723EA1}.Debug|x86.Build.0 = Release|Any CPU + {CD5FC6A4-843C-4C0D-9941-91DFA5723EA1}.Release|Any CPU.ActiveCfg = Release|Any CPU + {CD5FC6A4-843C-4C0D-9941-91DFA5723EA1}.Release|Any CPU.Build.0 = Release|Any CPU + {CD5FC6A4-843C-4C0D-9941-91DFA5723EA1}.Release|x64.ActiveCfg = Release|Any CPU + {CD5FC6A4-843C-4C0D-9941-91DFA5723EA1}.Release|x64.Build.0 = Release|Any CPU + {CD5FC6A4-843C-4C0D-9941-91DFA5723EA1}.Release|x86.ActiveCfg = Release|Any CPU + {CD5FC6A4-843C-4C0D-9941-91DFA5723EA1}.Release|x86.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -698,5 +712,6 @@ Global {A23E3408-D569-488E-A071-E1B3625C5F09} = {8DA7CBD9-F17E-41B6-90C4-CFF55848A25A} {57B182B8-9014-4C6D-B966-B464DE3127D5} = {8DA7CBD9-F17E-41B6-90C4-CFF55848A25A} {D62D754C-8F0A-406F-8BA7-E96C6FFA7C7C} = {8DA7CBD9-F17E-41B6-90C4-CFF55848A25A} + {CD5FC6A4-843C-4C0D-9941-91DFA5723EA1} = {B9AB7A3D-4F63-48D2-86C0-70F52F6509AB} EndGlobalSection EndGlobal diff --git a/dogfood/Microsoft.TestPlatform.Protocol/Adapter/NetCore/Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.dll b/dogfood/Microsoft.TestPlatform.Protocol/Adapter/NetCore/Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.dll new file mode 100644 index 0000000000000000000000000000000000000000..67cf5ac208ba387bfdb8ab2874c655aba2deef0b GIT binary patch literal 109920 zcmbrn2Yggj+CP47nL9IgCLxoV%uGT{APJW#389B3y@M1RDhP@NMJ{GQkq}Ho5fxAr z3wE)hB6h{HqF`H5ao4i!V#K-@+}LcA35oA4B(faAK^dgy4`~PvVVyvrxF#A-90V!h^{g9}CZO8X(rKK~PtpQ)>py z@89eWLbyGw*nCb4qQ0x&qE!Ro-3+wNEj&=BoLG!HXzX14k4r4mFC=ovr426O-uvZ>uS zk|6v%btj@o4osP>H0sW$IC@wzr=>eZNNTLS3Te6h!gOfA_fz|wfGjH-iQ+(X(&a8; zWhMc=T+ei*EFsv`9rSd|Fg?G!xz6B{>2Fn+H#1Y9`JFfg%!273lRaAuIq1?iA#W zlrbkpqGlL%8^~^;Co7SP_&|-w2;`yD$&5Gx1bl)-aAc6GuBg+Q#7RFr12%zPAwA{O z*^#96XhO!^smMNq0n~P;Q2=LUJKex;TP|9SmCm!=E_lkem~X`DZh?B-MPqQ^BwrWj zK|abG%9K(z;zdJ!nY!FC0Q<9uhPX6LTg?R>FCh zuwWxUk8t3#t-7IxSj+_Xc(5lF)@>JiTf5kI+r?Ix?a4j8UF>b`Vqa(%Yk1m|ThlIf zLA%)N+r>WDE>^SJ%dMha>>=%9XSa*p+Aj9*?P6=Z?dfo0yV#f7#rE;FC*g#4vDdeY z{d2q6uKxDqE@&6Ksa@>r?P9%ldva^r#V%+UyP;j|qwQk<*)Fy^(4G!wwTs=}F7}Id zv3-K=$(`LUc0;?^XWGSn-7dB$uf5#HwTnHgUFvx)IWV#M$!slQ^3 z661r!`04LU#Mo}ueNT+F1(1lrr6YUTj=#(r^9f80!BclJF<$taSr-%I^~CrdF~T)V ziNDgZ1dKdR8vUu6s5 zX_Ai+R-zJf#LPkx+r`M7PS0+JnOQ`UBUYAinqXz74&zouBY`xS@v}-d%t*vJ7nB6W zJvs4+N8*py&3w~wAq+E$)ik<#95fT2Q(&qfrym@_oT6tI!4ZgzM5E3c;=WAH)(qz& zl3_Y)rKt7vKn9l*6C|Miq)3hcftiLxa0G}{7Qqo9FwK!19BGyrd3gGi3e;&Kbc)4L ze>wEOT;`3XBNbzl%KKWCcU4vpMkSwuGCoI&-Fovao) zk5XnluRHnv ze-7djLOhIswm4*7G8>a~AhY+$s?8A~FprW(

b{vIvd<(Lame2oRVj$|M{C0;^n! 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

biTaXBj0I@QQ;0O@sWDy*B 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 literal 0 HcmV?d00001 diff --git a/dogfood/Microsoft.TestPlatform.Protocol/Adapter/NetCore/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.dll b/dogfood/Microsoft.TestPlatform.Protocol/Adapter/NetCore/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.dll new file mode 100644 index 0000000000000000000000000000000000000000..6b2152ee178658489b15040110f9a74a876ce86c GIT binary patch literal 26520 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 J_!=Pe{{f(>5a|E_ literal 0 HcmV?d00001 diff --git a/dogfood/Microsoft.TestPlatform.Protocol/Adapter/NetCore/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.dll b/dogfood/Microsoft.TestPlatform.Protocol/Adapter/NetCore/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.dll new file mode 100644 index 0000000000000000000000000000000000000000..2ec46b1e8378e551c05d9602d7cb78c8f27eab29 GIT binary patch literal 22400 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 Sx8Hrf{kbx8gxw0b&Ho2I4b4*k literal 0 HcmV?d00001 diff --git a/dogfood/Microsoft.TestPlatform.Protocol/Adapter/NetCore/Microsoft.VisualStudio.TestPlatform.TestFramework.dll b/dogfood/Microsoft.TestPlatform.Protocol/Adapter/NetCore/Microsoft.VisualStudio.TestPlatform.TestFramework.dll new file mode 100644 index 0000000000000000000000000000000000000000..eebd63aff58d2e6a3654f3fa3d76802276f46cda GIT binary patch literal 63824 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

VDn3uU!)?s#& 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 AtpET3 literal 0 HcmV?d00001 diff --git a/dogfood/Microsoft.TestPlatform.Protocol/Communication/JsonDataSerializer.cs b/dogfood/Microsoft.TestPlatform.Protocol/Communication/JsonDataSerializer.cs new file mode 100644 index 0000000000..b5800254a5 --- /dev/null +++ b/dogfood/Microsoft.TestPlatform.Protocol/Communication/JsonDataSerializer.cs @@ -0,0 +1,152 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. + +namespace Microsoft.TestPlatform.Protocol +{ + using System.IO; + + using Newtonsoft.Json; + using Newtonsoft.Json.Linq; + using Newtonsoft.Json.Serialization; + + ///

+ /// JsonDataSerializes serializes and deserializes data using Json format + /// + public class JsonDataSerializer + { + private static JsonDataSerializer instance; + + private static JsonSerializer serializer; + + /// + /// Prevents a default instance of the class from being created. + /// + private JsonDataSerializer() + { + serializer = JsonSerializer.Create( + new JsonSerializerSettings + { + DateFormatHandling = DateFormatHandling.IsoDateFormat, + DateParseHandling = DateParseHandling.DateTimeOffset, + DateTimeZoneHandling = DateTimeZoneHandling.Utc, + TypeNameHandling = TypeNameHandling.None + }); +#if DEBUG + // MemoryTraceWriter can help diagnose serialization issues. Enable it for + // debug builds only. + serializer.TraceWriter = new MemoryTraceWriter(); +#endif + } + + /// + /// Gets the JSON Serializer instance. + /// + public static JsonDataSerializer Instance + { + get + { + return instance ?? (instance = new JsonDataSerializer()); + } + } + + /// + /// Deserialize a from raw JSON text. + /// + /// JSON string. + /// A instance. + public Message DeserializeMessage(string rawMessage) + { + return JsonConvert.DeserializeObject(rawMessage); + } + + /// + /// Deserialize the for a message. + /// + /// A object. + /// Payload type. + /// The deserialized payload. + public T DeserializePayload(Message message) + { + T retValue = default(T); + + // TODO: Currently we use json serializer auto only for non-testmessage types + // CHECK: Can't we just use auto for everything + if (Microsoft.TestPlatform.Protocol.MessageType.TestMessage.Equals(message.MessageType)) + { + retValue = message.Payload.ToObject(); + } + else + { + retValue = message.Payload.ToObject(serializer); + } + + return retValue; + } + + /// + /// Deserialize raw JSON to an object using the default serializer. + /// + /// JSON string. + /// Target type to deserialize. + /// An instance of . + public T Deserialize(string json) + { + using (var stringReader = new StringReader(json)) + using (var jsonReader = new JsonTextReader(stringReader)) + { + return serializer.Deserialize(jsonReader); + } + } + + /// + /// Serialize an empty message. + /// + /// Type of the message. + /// Serialized message. + public string SerializeMessage(string messageType) + { + return JsonConvert.SerializeObject(new Message { MessageType = messageType }); + } + + /// + /// Serialize a message with payload. + /// + /// Type of the message. + /// Payload for the message. + /// Serialized message. + public string SerializePayload(string messageType, object payload) + { + JToken serializedPayload = null; + + // TODO: Currently we use json serializer auto only for non-testmessage types + // CHECK: Can't we just use auto for everything + if (MessageType.TestMessage.Equals(messageType)) + { + serializedPayload = JToken.FromObject(payload); + } + else + { + serializedPayload = JToken.FromObject(payload, serializer); + } + + return JsonConvert.SerializeObject(new Message { MessageType = messageType, Payload = serializedPayload }); + } + + /// + /// Serialize an object to JSON using default serialization settings. + /// + /// Type of object to serialize. + /// Instance of the object to serialize. + /// JSON string. + public string Serialize(T data) + { + using (var stringWriter = new StringWriter()) + using (var jsonWriter = new JsonTextWriter(stringWriter)) + { + serializer.Serialize(jsonWriter, data); + + return stringWriter.ToString(); + } + } + } +} diff --git a/dogfood/Microsoft.TestPlatform.Protocol/Communication/Message.cs b/dogfood/Microsoft.TestPlatform.Protocol/Communication/Message.cs new file mode 100644 index 0000000000..732db13beb --- /dev/null +++ b/dogfood/Microsoft.TestPlatform.Protocol/Communication/Message.cs @@ -0,0 +1,30 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. + +namespace Microsoft.TestPlatform.Protocol +{ + using Newtonsoft.Json; + using Newtonsoft.Json.Linq; + + public class Message + { + /// + /// Gets or sets the message type. + /// + public string MessageType { get; set; } + + /// + /// Gets or sets the payload. + /// + public JToken Payload { get; set; } + + /// + /// To string implementation. + /// + /// The . + public override string ToString() + { + return "(" + MessageType + ") -> " + (Payload == null ? "null" : Payload.ToString(Formatting.Indented)); + } + } +} \ No newline at end of file diff --git a/dogfood/Microsoft.TestPlatform.Protocol/Communication/MessageType.cs b/dogfood/Microsoft.TestPlatform.Protocol/Communication/MessageType.cs new file mode 100644 index 0000000000..b37d567cd7 --- /dev/null +++ b/dogfood/Microsoft.TestPlatform.Protocol/Communication/MessageType.cs @@ -0,0 +1,142 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. + +namespace Microsoft.TestPlatform.Protocol +{ + /// + /// The message type. + /// + public static class MessageType + { + /// + /// The session start. + /// + public const string SessionStart = "TestSession.Start"; + + /// + /// The session end. + /// + public const string SessionEnd = "TestSession.Terminate"; + + /// + /// The is aborted. + /// + public const string SessionAbort = "TestSession.Abort"; + + /// + /// The session connected. + /// + public const string SessionConnected = "TestSession.Connected"; + + /// + /// Test Message + /// + public const string TestMessage = "TestSession.Message"; + + /// + /// Protocol Version + /// + public const string VersionCheck = "ProtocolVersion"; + + /// + /// The session start. + /// + public const string DiscoveryInitialize = "TestDiscovery.Initialize"; + + /// + /// The discovery started. + /// + public const string StartDiscovery = "TestDiscovery.Start"; + + /// + /// The test cases found. + /// + public const string TestCasesFound = "TestDiscovery.TestFound"; + + /// + /// The discovery complete. + /// + public const string DiscoveryComplete = "TestDiscovery.Completed"; + + /// + /// The session start. + /// + public const string ExecutionInitialize = "TestExecution.Initialize"; + + /// + /// Cancel the current test run + /// + public const string CancelTestRun = "TestExecution.Cancel"; + + /// + /// Cancel the current test run + /// + public const string AbortTestRun = "TestExecution.Abort"; + + /// + /// Start test execution. + /// + public const string StartTestExecutionWithSources = "TestExecution.StartWithSources"; + + /// + /// Start test execution. + /// + public const string StartTestExecutionWithTests = "TestExecution.StartWithTests"; + + /// + /// The test run stats change. + /// + public const string TestRunStatsChange = "TestExecution.StatsChange"; + + /// + /// The execution complete. + /// + public const string ExecutionComplete = "TestExecution.Completed"; + + /// + /// The message to get runner process startInfo for run all tests in given sources + /// + public const string GetTestRunnerProcessStartInfoForRunAll = "TestExecution.GetTestRunnerProcessStartInfoForRunAll"; + + /// + /// The message to get runner process startInfo for run selected tests + /// + public const string GetTestRunnerProcessStartInfoForRunSelected = "TestExecution.GetTestRunnerProcessStartInfoForRunSelected"; + + /// + /// CustomTestHostLaunch + /// + public const string CustomTestHostLaunch = "TestExecution.CustomTestHostLaunch"; + + /// + /// Custom Test Host launch callback + /// + public const string CustomTestHostLaunchCallback = "TestExecution.CustomTestHostLaunchCallback"; + + /// + /// Extensions Initialization + /// + public const string ExtensionsInitialize = "Extensions.Initialize"; + + /// + /// Start Test Run All Sources + /// + public const string TestRunAllSourcesWithDefaultHost = "TestExecution.RunAllWithDefaultHost"; + + /// + /// Start Test Run - Testcases + /// + public const string TestRunSelectedTestCasesDefaultHost = "TestExecution.RunSelectedWithDefaultHost"; + + /// + /// Launch Adapter Process With DebuggerAttached + /// + public const string LaunchAdapterProcessWithDebuggerAttached = "TestExecution.LaunchAdapterProcessWithDebuggerAttached"; + + /// + /// Launch Adapter Process With DebuggerAttached + /// + public const string LaunchAdapterProcessWithDebuggerAttachedCallback = "TestExecution.LaunchAdapterProcessWithDebuggerAttachedCallback"; + + } +} diff --git a/dogfood/Microsoft.TestPlatform.Protocol/Communication/SocketCommunicationManager.cs b/dogfood/Microsoft.TestPlatform.Protocol/Communication/SocketCommunicationManager.cs new file mode 100644 index 0000000000..0cc1b5a3ae --- /dev/null +++ b/dogfood/Microsoft.TestPlatform.Protocol/Communication/SocketCommunicationManager.cs @@ -0,0 +1,213 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. + +namespace Microsoft.TestPlatform.Protocol +{ + using System; + using System.IO; + using System.Net; + using System.Net.Sockets; + using System.Threading; + using System.Threading.Tasks; + + /// + /// Facilitates communication using sockets + /// + public class SocketCommunicationManager + { + /// + /// TCP Listener to host TCP channel and listen + /// + private TcpListener tcpListener; + + /// + /// Binary Writer to write to channel stream + /// + private BinaryWriter binaryWriter; + + /// + /// Binary reader to read from channel stream + /// + private BinaryReader binaryReader; + + /// + /// Serializer for the data objects + /// + private JsonDataSerializer dataSerializer; + + /// + /// Event used to maintain client connection state + /// + private ManualResetEvent clientConnectedEvent = new ManualResetEvent(false); + + /// + /// Sync object for sending messages + /// SendMessage over socket channel is NOT thread-safe + /// + private object sendSyncObject = new object(); + + /// + /// Stream to use read timeout + /// + private NetworkStream stream; + + private Socket socket; + + /// + /// The server stream read timeout constant (in microseconds). + /// + private const int StreamReadTimeout = 1000 * 1000; + + /// + /// Initializes a new instance of the class. + /// + public SocketCommunicationManager() : this(JsonDataSerializer.Instance) + { + } + + internal SocketCommunicationManager(JsonDataSerializer dataSerializer) + { + this.dataSerializer = dataSerializer; + } + + #region ServerMethods + + /// + /// Host TCP Socket Server and start listening + /// + /// + public int HostServer() + { + var endpoint = new IPEndPoint(IPAddress.Loopback, 0); + this.tcpListener = new TcpListener(endpoint); + + this.tcpListener.Start(); + var portNumber = ((IPEndPoint)this.tcpListener.LocalEndpoint).Port; + Console.WriteLine("Server started. Listening at port : {0}", portNumber); + return portNumber; + } + + /// + /// Accepts client async + /// + public async Task AcceptClientAsync() + { + if (this.tcpListener != null) + { + this.clientConnectedEvent.Reset(); + + var client = await this.tcpListener.AcceptTcpClientAsync(); + this.socket = client.Client; + this.stream = client.GetStream(); + this.binaryReader = new BinaryReader(this.stream); + this.binaryWriter = new BinaryWriter(this.stream); + + this.clientConnectedEvent.Set(); + + Console.WriteLine("Accepted Client request and set the flag"); + } + } + + /// + /// Waits for Client Connection + /// + /// Time to Wait for the connection + /// True if Client is connected, false otherwise + public bool WaitForClientConnection(int clientConnectionTimeout) + { + return this.clientConnectedEvent.WaitOne(clientConnectionTimeout); + } + + /// + /// Stop Listener + /// + public void StopServer() + { + this.tcpListener?.Stop(); + this.tcpListener = null; + this.binaryReader?.Dispose(); + this.binaryWriter?.Dispose(); + } + + #endregion + + /// + /// Writes message to the binary writer. + /// + /// Type of Message to be sent, for instance TestSessionStart + public void SendMessage(string messageType) + { + var serializedObject = this.dataSerializer.SerializeMessage(messageType); + this.WriteAndFlushToChannel(serializedObject); + } + + /// + /// Reads message from the binary reader + /// + /// Returns message read from the binary reader + public Message ReceiveMessage() + { + var rawMessage = this.ReceiveRawMessage(); + return this.dataSerializer.DeserializeMessage(rawMessage); + } + + /// + /// Writes message to the binary writer with payload + /// + /// Type of Message to be sent, for instance TestSessionStart + /// payload to be sent + public void SendMessage(string messageType, object payload) + { + var rawMessage = this.dataSerializer.SerializePayload(messageType, payload); + this.WriteAndFlushToChannel(rawMessage); + } + + /// + /// The send hand shake message. + /// + public void SendHandShakeMessage() + { + this.SendMessage(MessageType.SessionStart); + } + + /// + /// Reads message from the binary reader + /// + /// Raw message string + public string ReceiveRawMessage() + { + var rawMessage = this.binaryReader.ReadString(); + Console.WriteLine("\n=========== Receiving Message ==========="); + Console.WriteLine(rawMessage); + return rawMessage; + } + + /// + /// Deserializes the Message into actual TestPlatform objects + /// + /// The type of object to deserialize to. + /// Message object + /// TestPlatform object + public T DeserializePayload(Message message) + { + return this.dataSerializer.DeserializePayload(message); + } + + /// + /// Writes the data on socket and flushes the buffer + /// + /// message to write + private void WriteAndFlushToChannel(string rawMessage) + { + // Writing Message on binarywriter is not Thread-Safe + // Need to sync one by one to avoid buffer corruption + lock (this.sendSyncObject) + { + Console.WriteLine("\n=========== Sending Message ==========="); + Console.WriteLine(rawMessage); + this.binaryWriter?.Write(rawMessage); + this.binaryWriter?.Flush(); + } + } + } +} diff --git a/dogfood/Microsoft.TestPlatform.Protocol/Microsoft.TestPlatform.Protocol.csproj b/dogfood/Microsoft.TestPlatform.Protocol/Microsoft.TestPlatform.Protocol.csproj new file mode 100644 index 0000000000..4de024bc72 --- /dev/null +++ b/dogfood/Microsoft.TestPlatform.Protocol/Microsoft.TestPlatform.Protocol.csproj @@ -0,0 +1,45 @@ + + + + net46 + Microsoft.TestPlatform.Protocol + Exe + win7-x64 + false + false + false + + + + + + + PreserveNewest + + + + + 4.1.1 + + + + + 8.0.3 + + + + + + + + + + 1.0.0-alpha-20161104-2 + All + + + + $(DefineConstants);RELEASE + + + \ No newline at end of file diff --git a/dogfood/Microsoft.TestPlatform.Protocol/Payload/DiscoveryRequestPayload.cs b/dogfood/Microsoft.TestPlatform.Protocol/Payload/DiscoveryRequestPayload.cs new file mode 100644 index 0000000000..e2a360e745 --- /dev/null +++ b/dogfood/Microsoft.TestPlatform.Protocol/Payload/DiscoveryRequestPayload.cs @@ -0,0 +1,26 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. + +namespace Microsoft.TestPlatform.Protocol +{ + using System.Collections.Generic; + using System.Runtime.Serialization; + + /// + /// Class used to define the DiscoveryRequestPayload sent by the Vstest.console translation layers into design mode + /// + public class DiscoveryRequestPayload + { + /// + /// Settings used for the discovery request. + /// + [DataMember] + public IEnumerable Sources { get; set; } + + /// + /// Settings used for the discovery request. + /// + [DataMember] + public string RunSettings { get; set; } + } +} diff --git a/dogfood/Microsoft.TestPlatform.Protocol/Payload/TestRunRequestPayload.cs b/dogfood/Microsoft.TestPlatform.Protocol/Payload/TestRunRequestPayload.cs new file mode 100644 index 0000000000..5cebd391c6 --- /dev/null +++ b/dogfood/Microsoft.TestPlatform.Protocol/Payload/TestRunRequestPayload.cs @@ -0,0 +1,44 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. + +namespace Microsoft.TestPlatform.Protocol +{ + using System.Collections.Generic; + using System.Runtime.Serialization; + + /// + /// Class used to define the TestRunRequestPayload sent to Vstest.console in design mode + /// + public class TestRunRequestPayload + { + /// + /// Gets or sets the sources for the test run request. + /// + [DataMember] + public List Sources { get; set; } + + /// + /// Gets or sets the test cases for the test run request. + /// + [DataMember] + public dynamic TestCases { get; set; } + + /// + /// Gets or sets the settings used for the test run request. + /// + [DataMember] + public string RunSettings { get; set; } + + /// + /// Settings used for the Run request. + /// + [DataMember] + public bool KeepAlive { get; set; } + + /// + /// Is Debugging enabled + /// + [DataMember] + public bool DebuggingEnabled { get; set; } + } +} diff --git a/dogfood/Microsoft.TestPlatform.Protocol/Program.cs b/dogfood/Microsoft.TestPlatform.Protocol/Program.cs new file mode 100644 index 0000000000..02e466751c --- /dev/null +++ b/dogfood/Microsoft.TestPlatform.Protocol/Program.cs @@ -0,0 +1,197 @@ +//// Copyright (c) Microsoft Corporation. All rights reserved. +//// Licensed under the MIT license. See LICENSE file in the project root for full license information. + +namespace Microsoft.TestPlatform.Protocol +{ + using System; + using System.Collections.Generic; + using System.Diagnostics; + using System.Globalization; + using System.IO; + using System.Threading; + + public class Program + { + private const string PORT_ARGUMENT = "/port:{0}"; + private const string PARENT_PROCESSID_ARGUMENT = "/parentprocessid:{0}"; + + private static SocketCommunicationManager communicationManager; + private static JsonDataSerializer dataSerializer = JsonDataSerializer.Instance; + + public static void Main(string[] args) + { + var executingLocation = Path.GetDirectoryName(Process.GetCurrentProcess().MainModule.FileName); + + // Default values + var runnerLocation = Path.Combine(executingLocation, "vstest.console.dll"); + var testadapterPath = Path.Combine(executingLocation, "Adapter\\NetCore"); + var testAssembly = Path.Combine(executingLocation, "UnitTestProject.dll"); + string operation = "RunAll"; + + foreach (var arg in args) + { + if(arg.Contains("--rl:")) + { + runnerLocation = arg.Substring(5); + } + else if(arg.Contains("--ap:")) + { + testadapterPath = arg.Substring(5); + } + else if(arg.Contains("--ta:")) + { + testAssembly = arg.Substring(5); + } + else if(arg.Contains("--o:")) + { + operation = arg.Substring(4).ToLower(); + } + } + + Console.WriteLine("Runner location : {0}", runnerLocation); + Console.WriteLine("TestAdapter Path : {0}", testadapterPath); + Console.WriteLine("TestAssembly Path : {0}", testAssembly); + Console.WriteLine("Operation : {0}", operation); + + var processManager = new RunnerProcessManager(runnerLocation); + communicationManager = new SocketCommunicationManager(); + + // Start the server + var port = communicationManager.HostServer(); + + //Start runner exe and wait for the connection + string parentProcessIdArgs = string.Format(CultureInfo.InvariantCulture, PARENT_PROCESSID_ARGUMENT, Process.GetCurrentProcess().Id); + string portArgs = string.Format(CultureInfo.InvariantCulture, PORT_ARGUMENT, port); + processManager.StartProcess(new string[2] { parentProcessIdArgs, portArgs }); + + communicationManager.AcceptClientAsync(); + communicationManager.WaitForClientConnection(Timeout.Infinite); + HandShakeWithVsTestConsole(); + + //Actual operation + dynamic discoveredTestCases; + switch (operation.ToLower()) + { + case "discovery": + discoveredTestCases = DiscoverTests(testadapterPath, testAssembly); + break; + + case "runselected": + discoveredTestCases = DiscoverTests(testadapterPath, testAssembly); + RunSelectedTests(discoveredTestCases); + break; + + case "runall": + default: + RunAllTests(new List() { testAssembly }); + break; + } + } + + static void HandShakeWithVsTestConsole() + { + //HandShake with vstest.console + Console.WriteLine("=========== HandShake with vstest.console =========="); + var message = communicationManager.ReceiveMessage(); + if (message.MessageType == MessageType.SessionConnected) + { + //Version Check + communicationManager.SendMessage(MessageType.VersionCheck); + message = communicationManager.ReceiveMessage(); + + if (message.MessageType == MessageType.VersionCheck) + { + var version = JsonDataSerializer.Instance.DeserializePayload(message); + + var success = version == 1; + Console.WriteLine("Version Success: {0}", success); + } + } + } + + static dynamic DiscoverTests(string testadapterPath, string testAssembly) + { + Console.WriteLine("Starting Operation : Discovery"); + + // Intialize the extensions + communicationManager.SendMessage(MessageType.ExtensionsInitialize, new List() { testadapterPath }); + + // Start Discovery + communicationManager.SendMessage( + MessageType.StartDiscovery, + new DiscoveryRequestPayload() { Sources = new List() { testAssembly }, RunSettings = null }); + var isDiscoveryComplete = false; + + dynamic testCases = null; + + while (!isDiscoveryComplete) + { + var message = communicationManager.ReceiveMessage(); + + if (string.Equals(MessageType.TestCasesFound, message.MessageType)) + { + // Handle discovered tests here. + testCases = (JsonDataSerializer.Instance.DeserializePayload(message)); + } + else if (string.Equals(MessageType.DiscoveryComplete, message.MessageType)) + { + dynamic discoveryCompletePayload = + JsonDataSerializer.Instance.DeserializePayload(message); + + //Handle discovery complete here + isDiscoveryComplete = true; + } + else if (string.Equals(MessageType.TestMessage, message.MessageType)) + { + var testMessagePayload = dataSerializer.DeserializePayload(message); + // Handle messages here. + } + } + + return testCases; + } + + static void RunAllTests(List sources) + { + Console.WriteLine("Starting Operation: RunAll"); + communicationManager.SendMessage(MessageType.TestRunAllSourcesWithDefaultHost, new TestRunRequestPayload() { Sources = sources, RunSettings = null }); + RecieveRunMesagesAndHandleRunComplete(); + } + + static void RunSelectedTests(dynamic testCases) + { + Console.WriteLine("Starting Operation: RunSelected"); + communicationManager.SendMessage(MessageType.TestRunSelectedTestCasesDefaultHost, new TestRunRequestPayload() { TestCases = testCases, RunSettings = null }); + RecieveRunMesagesAndHandleRunComplete(); + } + + static void RecieveRunMesagesAndHandleRunComplete() + { + var isTestRunComplete = false; + + while (!isTestRunComplete) + { + var message = communicationManager.ReceiveMessage(); + + if (string.Equals(MessageType.TestRunStatsChange, message.MessageType)) + { + var testRunChangedArgs = dataSerializer.DeserializePayload(message); + // Handle TestRunStatsChange here + } + else if (string.Equals(MessageType.ExecutionComplete, message.MessageType)) + { + var testRunCompletePayload = dataSerializer.DeserializePayload(message); + + // Handle TestRunComplete here + // Set the flag, to end the loop. + isTestRunComplete = true; + } + else if (string.Equals(MessageType.TestMessage, message.MessageType)) + { + var testMessagePayload = dataSerializer.DeserializePayload(message); + // Handle log messages here + } + } + } + } +} diff --git a/dogfood/Microsoft.TestPlatform.Protocol/Properties/AssemblyInfo.cs b/dogfood/Microsoft.TestPlatform.Protocol/Properties/AssemblyInfo.cs new file mode 100644 index 0000000000..ecbfce1cf0 --- /dev/null +++ b/dogfood/Microsoft.TestPlatform.Protocol/Properties/AssemblyInfo.cs @@ -0,0 +1,22 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. + +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("Microsoft.TestPlatform.Protocol")] +[assembly: AssemblyTrademark("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("4ec14041-7804-4840-ae70-98babdc8b0e2")] diff --git a/dogfood/Microsoft.TestPlatform.Protocol/Properties/launchSettings.json b/dogfood/Microsoft.TestPlatform.Protocol/Properties/launchSettings.json new file mode 100644 index 0000000000..a45f1925c7 --- /dev/null +++ b/dogfood/Microsoft.TestPlatform.Protocol/Properties/launchSettings.json @@ -0,0 +1,8 @@ +{ + "profiles": { + "Microsoft.TestPlatform.Protocol": { + "commandName": "Project", + "commandLineArgs": "--rl:\"E:\\git\\singh\\vstest\\artifacts\\Debug\\netcoreapp1.0\\vstest.console.dll\" --ap:\"E:\\git\\singh\\vstest\\dogfood\\Microsoft.TestPlatform.Protocol\\Adapter\\NetCore\\Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.dll\" --ta:\"E:\\git\\singh\\vstest\\dogfood\\UnitTestProject\\bin\\Debug\\netcoreapp1.0\\UnitTestProject.dll\" --o:\"RunAll\"" + } + } +} \ No newline at end of file diff --git a/dogfood/Microsoft.TestPlatform.Protocol/RunnerProcessManager.cs b/dogfood/Microsoft.TestPlatform.Protocol/RunnerProcessManager.cs new file mode 100644 index 0000000000..d18ed3a155 --- /dev/null +++ b/dogfood/Microsoft.TestPlatform.Protocol/RunnerProcessManager.cs @@ -0,0 +1,132 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. + +namespace Microsoft.TestPlatform.Protocol +{ + using System; + using System.Diagnostics; + using System.IO; + + /// + /// dotnet.exe process manager + /// + internal class RunnerProcessManager + { + private string vstestConsolePath; + + private object syncObject = new object(); + + private bool vstestConsoleStarted = false; + + private bool vstestConsoleExited = false; + + private Process process; + + public event EventHandler ProcessExited; + + #region Constructor + + public RunnerProcessManager(string vstestConsolePath) + { + this.vstestConsolePath = vstestConsolePath; + } + + #endregion Constructor + + public bool IsProcessInitialized() + { + lock (syncObject) + { + return this.vstestConsoleStarted && !vstestConsoleExited && + this.process != null; + } + } + + /// + /// Call dotnet.exe with the parameters previously specified + /// + public void StartProcess(string[] args) + { + this.process = new Process(); + process.StartInfo.FileName = GetDotnetHostFullPath(); + + if (args != null) + { + process.StartInfo.Arguments = args.Length < 2 ? args[0] : string.Join(" ", args); + } + process.StartInfo.Arguments = vstestConsolePath + " " + process.StartInfo.Arguments; + + //process.StartInfo.WorkingDirectory = WorkingDirectory; + process.StartInfo.UseShellExecute = false; + process.StartInfo.CreateNoWindow = true; + + //process.StartInfo.RedirectStandardOutput = true; + //process.StartInfo.RedirectStandardError = true; + + process.Start(); + process.EnableRaisingEvents = true; + process.Exited += Process_Exited; + + lock (syncObject) + { + vstestConsoleExited = false; + vstestConsoleStarted = true; + } + } + + public void ShutdownProcess() + { + // Ideally process should die by itself + if (IsProcessInitialized()) + { + this.process.Kill(); + this.process.Dispose(); + this.process = null; + } + } + + /// + /// Get full path for the .net host + /// + /// Full path to dotnet executable + /// Debuggers require the full path of executable to launch it. + private string GetDotnetHostFullPath() + { + char separator = ';'; + var dotnetExeName = "dotnet.exe"; + +#if !NET46 + // Use semicolon(;) as path separator for windows + // colon(:) for Linux and OSX + if (!RuntimeInformation.IsOSPlatform(OSPlatform.Windows)) + { + separator = ':'; + dotnetExeName = "dotnet"; + } +#endif + + var pathString = Environment.GetEnvironmentVariable("PATH"); + foreach (string path in pathString.Split(separator)) + { + string exeFullPath = Path.Combine(path.Trim(), dotnetExeName); + if (File.Exists(exeFullPath)) + { + return exeFullPath; + } + } + + string errorMessage = String.Format("Unable to find dotnet.exe"); + Console.WriteLine("Error : {0}", errorMessage); + throw new FileNotFoundException(errorMessage); + } + + private void Process_Exited(object sender, EventArgs e) + { + lock (syncObject) + { + vstestConsoleExited = true; + this.ProcessExited?.Invoke(sender, e); + } + } + } +} \ No newline at end of file diff --git a/dogfood/Microsoft.TestPlatform.Protocol/testhost.exe.config b/dogfood/Microsoft.TestPlatform.Protocol/testhost.exe.config new file mode 100644 index 0000000000..9f82ee613f --- /dev/null +++ b/dogfood/Microsoft.TestPlatform.Protocol/testhost.exe.config @@ -0,0 +1,60 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/dogfood/Microsoft.TestPlatform.Protocol/testhost.x86.exe.config b/dogfood/Microsoft.TestPlatform.Protocol/testhost.x86.exe.config new file mode 100644 index 0000000000..8846256c18 --- /dev/null +++ b/dogfood/Microsoft.TestPlatform.Protocol/testhost.x86.exe.config @@ -0,0 +1,56 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/dogfood/UnitTestProject/UnitTest.cs b/dogfood/UnitTestProject/UnitTest.cs index 9d8ee99724..c35757a177 100644 --- a/dogfood/UnitTestProject/UnitTest.cs +++ b/dogfood/UnitTestProject/UnitTest.cs @@ -8,9 +8,62 @@ namespace UnitTestProject [TestClass] public class UnitTest { + /// + /// The passing test. + /// [TestMethod] - public void TestMethod1() + public void PassingTest() { + Assert.AreEqual(2, 2); + } + + /// + /// The failing test. + /// + [TestMethod] + public void FailingTest() + { + Assert.AreEqual(2, 3); + } + + /// + /// The skipping test. + /// + [Ignore] + [TestMethod] + public void SkippingTest() + { + } + + [TestCategory("CategoryA")] + [TestMethod] + public void TestWithTestCategory() + { + Assert.AreEqual(1, 1); + } + + [Priority(0)] + [TestMethod] + public void TestWithPriority() + { + Assert.AreEqual(1, 1); + } + + [TestProperty("Property1", "Value1")] + [TestProperty("Property2", "Value2")] + [TestMethod] + public void TestWithProperties() + { + Assert.AreEqual(1, 1); + } + + [TestCategory("CategoryA")] + [Priority(1)] + [TestProperty("Property2", "Value2")] + [TestMethod] + public void FailingTestWithTraits() + { + Assert.Fail(); } } } diff --git a/dogfood/UnitTestProject/UnitTestProject.csproj b/dogfood/UnitTestProject/UnitTestProject.csproj index 9503396589..f7c8f91ba9 100644 --- a/dogfood/UnitTestProject/UnitTestProject.csproj +++ b/dogfood/UnitTestProject/UnitTestProject.csproj @@ -1,8 +1,8 @@ - + - netcoreapp1.0;net46 + Exe UnitTestProject $(PackageTargetFallback);dnxcore50;portable-net45+win8 false @@ -14,12 +14,10 @@ false false - - + - 1.0.0-alpha-20161104-2 @@ -29,28 +27,27 @@ 1.6.0 - 1.0.4-preview + 1.0.8-rc + + + 1.1.8-rc - 1.0.0 - 15.0.0-preview-20161123-03 + 15.0.0-preview-20161216-01 - - $(DefineConstants);RELEASE - - + \ No newline at end of file From 6669479535e2d7b2297a146d30bfbf54060452f2 Mon Sep 17 00:00:00 2001 From: Sarabjot Singh Date: Tue, 27 Dec 2016 19:12:48 +0530 Subject: [PATCH 2/3] Fixing the Testplatform.sln build. --- TestPlatform.sln | 564 +++++++++++++++++++++++------------------------ 1 file changed, 276 insertions(+), 288 deletions(-) diff --git a/TestPlatform.sln b/TestPlatform.sln index 5562306754..e4527a179f 100644 --- a/TestPlatform.sln +++ b/TestPlatform.sln @@ -1,7 +1,7 @@  Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio 14 -VisualStudioVersion = 14.0.25420.1 +# Visual Studio 15 +VisualStudioVersion = 15.0.26014.0 MinimumVisualStudioVersion = 10.0.40219.1 Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{ED0C35EB-7F31-4841-A24F-8EB708FFA959}" EndProject @@ -106,19 +106,19 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Package", "Package", "{D27E EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "TestAssets", "TestAssets", "{8DA7CBD9-F17E-41B6-90C4-CFF55848A25A}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SimpleTestProject", "test\TestAssets\SimpleTestProject\SimpleTestProject.csproj", "{22C2F754-11A1-435A-9F64-645CD4C1C31A}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SimpleTestProject", "test\TestAssets\SimpleTestProject\SimpleTestProject.csproj", "{22C2F754-11A1-435A-9F64-645CD4C1C31A}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SimpleTestProject2", "test\TestAssets\SimpleTestProject2\SimpleTestProject2.csproj", "{B619F69F-6864-4A6E-894A-C02E5FB0128F}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SimpleTestProject2", "test\TestAssets\SimpleTestProject2\SimpleTestProject2.csproj", "{B619F69F-6864-4A6E-894A-C02E5FB0128F}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NUTestProject", "test\TestAssets\NUTestProject\NUTestProject.csproj", "{D68733FF-7520-4906-AE35-B7B9DBAC543F}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "NUTestProject", "test\TestAssets\NUTestProject\NUTestProject.csproj", "{D68733FF-7520-4906-AE35-B7B9DBAC543F}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "XUTestProject", "test\TestAssets\XUTestProject\XUTestProject.csproj", "{A23E3408-D569-488E-A071-E1B3625C5F09}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "XUTestProject", "test\TestAssets\XUTestProject\XUTestProject.csproj", "{A23E3408-D569-488E-A071-E1B3625C5F09}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PerfTestProject", "test\TestAssets\PerfTestProject\PerfTestProject.csproj", "{57B182B8-9014-4C6D-B966-B464DE3127D5}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "PerfTestProject", "test\TestAssets\PerfTestProject\PerfTestProject.csproj", "{57B182B8-9014-4C6D-B966-B464DE3127D5}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SimpleDataCollector", "test\TestAssets\SimpleDataCollector\SimpleDataCollector.csproj", "{D62D754C-8F0A-406F-8BA7-E96C6FFA7C7C}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SimpleDataCollector", "test\TestAssets\SimpleDataCollector\SimpleDataCollector.csproj", "{D62D754C-8F0A-406F-8BA7-E96C6FFA7C7C}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Microsoft.TestPlatform.Protocol", "dogfood\Microsoft.TestPlatform.Protocol\Microsoft.TestPlatform.Protocol.csproj", "{CD5FC6A4-843C-4C0D-9941-91DFA5723EA1}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.TestPlatform.Protocol", "dogfood\Microsoft.TestPlatform.Protocol\Microsoft.TestPlatform.Protocol.csproj", "{97DD9467-B011-4736-AAC4-2C21BF554349}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution @@ -144,52 +144,52 @@ Global {50C00046-0DA3-4B5C-9F6F-7BE1145E156A}.Release|x86.Build.0 = Release|x86 {01409D95-A5F1-4EBE-94B1-909D5D2D0DC3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {01409D95-A5F1-4EBE-94B1-909D5D2D0DC3}.Debug|Any CPU.Build.0 = Debug|Any CPU - {01409D95-A5F1-4EBE-94B1-909D5D2D0DC3}.Debug|x64.ActiveCfg = Debug|Any CPU - {01409D95-A5F1-4EBE-94B1-909D5D2D0DC3}.Debug|x64.Build.0 = Debug|Any CPU - {01409D95-A5F1-4EBE-94B1-909D5D2D0DC3}.Debug|x86.ActiveCfg = Debug|Any CPU - {01409D95-A5F1-4EBE-94B1-909D5D2D0DC3}.Debug|x86.Build.0 = Debug|Any CPU + {01409D95-A5F1-4EBE-94B1-909D5D2D0DC3}.Debug|x64.ActiveCfg = Debug|x64 + {01409D95-A5F1-4EBE-94B1-909D5D2D0DC3}.Debug|x64.Build.0 = Debug|x64 + {01409D95-A5F1-4EBE-94B1-909D5D2D0DC3}.Debug|x86.ActiveCfg = Debug|x86 + {01409D95-A5F1-4EBE-94B1-909D5D2D0DC3}.Debug|x86.Build.0 = Debug|x86 {01409D95-A5F1-4EBE-94B1-909D5D2D0DC3}.Release|Any CPU.ActiveCfg = Release|Any CPU {01409D95-A5F1-4EBE-94B1-909D5D2D0DC3}.Release|Any CPU.Build.0 = Release|Any CPU - {01409D95-A5F1-4EBE-94B1-909D5D2D0DC3}.Release|x64.ActiveCfg = Release|Any CPU - {01409D95-A5F1-4EBE-94B1-909D5D2D0DC3}.Release|x64.Build.0 = Release|Any CPU - {01409D95-A5F1-4EBE-94B1-909D5D2D0DC3}.Release|x86.ActiveCfg = Release|Any CPU - {01409D95-A5F1-4EBE-94B1-909D5D2D0DC3}.Release|x86.Build.0 = Release|Any CPU + {01409D95-A5F1-4EBE-94B1-909D5D2D0DC3}.Release|x64.ActiveCfg = Release|x64 + {01409D95-A5F1-4EBE-94B1-909D5D2D0DC3}.Release|x64.Build.0 = Release|x64 + {01409D95-A5F1-4EBE-94B1-909D5D2D0DC3}.Release|x86.ActiveCfg = Release|x86 + {01409D95-A5F1-4EBE-94B1-909D5D2D0DC3}.Release|x86.Build.0 = Release|x86 {2C7CE1F8-E73E-4987-8023-B5A0EBAC86E8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {2C7CE1F8-E73E-4987-8023-B5A0EBAC86E8}.Debug|Any CPU.Build.0 = Debug|Any CPU - {2C7CE1F8-E73E-4987-8023-B5A0EBAC86E8}.Debug|x64.ActiveCfg = Debug|Any CPU - {2C7CE1F8-E73E-4987-8023-B5A0EBAC86E8}.Debug|x64.Build.0 = Debug|Any CPU - {2C7CE1F8-E73E-4987-8023-B5A0EBAC86E8}.Debug|x86.ActiveCfg = Debug|Any CPU - {2C7CE1F8-E73E-4987-8023-B5A0EBAC86E8}.Debug|x86.Build.0 = Debug|Any CPU + {2C7CE1F8-E73E-4987-8023-B5A0EBAC86E8}.Debug|x64.ActiveCfg = Debug|x64 + {2C7CE1F8-E73E-4987-8023-B5A0EBAC86E8}.Debug|x64.Build.0 = Debug|x64 + {2C7CE1F8-E73E-4987-8023-B5A0EBAC86E8}.Debug|x86.ActiveCfg = Debug|x86 + {2C7CE1F8-E73E-4987-8023-B5A0EBAC86E8}.Debug|x86.Build.0 = Debug|x86 {2C7CE1F8-E73E-4987-8023-B5A0EBAC86E8}.Release|Any CPU.ActiveCfg = Release|Any CPU {2C7CE1F8-E73E-4987-8023-B5A0EBAC86E8}.Release|Any CPU.Build.0 = Release|Any CPU - {2C7CE1F8-E73E-4987-8023-B5A0EBAC86E8}.Release|x64.ActiveCfg = Release|Any CPU - {2C7CE1F8-E73E-4987-8023-B5A0EBAC86E8}.Release|x64.Build.0 = Release|Any CPU - {2C7CE1F8-E73E-4987-8023-B5A0EBAC86E8}.Release|x86.ActiveCfg = Release|Any CPU - {2C7CE1F8-E73E-4987-8023-B5A0EBAC86E8}.Release|x86.Build.0 = Release|Any CPU + {2C7CE1F8-E73E-4987-8023-B5A0EBAC86E8}.Release|x64.ActiveCfg = Release|x64 + {2C7CE1F8-E73E-4987-8023-B5A0EBAC86E8}.Release|x64.Build.0 = Release|x64 + {2C7CE1F8-E73E-4987-8023-B5A0EBAC86E8}.Release|x86.ActiveCfg = Release|x86 + {2C7CE1F8-E73E-4987-8023-B5A0EBAC86E8}.Release|x86.Build.0 = Release|x86 {2820F090-3F3D-4DA2-8CBA-B8273D695333}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {2820F090-3F3D-4DA2-8CBA-B8273D695333}.Debug|Any CPU.Build.0 = Debug|Any CPU - {2820F090-3F3D-4DA2-8CBA-B8273D695333}.Debug|x64.ActiveCfg = Debug|Any CPU - {2820F090-3F3D-4DA2-8CBA-B8273D695333}.Debug|x64.Build.0 = Debug|Any CPU - {2820F090-3F3D-4DA2-8CBA-B8273D695333}.Debug|x86.ActiveCfg = Debug|Any CPU - {2820F090-3F3D-4DA2-8CBA-B8273D695333}.Debug|x86.Build.0 = Debug|Any CPU + {2820F090-3F3D-4DA2-8CBA-B8273D695333}.Debug|x64.ActiveCfg = Debug|x64 + {2820F090-3F3D-4DA2-8CBA-B8273D695333}.Debug|x64.Build.0 = Debug|x64 + {2820F090-3F3D-4DA2-8CBA-B8273D695333}.Debug|x86.ActiveCfg = Debug|x86 + {2820F090-3F3D-4DA2-8CBA-B8273D695333}.Debug|x86.Build.0 = Debug|x86 {2820F090-3F3D-4DA2-8CBA-B8273D695333}.Release|Any CPU.ActiveCfg = Release|Any CPU {2820F090-3F3D-4DA2-8CBA-B8273D695333}.Release|Any CPU.Build.0 = Release|Any CPU - {2820F090-3F3D-4DA2-8CBA-B8273D695333}.Release|x64.ActiveCfg = Release|Any CPU - {2820F090-3F3D-4DA2-8CBA-B8273D695333}.Release|x64.Build.0 = Release|Any CPU - {2820F090-3F3D-4DA2-8CBA-B8273D695333}.Release|x86.ActiveCfg = Release|Any CPU - {2820F090-3F3D-4DA2-8CBA-B8273D695333}.Release|x86.Build.0 = Release|Any CPU + {2820F090-3F3D-4DA2-8CBA-B8273D695333}.Release|x64.ActiveCfg = Release|x64 + {2820F090-3F3D-4DA2-8CBA-B8273D695333}.Release|x64.Build.0 = Release|x64 + {2820F090-3F3D-4DA2-8CBA-B8273D695333}.Release|x86.ActiveCfg = Release|x86 + {2820F090-3F3D-4DA2-8CBA-B8273D695333}.Release|x86.Build.0 = Release|x86 {6F5EC38C-4A11-40D3-827C-F607B90BEFF0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {6F5EC38C-4A11-40D3-827C-F607B90BEFF0}.Debug|Any CPU.Build.0 = Debug|Any CPU - {6F5EC38C-4A11-40D3-827C-F607B90BEFF0}.Debug|x64.ActiveCfg = Debug|Any CPU - {6F5EC38C-4A11-40D3-827C-F607B90BEFF0}.Debug|x64.Build.0 = Debug|Any CPU - {6F5EC38C-4A11-40D3-827C-F607B90BEFF0}.Debug|x86.ActiveCfg = Debug|Any CPU - {6F5EC38C-4A11-40D3-827C-F607B90BEFF0}.Debug|x86.Build.0 = Debug|Any CPU + {6F5EC38C-4A11-40D3-827C-F607B90BEFF0}.Debug|x64.ActiveCfg = Debug|x64 + {6F5EC38C-4A11-40D3-827C-F607B90BEFF0}.Debug|x64.Build.0 = Debug|x64 + {6F5EC38C-4A11-40D3-827C-F607B90BEFF0}.Debug|x86.ActiveCfg = Debug|x86 + {6F5EC38C-4A11-40D3-827C-F607B90BEFF0}.Debug|x86.Build.0 = Debug|x86 {6F5EC38C-4A11-40D3-827C-F607B90BEFF0}.Release|Any CPU.ActiveCfg = Release|Any CPU {6F5EC38C-4A11-40D3-827C-F607B90BEFF0}.Release|Any CPU.Build.0 = Release|Any CPU - {6F5EC38C-4A11-40D3-827C-F607B90BEFF0}.Release|x64.ActiveCfg = Release|Any CPU - {6F5EC38C-4A11-40D3-827C-F607B90BEFF0}.Release|x64.Build.0 = Release|Any CPU - {6F5EC38C-4A11-40D3-827C-F607B90BEFF0}.Release|x86.ActiveCfg = Release|Any CPU - {6F5EC38C-4A11-40D3-827C-F607B90BEFF0}.Release|x86.Build.0 = Release|Any CPU + {6F5EC38C-4A11-40D3-827C-F607B90BEFF0}.Release|x64.ActiveCfg = Release|x64 + {6F5EC38C-4A11-40D3-827C-F607B90BEFF0}.Release|x64.Build.0 = Release|x64 + {6F5EC38C-4A11-40D3-827C-F607B90BEFF0}.Release|x86.ActiveCfg = Release|x86 + {6F5EC38C-4A11-40D3-827C-F607B90BEFF0}.Release|x86.Build.0 = Release|x86 {E19B5128-3469-492E-82E1-725631C4A68C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {E19B5128-3469-492E-82E1-725631C4A68C}.Debug|Any CPU.Build.0 = Debug|Any CPU {E19B5128-3469-492E-82E1-725631C4A68C}.Debug|x64.ActiveCfg = Debug|x64 @@ -288,28 +288,28 @@ Global {790B8030-00C2-4121-B125-EDC4CE329BA3}.Release|x86.Build.0 = Release|x86 {27DFBD04-64B2-4F1B-82B2-006620CCA6F8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {27DFBD04-64B2-4F1B-82B2-006620CCA6F8}.Debug|Any CPU.Build.0 = Debug|Any CPU - {27DFBD04-64B2-4F1B-82B2-006620CCA6F8}.Debug|x64.ActiveCfg = Debug|Any CPU - {27DFBD04-64B2-4F1B-82B2-006620CCA6F8}.Debug|x64.Build.0 = Debug|Any CPU - {27DFBD04-64B2-4F1B-82B2-006620CCA6F8}.Debug|x86.ActiveCfg = Debug|Any CPU - {27DFBD04-64B2-4F1B-82B2-006620CCA6F8}.Debug|x86.Build.0 = Debug|Any CPU + {27DFBD04-64B2-4F1B-82B2-006620CCA6F8}.Debug|x64.ActiveCfg = Debug|x64 + {27DFBD04-64B2-4F1B-82B2-006620CCA6F8}.Debug|x64.Build.0 = Debug|x64 + {27DFBD04-64B2-4F1B-82B2-006620CCA6F8}.Debug|x86.ActiveCfg = Debug|x86 + {27DFBD04-64B2-4F1B-82B2-006620CCA6F8}.Debug|x86.Build.0 = Debug|x86 {27DFBD04-64B2-4F1B-82B2-006620CCA6F8}.Release|Any CPU.ActiveCfg = Release|Any CPU {27DFBD04-64B2-4F1B-82B2-006620CCA6F8}.Release|Any CPU.Build.0 = Release|Any CPU - {27DFBD04-64B2-4F1B-82B2-006620CCA6F8}.Release|x64.ActiveCfg = Release|Any CPU - {27DFBD04-64B2-4F1B-82B2-006620CCA6F8}.Release|x64.Build.0 = Release|Any CPU - {27DFBD04-64B2-4F1B-82B2-006620CCA6F8}.Release|x86.ActiveCfg = Release|Any CPU - {27DFBD04-64B2-4F1B-82B2-006620CCA6F8}.Release|x86.Build.0 = Release|Any CPU + {27DFBD04-64B2-4F1B-82B2-006620CCA6F8}.Release|x64.ActiveCfg = Release|x64 + {27DFBD04-64B2-4F1B-82B2-006620CCA6F8}.Release|x64.Build.0 = Release|x64 + {27DFBD04-64B2-4F1B-82B2-006620CCA6F8}.Release|x86.ActiveCfg = Release|x86 + {27DFBD04-64B2-4F1B-82B2-006620CCA6F8}.Release|x86.Build.0 = Release|x86 {71CB42FF-E750-4A3B-9C3A-AC938853CC89}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {71CB42FF-E750-4A3B-9C3A-AC938853CC89}.Debug|Any CPU.Build.0 = Debug|Any CPU - {71CB42FF-E750-4A3B-9C3A-AC938853CC89}.Debug|x64.ActiveCfg = Debug|Any CPU - {71CB42FF-E750-4A3B-9C3A-AC938853CC89}.Debug|x64.Build.0 = Debug|Any CPU - {71CB42FF-E750-4A3B-9C3A-AC938853CC89}.Debug|x86.ActiveCfg = Debug|Any CPU - {71CB42FF-E750-4A3B-9C3A-AC938853CC89}.Debug|x86.Build.0 = Debug|Any CPU + {71CB42FF-E750-4A3B-9C3A-AC938853CC89}.Debug|x64.ActiveCfg = Debug|x64 + {71CB42FF-E750-4A3B-9C3A-AC938853CC89}.Debug|x64.Build.0 = Debug|x64 + {71CB42FF-E750-4A3B-9C3A-AC938853CC89}.Debug|x86.ActiveCfg = Debug|x86 + {71CB42FF-E750-4A3B-9C3A-AC938853CC89}.Debug|x86.Build.0 = Debug|x86 {71CB42FF-E750-4A3B-9C3A-AC938853CC89}.Release|Any CPU.ActiveCfg = Release|Any CPU {71CB42FF-E750-4A3B-9C3A-AC938853CC89}.Release|Any CPU.Build.0 = Release|Any CPU - {71CB42FF-E750-4A3B-9C3A-AC938853CC89}.Release|x64.ActiveCfg = Release|Any CPU - {71CB42FF-E750-4A3B-9C3A-AC938853CC89}.Release|x64.Build.0 = Release|Any CPU - {71CB42FF-E750-4A3B-9C3A-AC938853CC89}.Release|x86.ActiveCfg = Release|Any CPU - {71CB42FF-E750-4A3B-9C3A-AC938853CC89}.Release|x86.Build.0 = Release|Any CPU + {71CB42FF-E750-4A3B-9C3A-AC938853CC89}.Release|x64.ActiveCfg = Release|x64 + {71CB42FF-E750-4A3B-9C3A-AC938853CC89}.Release|x64.Build.0 = Release|x64 + {71CB42FF-E750-4A3B-9C3A-AC938853CC89}.Release|x86.ActiveCfg = Release|x86 + {71CB42FF-E750-4A3B-9C3A-AC938853CC89}.Release|x86.Build.0 = Release|x86 {10B6ADE1-F808-4612-801D-4452F5B52242}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {10B6ADE1-F808-4612-801D-4452F5B52242}.Debug|Any CPU.Build.0 = Debug|Any CPU {10B6ADE1-F808-4612-801D-4452F5B52242}.Debug|x64.ActiveCfg = Debug|x64 @@ -336,306 +336,306 @@ Global {D5C17A3B-A6E6-4FB4-B089-827EECD5EDCB}.Release|x86.Build.0 = Release|Any CPU {F1001A64-974E-461E-B972-1A1330635677}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {F1001A64-974E-461E-B972-1A1330635677}.Debug|Any CPU.Build.0 = Debug|Any CPU - {F1001A64-974E-461E-B972-1A1330635677}.Debug|x64.ActiveCfg = Debug|Any CPU - {F1001A64-974E-461E-B972-1A1330635677}.Debug|x64.Build.0 = Debug|Any CPU - {F1001A64-974E-461E-B972-1A1330635677}.Debug|x86.ActiveCfg = Debug|Any CPU - {F1001A64-974E-461E-B972-1A1330635677}.Debug|x86.Build.0 = Debug|Any CPU + {F1001A64-974E-461E-B972-1A1330635677}.Debug|x64.ActiveCfg = Debug|x64 + {F1001A64-974E-461E-B972-1A1330635677}.Debug|x64.Build.0 = Debug|x64 + {F1001A64-974E-461E-B972-1A1330635677}.Debug|x86.ActiveCfg = Debug|x86 + {F1001A64-974E-461E-B972-1A1330635677}.Debug|x86.Build.0 = Debug|x86 {F1001A64-974E-461E-B972-1A1330635677}.Release|Any CPU.ActiveCfg = Release|Any CPU {F1001A64-974E-461E-B972-1A1330635677}.Release|Any CPU.Build.0 = Release|Any CPU - {F1001A64-974E-461E-B972-1A1330635677}.Release|x64.ActiveCfg = Release|Any CPU - {F1001A64-974E-461E-B972-1A1330635677}.Release|x64.Build.0 = Release|Any CPU - {F1001A64-974E-461E-B972-1A1330635677}.Release|x86.ActiveCfg = Release|Any CPU - {F1001A64-974E-461E-B972-1A1330635677}.Release|x86.Build.0 = Release|Any CPU + {F1001A64-974E-461E-B972-1A1330635677}.Release|x64.ActiveCfg = Release|x64 + {F1001A64-974E-461E-B972-1A1330635677}.Release|x64.Build.0 = Release|x64 + {F1001A64-974E-461E-B972-1A1330635677}.Release|x86.ActiveCfg = Release|x86 + {F1001A64-974E-461E-B972-1A1330635677}.Release|x86.Build.0 = Release|x86 {0D59BA81-6279-4650-AEBB-4EA735C28A1A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {0D59BA81-6279-4650-AEBB-4EA735C28A1A}.Debug|Any CPU.Build.0 = Debug|Any CPU - {0D59BA81-6279-4650-AEBB-4EA735C28A1A}.Debug|x64.ActiveCfg = Debug|Any CPU - {0D59BA81-6279-4650-AEBB-4EA735C28A1A}.Debug|x64.Build.0 = Debug|Any CPU - {0D59BA81-6279-4650-AEBB-4EA735C28A1A}.Debug|x86.ActiveCfg = Debug|Any CPU - {0D59BA81-6279-4650-AEBB-4EA735C28A1A}.Debug|x86.Build.0 = Debug|Any CPU + {0D59BA81-6279-4650-AEBB-4EA735C28A1A}.Debug|x64.ActiveCfg = Debug|x64 + {0D59BA81-6279-4650-AEBB-4EA735C28A1A}.Debug|x64.Build.0 = Debug|x64 + {0D59BA81-6279-4650-AEBB-4EA735C28A1A}.Debug|x86.ActiveCfg = Debug|x86 + {0D59BA81-6279-4650-AEBB-4EA735C28A1A}.Debug|x86.Build.0 = Debug|x86 {0D59BA81-6279-4650-AEBB-4EA735C28A1A}.Release|Any CPU.ActiveCfg = Release|Any CPU {0D59BA81-6279-4650-AEBB-4EA735C28A1A}.Release|Any CPU.Build.0 = Release|Any CPU - {0D59BA81-6279-4650-AEBB-4EA735C28A1A}.Release|x64.ActiveCfg = Release|Any CPU - {0D59BA81-6279-4650-AEBB-4EA735C28A1A}.Release|x64.Build.0 = Release|Any CPU - {0D59BA81-6279-4650-AEBB-4EA735C28A1A}.Release|x86.ActiveCfg = Release|Any CPU - {0D59BA81-6279-4650-AEBB-4EA735C28A1A}.Release|x86.Build.0 = Release|Any CPU + {0D59BA81-6279-4650-AEBB-4EA735C28A1A}.Release|x64.ActiveCfg = Release|x64 + {0D59BA81-6279-4650-AEBB-4EA735C28A1A}.Release|x64.Build.0 = Release|x64 + {0D59BA81-6279-4650-AEBB-4EA735C28A1A}.Release|x86.ActiveCfg = Release|x86 + {0D59BA81-6279-4650-AEBB-4EA735C28A1A}.Release|x86.Build.0 = Release|x86 {DE730F17-7D5C-4D9D-B479-025024BF4F1D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {DE730F17-7D5C-4D9D-B479-025024BF4F1D}.Debug|Any CPU.Build.0 = Debug|Any CPU - {DE730F17-7D5C-4D9D-B479-025024BF4F1D}.Debug|x64.ActiveCfg = Debug|Any CPU - {DE730F17-7D5C-4D9D-B479-025024BF4F1D}.Debug|x64.Build.0 = Debug|Any CPU - {DE730F17-7D5C-4D9D-B479-025024BF4F1D}.Debug|x86.ActiveCfg = Debug|Any CPU - {DE730F17-7D5C-4D9D-B479-025024BF4F1D}.Debug|x86.Build.0 = Debug|Any CPU + {DE730F17-7D5C-4D9D-B479-025024BF4F1D}.Debug|x64.ActiveCfg = Debug|x64 + {DE730F17-7D5C-4D9D-B479-025024BF4F1D}.Debug|x64.Build.0 = Debug|x64 + {DE730F17-7D5C-4D9D-B479-025024BF4F1D}.Debug|x86.ActiveCfg = Debug|x86 + {DE730F17-7D5C-4D9D-B479-025024BF4F1D}.Debug|x86.Build.0 = Debug|x86 {DE730F17-7D5C-4D9D-B479-025024BF4F1D}.Release|Any CPU.ActiveCfg = Release|Any CPU {DE730F17-7D5C-4D9D-B479-025024BF4F1D}.Release|Any CPU.Build.0 = Release|Any CPU - {DE730F17-7D5C-4D9D-B479-025024BF4F1D}.Release|x64.ActiveCfg = Release|Any CPU - {DE730F17-7D5C-4D9D-B479-025024BF4F1D}.Release|x64.Build.0 = Release|Any CPU - {DE730F17-7D5C-4D9D-B479-025024BF4F1D}.Release|x86.ActiveCfg = Release|Any CPU - {DE730F17-7D5C-4D9D-B479-025024BF4F1D}.Release|x86.Build.0 = Release|Any CPU + {DE730F17-7D5C-4D9D-B479-025024BF4F1D}.Release|x64.ActiveCfg = Release|x64 + {DE730F17-7D5C-4D9D-B479-025024BF4F1D}.Release|x64.Build.0 = Release|x64 + {DE730F17-7D5C-4D9D-B479-025024BF4F1D}.Release|x86.ActiveCfg = Release|x86 + {DE730F17-7D5C-4D9D-B479-025024BF4F1D}.Release|x86.Build.0 = Release|x86 {E062FFD6-DEB1-4DB4-8B6E-ADBF04129545}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {E062FFD6-DEB1-4DB4-8B6E-ADBF04129545}.Debug|Any CPU.Build.0 = Debug|Any CPU - {E062FFD6-DEB1-4DB4-8B6E-ADBF04129545}.Debug|x64.ActiveCfg = Debug|Any CPU - {E062FFD6-DEB1-4DB4-8B6E-ADBF04129545}.Debug|x64.Build.0 = Debug|Any CPU - {E062FFD6-DEB1-4DB4-8B6E-ADBF04129545}.Debug|x86.ActiveCfg = Debug|Any CPU - {E062FFD6-DEB1-4DB4-8B6E-ADBF04129545}.Debug|x86.Build.0 = Debug|Any CPU + {E062FFD6-DEB1-4DB4-8B6E-ADBF04129545}.Debug|x64.ActiveCfg = Debug|x64 + {E062FFD6-DEB1-4DB4-8B6E-ADBF04129545}.Debug|x64.Build.0 = Debug|x64 + {E062FFD6-DEB1-4DB4-8B6E-ADBF04129545}.Debug|x86.ActiveCfg = Debug|x86 + {E062FFD6-DEB1-4DB4-8B6E-ADBF04129545}.Debug|x86.Build.0 = Debug|x86 {E062FFD6-DEB1-4DB4-8B6E-ADBF04129545}.Release|Any CPU.ActiveCfg = Release|Any CPU {E062FFD6-DEB1-4DB4-8B6E-ADBF04129545}.Release|Any CPU.Build.0 = Release|Any CPU - {E062FFD6-DEB1-4DB4-8B6E-ADBF04129545}.Release|x64.ActiveCfg = Release|Any CPU - {E062FFD6-DEB1-4DB4-8B6E-ADBF04129545}.Release|x64.Build.0 = Release|Any CPU - {E062FFD6-DEB1-4DB4-8B6E-ADBF04129545}.Release|x86.ActiveCfg = Release|Any CPU - {E062FFD6-DEB1-4DB4-8B6E-ADBF04129545}.Release|x86.Build.0 = Release|Any CPU + {E062FFD6-DEB1-4DB4-8B6E-ADBF04129545}.Release|x64.ActiveCfg = Release|x64 + {E062FFD6-DEB1-4DB4-8B6E-ADBF04129545}.Release|x64.Build.0 = Release|x64 + {E062FFD6-DEB1-4DB4-8B6E-ADBF04129545}.Release|x86.ActiveCfg = Release|x86 + {E062FFD6-DEB1-4DB4-8B6E-ADBF04129545}.Release|x86.Build.0 = Release|x86 {F582949D-8B92-47BD-9DD7-9F2BFCCC290C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {F582949D-8B92-47BD-9DD7-9F2BFCCC290C}.Debug|Any CPU.Build.0 = Debug|Any CPU - {F582949D-8B92-47BD-9DD7-9F2BFCCC290C}.Debug|x64.ActiveCfg = Debug|Any CPU - {F582949D-8B92-47BD-9DD7-9F2BFCCC290C}.Debug|x64.Build.0 = Debug|Any CPU - {F582949D-8B92-47BD-9DD7-9F2BFCCC290C}.Debug|x86.ActiveCfg = Debug|Any CPU - {F582949D-8B92-47BD-9DD7-9F2BFCCC290C}.Debug|x86.Build.0 = Debug|Any CPU + {F582949D-8B92-47BD-9DD7-9F2BFCCC290C}.Debug|x64.ActiveCfg = Debug|x64 + {F582949D-8B92-47BD-9DD7-9F2BFCCC290C}.Debug|x64.Build.0 = Debug|x64 + {F582949D-8B92-47BD-9DD7-9F2BFCCC290C}.Debug|x86.ActiveCfg = Debug|x86 + {F582949D-8B92-47BD-9DD7-9F2BFCCC290C}.Debug|x86.Build.0 = Debug|x86 {F582949D-8B92-47BD-9DD7-9F2BFCCC290C}.Release|Any CPU.ActiveCfg = Release|Any CPU {F582949D-8B92-47BD-9DD7-9F2BFCCC290C}.Release|Any CPU.Build.0 = Release|Any CPU - {F582949D-8B92-47BD-9DD7-9F2BFCCC290C}.Release|x64.ActiveCfg = Release|Any CPU - {F582949D-8B92-47BD-9DD7-9F2BFCCC290C}.Release|x64.Build.0 = Release|Any CPU - {F582949D-8B92-47BD-9DD7-9F2BFCCC290C}.Release|x86.ActiveCfg = Release|Any CPU - {F582949D-8B92-47BD-9DD7-9F2BFCCC290C}.Release|x86.Build.0 = Release|Any CPU + {F582949D-8B92-47BD-9DD7-9F2BFCCC290C}.Release|x64.ActiveCfg = Release|x64 + {F582949D-8B92-47BD-9DD7-9F2BFCCC290C}.Release|x64.Build.0 = Release|x64 + {F582949D-8B92-47BD-9DD7-9F2BFCCC290C}.Release|x86.ActiveCfg = Release|x86 + {F582949D-8B92-47BD-9DD7-9F2BFCCC290C}.Release|x86.Build.0 = Release|x86 {376A7588-50DF-46CD-955B-0309F491D830}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {376A7588-50DF-46CD-955B-0309F491D830}.Debug|Any CPU.Build.0 = Debug|Any CPU - {376A7588-50DF-46CD-955B-0309F491D830}.Debug|x64.ActiveCfg = Debug|Any CPU - {376A7588-50DF-46CD-955B-0309F491D830}.Debug|x64.Build.0 = Debug|Any CPU - {376A7588-50DF-46CD-955B-0309F491D830}.Debug|x86.ActiveCfg = Debug|Any CPU - {376A7588-50DF-46CD-955B-0309F491D830}.Debug|x86.Build.0 = Debug|Any CPU + {376A7588-50DF-46CD-955B-0309F491D830}.Debug|x64.ActiveCfg = Debug|x64 + {376A7588-50DF-46CD-955B-0309F491D830}.Debug|x64.Build.0 = Debug|x64 + {376A7588-50DF-46CD-955B-0309F491D830}.Debug|x86.ActiveCfg = Debug|x86 + {376A7588-50DF-46CD-955B-0309F491D830}.Debug|x86.Build.0 = Debug|x86 {376A7588-50DF-46CD-955B-0309F491D830}.Release|Any CPU.ActiveCfg = Release|Any CPU {376A7588-50DF-46CD-955B-0309F491D830}.Release|Any CPU.Build.0 = Release|Any CPU - {376A7588-50DF-46CD-955B-0309F491D830}.Release|x64.ActiveCfg = Release|Any CPU - {376A7588-50DF-46CD-955B-0309F491D830}.Release|x64.Build.0 = Release|Any CPU - {376A7588-50DF-46CD-955B-0309F491D830}.Release|x86.ActiveCfg = Release|Any CPU - {376A7588-50DF-46CD-955B-0309F491D830}.Release|x86.Build.0 = Release|Any CPU + {376A7588-50DF-46CD-955B-0309F491D830}.Release|x64.ActiveCfg = Release|x64 + {376A7588-50DF-46CD-955B-0309F491D830}.Release|x64.Build.0 = Release|x64 + {376A7588-50DF-46CD-955B-0309F491D830}.Release|x86.ActiveCfg = Release|x86 + {376A7588-50DF-46CD-955B-0309F491D830}.Release|x86.Build.0 = Release|x86 {5DF3CF65-3E11-4639-964D-7BEB4109DCF9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {5DF3CF65-3E11-4639-964D-7BEB4109DCF9}.Debug|Any CPU.Build.0 = Debug|Any CPU - {5DF3CF65-3E11-4639-964D-7BEB4109DCF9}.Debug|x64.ActiveCfg = Debug|Any CPU - {5DF3CF65-3E11-4639-964D-7BEB4109DCF9}.Debug|x64.Build.0 = Debug|Any CPU - {5DF3CF65-3E11-4639-964D-7BEB4109DCF9}.Debug|x86.ActiveCfg = Debug|Any CPU - {5DF3CF65-3E11-4639-964D-7BEB4109DCF9}.Debug|x86.Build.0 = Debug|Any CPU + {5DF3CF65-3E11-4639-964D-7BEB4109DCF9}.Debug|x64.ActiveCfg = Debug|x64 + {5DF3CF65-3E11-4639-964D-7BEB4109DCF9}.Debug|x64.Build.0 = Debug|x64 + {5DF3CF65-3E11-4639-964D-7BEB4109DCF9}.Debug|x86.ActiveCfg = Debug|x86 + {5DF3CF65-3E11-4639-964D-7BEB4109DCF9}.Debug|x86.Build.0 = Debug|x86 {5DF3CF65-3E11-4639-964D-7BEB4109DCF9}.Release|Any CPU.ActiveCfg = Release|Any CPU {5DF3CF65-3E11-4639-964D-7BEB4109DCF9}.Release|Any CPU.Build.0 = Release|Any CPU - {5DF3CF65-3E11-4639-964D-7BEB4109DCF9}.Release|x64.ActiveCfg = Release|Any CPU - {5DF3CF65-3E11-4639-964D-7BEB4109DCF9}.Release|x64.Build.0 = Release|Any CPU - {5DF3CF65-3E11-4639-964D-7BEB4109DCF9}.Release|x86.ActiveCfg = Release|Any CPU - {5DF3CF65-3E11-4639-964D-7BEB4109DCF9}.Release|x86.Build.0 = Release|Any CPU + {5DF3CF65-3E11-4639-964D-7BEB4109DCF9}.Release|x64.ActiveCfg = Release|x64 + {5DF3CF65-3E11-4639-964D-7BEB4109DCF9}.Release|x64.Build.0 = Release|x64 + {5DF3CF65-3E11-4639-964D-7BEB4109DCF9}.Release|x86.ActiveCfg = Release|x86 + {5DF3CF65-3E11-4639-964D-7BEB4109DCF9}.Release|x86.Build.0 = Release|x86 {D3E8A13B-92EE-45A8-BB24-40EC3CC9DB34}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {D3E8A13B-92EE-45A8-BB24-40EC3CC9DB34}.Debug|Any CPU.Build.0 = Debug|Any CPU - {D3E8A13B-92EE-45A8-BB24-40EC3CC9DB34}.Debug|x64.ActiveCfg = Debug|Any CPU - {D3E8A13B-92EE-45A8-BB24-40EC3CC9DB34}.Debug|x64.Build.0 = Debug|Any CPU - {D3E8A13B-92EE-45A8-BB24-40EC3CC9DB34}.Debug|x86.ActiveCfg = Debug|Any CPU - {D3E8A13B-92EE-45A8-BB24-40EC3CC9DB34}.Debug|x86.Build.0 = Debug|Any CPU + {D3E8A13B-92EE-45A8-BB24-40EC3CC9DB34}.Debug|x64.ActiveCfg = Debug|x64 + {D3E8A13B-92EE-45A8-BB24-40EC3CC9DB34}.Debug|x64.Build.0 = Debug|x64 + {D3E8A13B-92EE-45A8-BB24-40EC3CC9DB34}.Debug|x86.ActiveCfg = Debug|x86 + {D3E8A13B-92EE-45A8-BB24-40EC3CC9DB34}.Debug|x86.Build.0 = Debug|x86 {D3E8A13B-92EE-45A8-BB24-40EC3CC9DB34}.Release|Any CPU.ActiveCfg = Release|Any CPU {D3E8A13B-92EE-45A8-BB24-40EC3CC9DB34}.Release|Any CPU.Build.0 = Release|Any CPU - {D3E8A13B-92EE-45A8-BB24-40EC3CC9DB34}.Release|x64.ActiveCfg = Release|Any CPU - {D3E8A13B-92EE-45A8-BB24-40EC3CC9DB34}.Release|x64.Build.0 = Release|Any CPU - {D3E8A13B-92EE-45A8-BB24-40EC3CC9DB34}.Release|x86.ActiveCfg = Release|Any CPU - {D3E8A13B-92EE-45A8-BB24-40EC3CC9DB34}.Release|x86.Build.0 = Release|Any CPU + {D3E8A13B-92EE-45A8-BB24-40EC3CC9DB34}.Release|x64.ActiveCfg = Release|x64 + {D3E8A13B-92EE-45A8-BB24-40EC3CC9DB34}.Release|x64.Build.0 = Release|x64 + {D3E8A13B-92EE-45A8-BB24-40EC3CC9DB34}.Release|x86.ActiveCfg = Release|x86 + {D3E8A13B-92EE-45A8-BB24-40EC3CC9DB34}.Release|x86.Build.0 = Release|x86 {8FD97A6B-5C83-4985-9432-08347A2C2A47}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {8FD97A6B-5C83-4985-9432-08347A2C2A47}.Debug|Any CPU.Build.0 = Debug|Any CPU - {8FD97A6B-5C83-4985-9432-08347A2C2A47}.Debug|x64.ActiveCfg = Debug|Any CPU - {8FD97A6B-5C83-4985-9432-08347A2C2A47}.Debug|x64.Build.0 = Debug|Any CPU - {8FD97A6B-5C83-4985-9432-08347A2C2A47}.Debug|x86.ActiveCfg = Debug|Any CPU - {8FD97A6B-5C83-4985-9432-08347A2C2A47}.Debug|x86.Build.0 = Debug|Any CPU + {8FD97A6B-5C83-4985-9432-08347A2C2A47}.Debug|x64.ActiveCfg = Debug|x64 + {8FD97A6B-5C83-4985-9432-08347A2C2A47}.Debug|x64.Build.0 = Debug|x64 + {8FD97A6B-5C83-4985-9432-08347A2C2A47}.Debug|x86.ActiveCfg = Debug|x86 + {8FD97A6B-5C83-4985-9432-08347A2C2A47}.Debug|x86.Build.0 = Debug|x86 {8FD97A6B-5C83-4985-9432-08347A2C2A47}.Release|Any CPU.ActiveCfg = Release|Any CPU {8FD97A6B-5C83-4985-9432-08347A2C2A47}.Release|Any CPU.Build.0 = Release|Any CPU - {8FD97A6B-5C83-4985-9432-08347A2C2A47}.Release|x64.ActiveCfg = Release|Any CPU - {8FD97A6B-5C83-4985-9432-08347A2C2A47}.Release|x64.Build.0 = Release|Any CPU - {8FD97A6B-5C83-4985-9432-08347A2C2A47}.Release|x86.ActiveCfg = Release|Any CPU - {8FD97A6B-5C83-4985-9432-08347A2C2A47}.Release|x86.Build.0 = Release|Any CPU + {8FD97A6B-5C83-4985-9432-08347A2C2A47}.Release|x64.ActiveCfg = Release|x64 + {8FD97A6B-5C83-4985-9432-08347A2C2A47}.Release|x64.Build.0 = Release|x64 + {8FD97A6B-5C83-4985-9432-08347A2C2A47}.Release|x86.ActiveCfg = Release|x86 + {8FD97A6B-5C83-4985-9432-08347A2C2A47}.Release|x86.Build.0 = Release|x86 {9EFCEFB5-253E-4DE2-8A70-821D7B8189DF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {9EFCEFB5-253E-4DE2-8A70-821D7B8189DF}.Debug|Any CPU.Build.0 = Debug|Any CPU - {9EFCEFB5-253E-4DE2-8A70-821D7B8189DF}.Debug|x64.ActiveCfg = Debug|Any CPU - {9EFCEFB5-253E-4DE2-8A70-821D7B8189DF}.Debug|x64.Build.0 = Debug|Any CPU - {9EFCEFB5-253E-4DE2-8A70-821D7B8189DF}.Debug|x86.ActiveCfg = Debug|Any CPU - {9EFCEFB5-253E-4DE2-8A70-821D7B8189DF}.Debug|x86.Build.0 = Debug|Any CPU + {9EFCEFB5-253E-4DE2-8A70-821D7B8189DF}.Debug|x64.ActiveCfg = Debug|x64 + {9EFCEFB5-253E-4DE2-8A70-821D7B8189DF}.Debug|x64.Build.0 = Debug|x64 + {9EFCEFB5-253E-4DE2-8A70-821D7B8189DF}.Debug|x86.ActiveCfg = Debug|x86 + {9EFCEFB5-253E-4DE2-8A70-821D7B8189DF}.Debug|x86.Build.0 = Debug|x86 {9EFCEFB5-253E-4DE2-8A70-821D7B8189DF}.Release|Any CPU.ActiveCfg = Release|Any CPU {9EFCEFB5-253E-4DE2-8A70-821D7B8189DF}.Release|Any CPU.Build.0 = Release|Any CPU - {9EFCEFB5-253E-4DE2-8A70-821D7B8189DF}.Release|x64.ActiveCfg = Release|Any CPU - {9EFCEFB5-253E-4DE2-8A70-821D7B8189DF}.Release|x64.Build.0 = Release|Any CPU - {9EFCEFB5-253E-4DE2-8A70-821D7B8189DF}.Release|x86.ActiveCfg = Release|Any CPU - {9EFCEFB5-253E-4DE2-8A70-821D7B8189DF}.Release|x86.Build.0 = Release|Any CPU + {9EFCEFB5-253E-4DE2-8A70-821D7B8189DF}.Release|x64.ActiveCfg = Release|x64 + {9EFCEFB5-253E-4DE2-8A70-821D7B8189DF}.Release|x64.Build.0 = Release|x64 + {9EFCEFB5-253E-4DE2-8A70-821D7B8189DF}.Release|x86.ActiveCfg = Release|x86 + {9EFCEFB5-253E-4DE2-8A70-821D7B8189DF}.Release|x86.Build.0 = Release|x86 {3A8080FB-9C93-45B9-8EB5-828DDC31FDF0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {3A8080FB-9C93-45B9-8EB5-828DDC31FDF0}.Debug|Any CPU.Build.0 = Debug|Any CPU - {3A8080FB-9C93-45B9-8EB5-828DDC31FDF0}.Debug|x64.ActiveCfg = Debug|Any CPU - {3A8080FB-9C93-45B9-8EB5-828DDC31FDF0}.Debug|x64.Build.0 = Debug|Any CPU - {3A8080FB-9C93-45B9-8EB5-828DDC31FDF0}.Debug|x86.ActiveCfg = Debug|Any CPU - {3A8080FB-9C93-45B9-8EB5-828DDC31FDF0}.Debug|x86.Build.0 = Debug|Any CPU + {3A8080FB-9C93-45B9-8EB5-828DDC31FDF0}.Debug|x64.ActiveCfg = Debug|x64 + {3A8080FB-9C93-45B9-8EB5-828DDC31FDF0}.Debug|x64.Build.0 = Debug|x64 + {3A8080FB-9C93-45B9-8EB5-828DDC31FDF0}.Debug|x86.ActiveCfg = Debug|x86 + {3A8080FB-9C93-45B9-8EB5-828DDC31FDF0}.Debug|x86.Build.0 = Debug|x86 {3A8080FB-9C93-45B9-8EB5-828DDC31FDF0}.Release|Any CPU.ActiveCfg = Release|Any CPU {3A8080FB-9C93-45B9-8EB5-828DDC31FDF0}.Release|Any CPU.Build.0 = Release|Any CPU - {3A8080FB-9C93-45B9-8EB5-828DDC31FDF0}.Release|x64.ActiveCfg = Release|Any CPU - {3A8080FB-9C93-45B9-8EB5-828DDC31FDF0}.Release|x64.Build.0 = Release|Any CPU - {3A8080FB-9C93-45B9-8EB5-828DDC31FDF0}.Release|x86.ActiveCfg = Release|Any CPU - {3A8080FB-9C93-45B9-8EB5-828DDC31FDF0}.Release|x86.Build.0 = Release|Any CPU + {3A8080FB-9C93-45B9-8EB5-828DDC31FDF0}.Release|x64.ActiveCfg = Release|x64 + {3A8080FB-9C93-45B9-8EB5-828DDC31FDF0}.Release|x64.Build.0 = Release|x64 + {3A8080FB-9C93-45B9-8EB5-828DDC31FDF0}.Release|x86.ActiveCfg = Release|x86 + {3A8080FB-9C93-45B9-8EB5-828DDC31FDF0}.Release|x86.Build.0 = Release|x86 {BFF7714C-E5A3-4EEB-B04B-5FA47F29AD03}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {BFF7714C-E5A3-4EEB-B04B-5FA47F29AD03}.Debug|Any CPU.Build.0 = Debug|Any CPU - {BFF7714C-E5A3-4EEB-B04B-5FA47F29AD03}.Debug|x64.ActiveCfg = Debug|Any CPU - {BFF7714C-E5A3-4EEB-B04B-5FA47F29AD03}.Debug|x64.Build.0 = Debug|Any CPU - {BFF7714C-E5A3-4EEB-B04B-5FA47F29AD03}.Debug|x86.ActiveCfg = Debug|Any CPU - {BFF7714C-E5A3-4EEB-B04B-5FA47F29AD03}.Debug|x86.Build.0 = Debug|Any CPU + {BFF7714C-E5A3-4EEB-B04B-5FA47F29AD03}.Debug|x64.ActiveCfg = Debug|x64 + {BFF7714C-E5A3-4EEB-B04B-5FA47F29AD03}.Debug|x64.Build.0 = Debug|x64 + {BFF7714C-E5A3-4EEB-B04B-5FA47F29AD03}.Debug|x86.ActiveCfg = Debug|x86 + {BFF7714C-E5A3-4EEB-B04B-5FA47F29AD03}.Debug|x86.Build.0 = Debug|x86 {BFF7714C-E5A3-4EEB-B04B-5FA47F29AD03}.Release|Any CPU.ActiveCfg = Release|Any CPU {BFF7714C-E5A3-4EEB-B04B-5FA47F29AD03}.Release|Any CPU.Build.0 = Release|Any CPU - {BFF7714C-E5A3-4EEB-B04B-5FA47F29AD03}.Release|x64.ActiveCfg = Release|Any CPU - {BFF7714C-E5A3-4EEB-B04B-5FA47F29AD03}.Release|x64.Build.0 = Release|Any CPU - {BFF7714C-E5A3-4EEB-B04B-5FA47F29AD03}.Release|x86.ActiveCfg = Release|Any CPU - {BFF7714C-E5A3-4EEB-B04B-5FA47F29AD03}.Release|x86.Build.0 = Release|Any CPU - {B2C2FFD5-3C7D-42A3-B9B6-DEF63DE969AD}.Debug|Any CPU.ActiveCfg = Release|Any CPU - {B2C2FFD5-3C7D-42A3-B9B6-DEF63DE969AD}.Debug|Any CPU.Build.0 = Release|Any CPU - {B2C2FFD5-3C7D-42A3-B9B6-DEF63DE969AD}.Debug|x64.ActiveCfg = Release|Any CPU - {B2C2FFD5-3C7D-42A3-B9B6-DEF63DE969AD}.Debug|x64.Build.0 = Release|Any CPU - {B2C2FFD5-3C7D-42A3-B9B6-DEF63DE969AD}.Debug|x86.ActiveCfg = Release|Any CPU - {B2C2FFD5-3C7D-42A3-B9B6-DEF63DE969AD}.Debug|x86.Build.0 = Release|Any CPU + {BFF7714C-E5A3-4EEB-B04B-5FA47F29AD03}.Release|x64.ActiveCfg = Release|x64 + {BFF7714C-E5A3-4EEB-B04B-5FA47F29AD03}.Release|x64.Build.0 = Release|x64 + {BFF7714C-E5A3-4EEB-B04B-5FA47F29AD03}.Release|x86.ActiveCfg = Release|x86 + {BFF7714C-E5A3-4EEB-B04B-5FA47F29AD03}.Release|x86.Build.0 = Release|x86 + {B2C2FFD5-3C7D-42A3-B9B6-DEF63DE969AD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {B2C2FFD5-3C7D-42A3-B9B6-DEF63DE969AD}.Debug|Any CPU.Build.0 = Debug|Any CPU + {B2C2FFD5-3C7D-42A3-B9B6-DEF63DE969AD}.Debug|x64.ActiveCfg = Debug|x64 + {B2C2FFD5-3C7D-42A3-B9B6-DEF63DE969AD}.Debug|x64.Build.0 = Debug|x64 + {B2C2FFD5-3C7D-42A3-B9B6-DEF63DE969AD}.Debug|x86.ActiveCfg = Debug|x86 + {B2C2FFD5-3C7D-42A3-B9B6-DEF63DE969AD}.Debug|x86.Build.0 = Debug|x86 {B2C2FFD5-3C7D-42A3-B9B6-DEF63DE969AD}.Release|Any CPU.ActiveCfg = Release|Any CPU {B2C2FFD5-3C7D-42A3-B9B6-DEF63DE969AD}.Release|Any CPU.Build.0 = Release|Any CPU - {B2C2FFD5-3C7D-42A3-B9B6-DEF63DE969AD}.Release|x64.ActiveCfg = Release|Any CPU - {B2C2FFD5-3C7D-42A3-B9B6-DEF63DE969AD}.Release|x64.Build.0 = Release|Any CPU - {B2C2FFD5-3C7D-42A3-B9B6-DEF63DE969AD}.Release|x86.ActiveCfg = Release|Any CPU - {B2C2FFD5-3C7D-42A3-B9B6-DEF63DE969AD}.Release|x86.Build.0 = Release|Any CPU - {0DD55440-38DC-4580-879C-70B043F77B1C}.Debug|Any CPU.ActiveCfg = Release|Any CPU - {0DD55440-38DC-4580-879C-70B043F77B1C}.Debug|Any CPU.Build.0 = Release|Any CPU - {0DD55440-38DC-4580-879C-70B043F77B1C}.Debug|x64.ActiveCfg = Release|Any CPU - {0DD55440-38DC-4580-879C-70B043F77B1C}.Debug|x64.Build.0 = Release|Any CPU - {0DD55440-38DC-4580-879C-70B043F77B1C}.Debug|x86.ActiveCfg = Release|Any CPU - {0DD55440-38DC-4580-879C-70B043F77B1C}.Debug|x86.Build.0 = Release|Any CPU + {B2C2FFD5-3C7D-42A3-B9B6-DEF63DE969AD}.Release|x64.ActiveCfg = Release|x64 + {B2C2FFD5-3C7D-42A3-B9B6-DEF63DE969AD}.Release|x64.Build.0 = Release|x64 + {B2C2FFD5-3C7D-42A3-B9B6-DEF63DE969AD}.Release|x86.ActiveCfg = Release|x86 + {B2C2FFD5-3C7D-42A3-B9B6-DEF63DE969AD}.Release|x86.Build.0 = Release|x86 + {0DD55440-38DC-4580-879C-70B043F77B1C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {0DD55440-38DC-4580-879C-70B043F77B1C}.Debug|Any CPU.Build.0 = Debug|Any CPU + {0DD55440-38DC-4580-879C-70B043F77B1C}.Debug|x64.ActiveCfg = Debug|x64 + {0DD55440-38DC-4580-879C-70B043F77B1C}.Debug|x64.Build.0 = Debug|x64 + {0DD55440-38DC-4580-879C-70B043F77B1C}.Debug|x86.ActiveCfg = Debug|x86 + {0DD55440-38DC-4580-879C-70B043F77B1C}.Debug|x86.Build.0 = Debug|x86 {0DD55440-38DC-4580-879C-70B043F77B1C}.Release|Any CPU.ActiveCfg = Release|Any CPU {0DD55440-38DC-4580-879C-70B043F77B1C}.Release|Any CPU.Build.0 = Release|Any CPU - {0DD55440-38DC-4580-879C-70B043F77B1C}.Release|x64.ActiveCfg = Release|Any CPU - {0DD55440-38DC-4580-879C-70B043F77B1C}.Release|x64.Build.0 = Release|Any CPU - {0DD55440-38DC-4580-879C-70B043F77B1C}.Release|x86.ActiveCfg = Release|Any CPU - {0DD55440-38DC-4580-879C-70B043F77B1C}.Release|x86.Build.0 = Release|Any CPU - {4514113D-07C0-4062-A673-04F188A79B7D}.Debug|Any CPU.ActiveCfg = Release|Any CPU - {4514113D-07C0-4062-A673-04F188A79B7D}.Debug|Any CPU.Build.0 = Release|Any CPU - {4514113D-07C0-4062-A673-04F188A79B7D}.Debug|x64.ActiveCfg = Release|Any CPU - {4514113D-07C0-4062-A673-04F188A79B7D}.Debug|x64.Build.0 = Release|Any CPU - {4514113D-07C0-4062-A673-04F188A79B7D}.Debug|x86.ActiveCfg = Release|Any CPU - {4514113D-07C0-4062-A673-04F188A79B7D}.Debug|x86.Build.0 = Release|Any CPU + {0DD55440-38DC-4580-879C-70B043F77B1C}.Release|x64.ActiveCfg = Release|x64 + {0DD55440-38DC-4580-879C-70B043F77B1C}.Release|x64.Build.0 = Release|x64 + {0DD55440-38DC-4580-879C-70B043F77B1C}.Release|x86.ActiveCfg = Release|x86 + {0DD55440-38DC-4580-879C-70B043F77B1C}.Release|x86.Build.0 = Release|x86 + {4514113D-07C0-4062-A673-04F188A79B7D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {4514113D-07C0-4062-A673-04F188A79B7D}.Debug|Any CPU.Build.0 = Debug|Any CPU + {4514113D-07C0-4062-A673-04F188A79B7D}.Debug|x64.ActiveCfg = Debug|x64 + {4514113D-07C0-4062-A673-04F188A79B7D}.Debug|x64.Build.0 = Debug|x64 + {4514113D-07C0-4062-A673-04F188A79B7D}.Debug|x86.ActiveCfg = Debug|x86 + {4514113D-07C0-4062-A673-04F188A79B7D}.Debug|x86.Build.0 = Debug|x86 {4514113D-07C0-4062-A673-04F188A79B7D}.Release|Any CPU.ActiveCfg = Release|Any CPU {4514113D-07C0-4062-A673-04F188A79B7D}.Release|Any CPU.Build.0 = Release|Any CPU - {4514113D-07C0-4062-A673-04F188A79B7D}.Release|x64.ActiveCfg = Release|Any CPU - {4514113D-07C0-4062-A673-04F188A79B7D}.Release|x64.Build.0 = Release|Any CPU - {4514113D-07C0-4062-A673-04F188A79B7D}.Release|x86.ActiveCfg = Release|Any CPU - {4514113D-07C0-4062-A673-04F188A79B7D}.Release|x86.Build.0 = Release|Any CPU + {4514113D-07C0-4062-A673-04F188A79B7D}.Release|x64.ActiveCfg = Release|x64 + {4514113D-07C0-4062-A673-04F188A79B7D}.Release|x64.Build.0 = Release|x64 + {4514113D-07C0-4062-A673-04F188A79B7D}.Release|x86.ActiveCfg = Release|x86 + {4514113D-07C0-4062-A673-04F188A79B7D}.Release|x86.Build.0 = Release|x86 {D496D1A0-BC41-48C2-808B-34D8935BE96D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {D496D1A0-BC41-48C2-808B-34D8935BE96D}.Debug|Any CPU.Build.0 = Debug|Any CPU - {D496D1A0-BC41-48C2-808B-34D8935BE96D}.Debug|x64.ActiveCfg = Debug|Any CPU - {D496D1A0-BC41-48C2-808B-34D8935BE96D}.Debug|x64.Build.0 = Debug|Any CPU - {D496D1A0-BC41-48C2-808B-34D8935BE96D}.Debug|x86.ActiveCfg = Debug|Any CPU - {D496D1A0-BC41-48C2-808B-34D8935BE96D}.Debug|x86.Build.0 = Debug|Any CPU + {D496D1A0-BC41-48C2-808B-34D8935BE96D}.Debug|x64.ActiveCfg = Debug|x64 + {D496D1A0-BC41-48C2-808B-34D8935BE96D}.Debug|x64.Build.0 = Debug|x64 + {D496D1A0-BC41-48C2-808B-34D8935BE96D}.Debug|x86.ActiveCfg = Debug|x86 + {D496D1A0-BC41-48C2-808B-34D8935BE96D}.Debug|x86.Build.0 = Debug|x86 {D496D1A0-BC41-48C2-808B-34D8935BE96D}.Release|Any CPU.ActiveCfg = Release|Any CPU {D496D1A0-BC41-48C2-808B-34D8935BE96D}.Release|Any CPU.Build.0 = Release|Any CPU - {D496D1A0-BC41-48C2-808B-34D8935BE96D}.Release|x64.ActiveCfg = Release|Any CPU - {D496D1A0-BC41-48C2-808B-34D8935BE96D}.Release|x64.Build.0 = Release|Any CPU - {D496D1A0-BC41-48C2-808B-34D8935BE96D}.Release|x86.ActiveCfg = Release|Any CPU - {D496D1A0-BC41-48C2-808B-34D8935BE96D}.Release|x86.Build.0 = Release|Any CPU + {D496D1A0-BC41-48C2-808B-34D8935BE96D}.Release|x64.ActiveCfg = Release|x64 + {D496D1A0-BC41-48C2-808B-34D8935BE96D}.Release|x64.Build.0 = Release|x64 + {D496D1A0-BC41-48C2-808B-34D8935BE96D}.Release|x86.ActiveCfg = Release|x86 + {D496D1A0-BC41-48C2-808B-34D8935BE96D}.Release|x86.Build.0 = Release|x86 {DD9382B5-5EC4-4B3D-BEB7-95423731AE29}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {DD9382B5-5EC4-4B3D-BEB7-95423731AE29}.Debug|Any CPU.Build.0 = Debug|Any CPU - {DD9382B5-5EC4-4B3D-BEB7-95423731AE29}.Debug|x64.ActiveCfg = Debug|Any CPU - {DD9382B5-5EC4-4B3D-BEB7-95423731AE29}.Debug|x64.Build.0 = Debug|Any CPU - {DD9382B5-5EC4-4B3D-BEB7-95423731AE29}.Debug|x86.ActiveCfg = Debug|Any CPU - {DD9382B5-5EC4-4B3D-BEB7-95423731AE29}.Debug|x86.Build.0 = Debug|Any CPU + {DD9382B5-5EC4-4B3D-BEB7-95423731AE29}.Debug|x64.ActiveCfg = Debug|x64 + {DD9382B5-5EC4-4B3D-BEB7-95423731AE29}.Debug|x64.Build.0 = Debug|x64 + {DD9382B5-5EC4-4B3D-BEB7-95423731AE29}.Debug|x86.ActiveCfg = Debug|x86 + {DD9382B5-5EC4-4B3D-BEB7-95423731AE29}.Debug|x86.Build.0 = Debug|x86 {DD9382B5-5EC4-4B3D-BEB7-95423731AE29}.Release|Any CPU.ActiveCfg = Release|Any CPU {DD9382B5-5EC4-4B3D-BEB7-95423731AE29}.Release|Any CPU.Build.0 = Release|Any CPU - {DD9382B5-5EC4-4B3D-BEB7-95423731AE29}.Release|x64.ActiveCfg = Release|Any CPU - {DD9382B5-5EC4-4B3D-BEB7-95423731AE29}.Release|x64.Build.0 = Release|Any CPU - {DD9382B5-5EC4-4B3D-BEB7-95423731AE29}.Release|x86.ActiveCfg = Release|Any CPU - {DD9382B5-5EC4-4B3D-BEB7-95423731AE29}.Release|x86.Build.0 = Release|Any CPU + {DD9382B5-5EC4-4B3D-BEB7-95423731AE29}.Release|x64.ActiveCfg = Release|x64 + {DD9382B5-5EC4-4B3D-BEB7-95423731AE29}.Release|x64.Build.0 = Release|x64 + {DD9382B5-5EC4-4B3D-BEB7-95423731AE29}.Release|x86.ActiveCfg = Release|x86 + {DD9382B5-5EC4-4B3D-BEB7-95423731AE29}.Release|x86.Build.0 = Release|x86 {156F8811-28BB-4EC7-87D9-434F10FB7DBE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {156F8811-28BB-4EC7-87D9-434F10FB7DBE}.Debug|Any CPU.Build.0 = Debug|Any CPU - {156F8811-28BB-4EC7-87D9-434F10FB7DBE}.Debug|x64.ActiveCfg = Debug|Any CPU - {156F8811-28BB-4EC7-87D9-434F10FB7DBE}.Debug|x64.Build.0 = Debug|Any CPU - {156F8811-28BB-4EC7-87D9-434F10FB7DBE}.Debug|x86.ActiveCfg = Debug|Any CPU - {156F8811-28BB-4EC7-87D9-434F10FB7DBE}.Debug|x86.Build.0 = Debug|Any CPU + {156F8811-28BB-4EC7-87D9-434F10FB7DBE}.Debug|x64.ActiveCfg = Debug|x64 + {156F8811-28BB-4EC7-87D9-434F10FB7DBE}.Debug|x64.Build.0 = Debug|x64 + {156F8811-28BB-4EC7-87D9-434F10FB7DBE}.Debug|x86.ActiveCfg = Debug|x86 + {156F8811-28BB-4EC7-87D9-434F10FB7DBE}.Debug|x86.Build.0 = Debug|x86 {156F8811-28BB-4EC7-87D9-434F10FB7DBE}.Release|Any CPU.ActiveCfg = Release|Any CPU {156F8811-28BB-4EC7-87D9-434F10FB7DBE}.Release|Any CPU.Build.0 = Release|Any CPU - {156F8811-28BB-4EC7-87D9-434F10FB7DBE}.Release|x64.ActiveCfg = Release|Any CPU - {156F8811-28BB-4EC7-87D9-434F10FB7DBE}.Release|x64.Build.0 = Release|Any CPU - {156F8811-28BB-4EC7-87D9-434F10FB7DBE}.Release|x86.ActiveCfg = Release|Any CPU - {156F8811-28BB-4EC7-87D9-434F10FB7DBE}.Release|x86.Build.0 = Release|Any CPU + {156F8811-28BB-4EC7-87D9-434F10FB7DBE}.Release|x64.ActiveCfg = Release|x64 + {156F8811-28BB-4EC7-87D9-434F10FB7DBE}.Release|x64.Build.0 = Release|x64 + {156F8811-28BB-4EC7-87D9-434F10FB7DBE}.Release|x86.ActiveCfg = Release|x86 + {156F8811-28BB-4EC7-87D9-434F10FB7DBE}.Release|x86.Build.0 = Release|x86 {A5B167ED-873A-4762-9326-5F43B8D3AFF6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {A5B167ED-873A-4762-9326-5F43B8D3AFF6}.Debug|Any CPU.Build.0 = Debug|Any CPU - {A5B167ED-873A-4762-9326-5F43B8D3AFF6}.Debug|x64.ActiveCfg = Debug|Any CPU - {A5B167ED-873A-4762-9326-5F43B8D3AFF6}.Debug|x64.Build.0 = Debug|Any CPU - {A5B167ED-873A-4762-9326-5F43B8D3AFF6}.Debug|x86.ActiveCfg = Debug|Any CPU - {A5B167ED-873A-4762-9326-5F43B8D3AFF6}.Debug|x86.Build.0 = Debug|Any CPU + {A5B167ED-873A-4762-9326-5F43B8D3AFF6}.Debug|x64.ActiveCfg = Debug|x64 + {A5B167ED-873A-4762-9326-5F43B8D3AFF6}.Debug|x64.Build.0 = Debug|x64 + {A5B167ED-873A-4762-9326-5F43B8D3AFF6}.Debug|x86.ActiveCfg = Debug|x86 + {A5B167ED-873A-4762-9326-5F43B8D3AFF6}.Debug|x86.Build.0 = Debug|x86 {A5B167ED-873A-4762-9326-5F43B8D3AFF6}.Release|Any CPU.ActiveCfg = Release|Any CPU {A5B167ED-873A-4762-9326-5F43B8D3AFF6}.Release|Any CPU.Build.0 = Release|Any CPU - {A5B167ED-873A-4762-9326-5F43B8D3AFF6}.Release|x64.ActiveCfg = Release|Any CPU - {A5B167ED-873A-4762-9326-5F43B8D3AFF6}.Release|x64.Build.0 = Release|Any CPU - {A5B167ED-873A-4762-9326-5F43B8D3AFF6}.Release|x86.ActiveCfg = Release|Any CPU - {A5B167ED-873A-4762-9326-5F43B8D3AFF6}.Release|x86.Build.0 = Release|Any CPU + {A5B167ED-873A-4762-9326-5F43B8D3AFF6}.Release|x64.ActiveCfg = Release|x64 + {A5B167ED-873A-4762-9326-5F43B8D3AFF6}.Release|x64.Build.0 = Release|x64 + {A5B167ED-873A-4762-9326-5F43B8D3AFF6}.Release|x86.ActiveCfg = Release|x86 + {A5B167ED-873A-4762-9326-5F43B8D3AFF6}.Release|x86.Build.0 = Release|x86 {107F28E1-6E91-4A06-8943-E5E5A7E4CA66}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {107F28E1-6E91-4A06-8943-E5E5A7E4CA66}.Debug|Any CPU.Build.0 = Debug|Any CPU - {107F28E1-6E91-4A06-8943-E5E5A7E4CA66}.Debug|x64.ActiveCfg = Debug|Any CPU - {107F28E1-6E91-4A06-8943-E5E5A7E4CA66}.Debug|x64.Build.0 = Debug|Any CPU - {107F28E1-6E91-4A06-8943-E5E5A7E4CA66}.Debug|x86.ActiveCfg = Debug|Any CPU - {107F28E1-6E91-4A06-8943-E5E5A7E4CA66}.Debug|x86.Build.0 = Debug|Any CPU + {107F28E1-6E91-4A06-8943-E5E5A7E4CA66}.Debug|x64.ActiveCfg = Debug|x64 + {107F28E1-6E91-4A06-8943-E5E5A7E4CA66}.Debug|x64.Build.0 = Debug|x64 + {107F28E1-6E91-4A06-8943-E5E5A7E4CA66}.Debug|x86.ActiveCfg = Debug|x86 + {107F28E1-6E91-4A06-8943-E5E5A7E4CA66}.Debug|x86.Build.0 = Debug|x86 {107F28E1-6E91-4A06-8943-E5E5A7E4CA66}.Release|Any CPU.ActiveCfg = Release|Any CPU {107F28E1-6E91-4A06-8943-E5E5A7E4CA66}.Release|Any CPU.Build.0 = Release|Any CPU - {107F28E1-6E91-4A06-8943-E5E5A7E4CA66}.Release|x64.ActiveCfg = Release|Any CPU - {107F28E1-6E91-4A06-8943-E5E5A7E4CA66}.Release|x64.Build.0 = Release|Any CPU - {107F28E1-6E91-4A06-8943-E5E5A7E4CA66}.Release|x86.ActiveCfg = Release|Any CPU - {107F28E1-6E91-4A06-8943-E5E5A7E4CA66}.Release|x86.Build.0 = Release|Any CPU - {22C2F754-11A1-435A-9F64-645CD4C1C31A}.Debug|Any CPU.ActiveCfg = Release|Any CPU - {22C2F754-11A1-435A-9F64-645CD4C1C31A}.Debug|Any CPU.Build.0 = Release|Any CPU - {22C2F754-11A1-435A-9F64-645CD4C1C31A}.Debug|x64.ActiveCfg = Release|Any CPU - {22C2F754-11A1-435A-9F64-645CD4C1C31A}.Debug|x64.Build.0 = Release|Any CPU - {22C2F754-11A1-435A-9F64-645CD4C1C31A}.Debug|x86.ActiveCfg = Release|Any CPU - {22C2F754-11A1-435A-9F64-645CD4C1C31A}.Debug|x86.Build.0 = Release|Any CPU + {107F28E1-6E91-4A06-8943-E5E5A7E4CA66}.Release|x64.ActiveCfg = Release|x64 + {107F28E1-6E91-4A06-8943-E5E5A7E4CA66}.Release|x64.Build.0 = Release|x64 + {107F28E1-6E91-4A06-8943-E5E5A7E4CA66}.Release|x86.ActiveCfg = Release|x86 + {107F28E1-6E91-4A06-8943-E5E5A7E4CA66}.Release|x86.Build.0 = Release|x86 + {22C2F754-11A1-435A-9F64-645CD4C1C31A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {22C2F754-11A1-435A-9F64-645CD4C1C31A}.Debug|Any CPU.Build.0 = Debug|Any CPU + {22C2F754-11A1-435A-9F64-645CD4C1C31A}.Debug|x64.ActiveCfg = Debug|x64 + {22C2F754-11A1-435A-9F64-645CD4C1C31A}.Debug|x64.Build.0 = Debug|x64 + {22C2F754-11A1-435A-9F64-645CD4C1C31A}.Debug|x86.ActiveCfg = Debug|x86 + {22C2F754-11A1-435A-9F64-645CD4C1C31A}.Debug|x86.Build.0 = Debug|x86 {22C2F754-11A1-435A-9F64-645CD4C1C31A}.Release|Any CPU.ActiveCfg = Release|Any CPU {22C2F754-11A1-435A-9F64-645CD4C1C31A}.Release|Any CPU.Build.0 = Release|Any CPU - {22C2F754-11A1-435A-9F64-645CD4C1C31A}.Release|x64.ActiveCfg = Release|Any CPU - {22C2F754-11A1-435A-9F64-645CD4C1C31A}.Release|x64.Build.0 = Release|Any CPU - {22C2F754-11A1-435A-9F64-645CD4C1C31A}.Release|x86.ActiveCfg = Release|Any CPU - {22C2F754-11A1-435A-9F64-645CD4C1C31A}.Release|x86.Build.0 = Release|Any CPU - {B619F69F-6864-4A6E-894A-C02E5FB0128F}.Debug|Any CPU.ActiveCfg = Release|Any CPU - {B619F69F-6864-4A6E-894A-C02E5FB0128F}.Debug|Any CPU.Build.0 = Release|Any CPU - {B619F69F-6864-4A6E-894A-C02E5FB0128F}.Debug|x64.ActiveCfg = Release|Any CPU - {B619F69F-6864-4A6E-894A-C02E5FB0128F}.Debug|x64.Build.0 = Release|Any CPU - {B619F69F-6864-4A6E-894A-C02E5FB0128F}.Debug|x86.ActiveCfg = Release|Any CPU - {B619F69F-6864-4A6E-894A-C02E5FB0128F}.Debug|x86.Build.0 = Release|Any CPU + {22C2F754-11A1-435A-9F64-645CD4C1C31A}.Release|x64.ActiveCfg = Release|x64 + {22C2F754-11A1-435A-9F64-645CD4C1C31A}.Release|x64.Build.0 = Release|x64 + {22C2F754-11A1-435A-9F64-645CD4C1C31A}.Release|x86.ActiveCfg = Release|x86 + {22C2F754-11A1-435A-9F64-645CD4C1C31A}.Release|x86.Build.0 = Release|x86 + {B619F69F-6864-4A6E-894A-C02E5FB0128F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {B619F69F-6864-4A6E-894A-C02E5FB0128F}.Debug|Any CPU.Build.0 = Debug|Any CPU + {B619F69F-6864-4A6E-894A-C02E5FB0128F}.Debug|x64.ActiveCfg = Debug|x64 + {B619F69F-6864-4A6E-894A-C02E5FB0128F}.Debug|x64.Build.0 = Debug|x64 + {B619F69F-6864-4A6E-894A-C02E5FB0128F}.Debug|x86.ActiveCfg = Debug|x86 + {B619F69F-6864-4A6E-894A-C02E5FB0128F}.Debug|x86.Build.0 = Debug|x86 {B619F69F-6864-4A6E-894A-C02E5FB0128F}.Release|Any CPU.ActiveCfg = Release|Any CPU {B619F69F-6864-4A6E-894A-C02E5FB0128F}.Release|Any CPU.Build.0 = Release|Any CPU - {B619F69F-6864-4A6E-894A-C02E5FB0128F}.Release|x64.ActiveCfg = Release|Any CPU - {B619F69F-6864-4A6E-894A-C02E5FB0128F}.Release|x64.Build.0 = Release|Any CPU - {B619F69F-6864-4A6E-894A-C02E5FB0128F}.Release|x86.ActiveCfg = Release|Any CPU - {B619F69F-6864-4A6E-894A-C02E5FB0128F}.Release|x86.Build.0 = Release|Any CPU - {D68733FF-7520-4906-AE35-B7B9DBAC543F}.Debug|Any CPU.ActiveCfg = Release|Any CPU - {D68733FF-7520-4906-AE35-B7B9DBAC543F}.Debug|Any CPU.Build.0 = Release|Any CPU - {D68733FF-7520-4906-AE35-B7B9DBAC543F}.Debug|x64.ActiveCfg = Release|Any CPU - {D68733FF-7520-4906-AE35-B7B9DBAC543F}.Debug|x64.Build.0 = Release|Any CPU - {D68733FF-7520-4906-AE35-B7B9DBAC543F}.Debug|x86.ActiveCfg = Release|Any CPU - {D68733FF-7520-4906-AE35-B7B9DBAC543F}.Debug|x86.Build.0 = Release|Any CPU + {B619F69F-6864-4A6E-894A-C02E5FB0128F}.Release|x64.ActiveCfg = Release|x64 + {B619F69F-6864-4A6E-894A-C02E5FB0128F}.Release|x64.Build.0 = Release|x64 + {B619F69F-6864-4A6E-894A-C02E5FB0128F}.Release|x86.ActiveCfg = Release|x86 + {B619F69F-6864-4A6E-894A-C02E5FB0128F}.Release|x86.Build.0 = Release|x86 + {D68733FF-7520-4906-AE35-B7B9DBAC543F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {D68733FF-7520-4906-AE35-B7B9DBAC543F}.Debug|Any CPU.Build.0 = Debug|Any CPU + {D68733FF-7520-4906-AE35-B7B9DBAC543F}.Debug|x64.ActiveCfg = Debug|x64 + {D68733FF-7520-4906-AE35-B7B9DBAC543F}.Debug|x64.Build.0 = Debug|x64 + {D68733FF-7520-4906-AE35-B7B9DBAC543F}.Debug|x86.ActiveCfg = Debug|x86 + {D68733FF-7520-4906-AE35-B7B9DBAC543F}.Debug|x86.Build.0 = Debug|x86 {D68733FF-7520-4906-AE35-B7B9DBAC543F}.Release|Any CPU.ActiveCfg = Release|Any CPU {D68733FF-7520-4906-AE35-B7B9DBAC543F}.Release|Any CPU.Build.0 = Release|Any CPU - {D68733FF-7520-4906-AE35-B7B9DBAC543F}.Release|x64.ActiveCfg = Release|Any CPU - {D68733FF-7520-4906-AE35-B7B9DBAC543F}.Release|x64.Build.0 = Release|Any CPU - {D68733FF-7520-4906-AE35-B7B9DBAC543F}.Release|x86.ActiveCfg = Release|Any CPU - {D68733FF-7520-4906-AE35-B7B9DBAC543F}.Release|x86.Build.0 = Release|Any CPU - {A23E3408-D569-488E-A071-E1B3625C5F09}.Debug|Any CPU.ActiveCfg = Release|Any CPU - {A23E3408-D569-488E-A071-E1B3625C5F09}.Debug|Any CPU.Build.0 = Release|Any CPU - {A23E3408-D569-488E-A071-E1B3625C5F09}.Debug|x64.ActiveCfg = Release|Any CPU - {A23E3408-D569-488E-A071-E1B3625C5F09}.Debug|x64.Build.0 = Release|Any CPU - {A23E3408-D569-488E-A071-E1B3625C5F09}.Debug|x86.ActiveCfg = Release|Any CPU - {A23E3408-D569-488E-A071-E1B3625C5F09}.Debug|x86.Build.0 = Release|Any CPU + {D68733FF-7520-4906-AE35-B7B9DBAC543F}.Release|x64.ActiveCfg = Release|x64 + {D68733FF-7520-4906-AE35-B7B9DBAC543F}.Release|x64.Build.0 = Release|x64 + {D68733FF-7520-4906-AE35-B7B9DBAC543F}.Release|x86.ActiveCfg = Release|x86 + {D68733FF-7520-4906-AE35-B7B9DBAC543F}.Release|x86.Build.0 = Release|x86 + {A23E3408-D569-488E-A071-E1B3625C5F09}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {A23E3408-D569-488E-A071-E1B3625C5F09}.Debug|Any CPU.Build.0 = Debug|Any CPU + {A23E3408-D569-488E-A071-E1B3625C5F09}.Debug|x64.ActiveCfg = Debug|x64 + {A23E3408-D569-488E-A071-E1B3625C5F09}.Debug|x64.Build.0 = Debug|x64 + {A23E3408-D569-488E-A071-E1B3625C5F09}.Debug|x86.ActiveCfg = Debug|x86 + {A23E3408-D569-488E-A071-E1B3625C5F09}.Debug|x86.Build.0 = Debug|x86 {A23E3408-D569-488E-A071-E1B3625C5F09}.Release|Any CPU.ActiveCfg = Release|Any CPU {A23E3408-D569-488E-A071-E1B3625C5F09}.Release|Any CPU.Build.0 = Release|Any CPU - {A23E3408-D569-488E-A071-E1B3625C5F09}.Release|x64.ActiveCfg = Release|Any CPU - {A23E3408-D569-488E-A071-E1B3625C5F09}.Release|x64.Build.0 = Release|Any CPU - {A23E3408-D569-488E-A071-E1B3625C5F09}.Release|x86.ActiveCfg = Release|Any CPU - {A23E3408-D569-488E-A071-E1B3625C5F09}.Release|x86.Build.0 = Release|Any CPU - {57B182B8-9014-4C6D-B966-B464DE3127D5}.Debug|Any CPU.ActiveCfg = Release|Any CPU - {57B182B8-9014-4C6D-B966-B464DE3127D5}.Debug|Any CPU.Build.0 = Release|Any CPU - {57B182B8-9014-4C6D-B966-B464DE3127D5}.Debug|x64.ActiveCfg = Release|Any CPU - {57B182B8-9014-4C6D-B966-B464DE3127D5}.Debug|x64.Build.0 = Release|Any CPU - {57B182B8-9014-4C6D-B966-B464DE3127D5}.Debug|x86.ActiveCfg = Release|Any CPU - {57B182B8-9014-4C6D-B966-B464DE3127D5}.Debug|x86.Build.0 = Release|Any CPU + {A23E3408-D569-488E-A071-E1B3625C5F09}.Release|x64.ActiveCfg = Release|x64 + {A23E3408-D569-488E-A071-E1B3625C5F09}.Release|x64.Build.0 = Release|x64 + {A23E3408-D569-488E-A071-E1B3625C5F09}.Release|x86.ActiveCfg = Release|x86 + {A23E3408-D569-488E-A071-E1B3625C5F09}.Release|x86.Build.0 = Release|x86 + {57B182B8-9014-4C6D-B966-B464DE3127D5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {57B182B8-9014-4C6D-B966-B464DE3127D5}.Debug|Any CPU.Build.0 = Debug|Any CPU + {57B182B8-9014-4C6D-B966-B464DE3127D5}.Debug|x64.ActiveCfg = Debug|x64 + {57B182B8-9014-4C6D-B966-B464DE3127D5}.Debug|x64.Build.0 = Debug|x64 + {57B182B8-9014-4C6D-B966-B464DE3127D5}.Debug|x86.ActiveCfg = Debug|x86 + {57B182B8-9014-4C6D-B966-B464DE3127D5}.Debug|x86.Build.0 = Debug|x86 {57B182B8-9014-4C6D-B966-B464DE3127D5}.Release|Any CPU.ActiveCfg = Release|Any CPU {57B182B8-9014-4C6D-B966-B464DE3127D5}.Release|Any CPU.Build.0 = Release|Any CPU - {57B182B8-9014-4C6D-B966-B464DE3127D5}.Release|x64.ActiveCfg = Release|Any CPU - {57B182B8-9014-4C6D-B966-B464DE3127D5}.Release|x64.Build.0 = Release|Any CPU - {57B182B8-9014-4C6D-B966-B464DE3127D5}.Release|x86.ActiveCfg = Release|Any CPU - {57B182B8-9014-4C6D-B966-B464DE3127D5}.Release|x86.Build.0 = Release|Any CPU - {D62D754C-8F0A-406F-8BA7-E96C6FFA7C7C}.Debug|Any CPU.ActiveCfg = Release|Any CPU - {D62D754C-8F0A-406F-8BA7-E96C6FFA7C7C}.Debug|Any CPU.Build.0 = Release|Any CPU + {57B182B8-9014-4C6D-B966-B464DE3127D5}.Release|x64.ActiveCfg = Release|x64 + {57B182B8-9014-4C6D-B966-B464DE3127D5}.Release|x64.Build.0 = Release|x64 + {57B182B8-9014-4C6D-B966-B464DE3127D5}.Release|x86.ActiveCfg = Release|x86 + {57B182B8-9014-4C6D-B966-B464DE3127D5}.Release|x86.Build.0 = Release|x86 + {D62D754C-8F0A-406F-8BA7-E96C6FFA7C7C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {D62D754C-8F0A-406F-8BA7-E96C6FFA7C7C}.Debug|Any CPU.Build.0 = Debug|Any CPU {D62D754C-8F0A-406F-8BA7-E96C6FFA7C7C}.Debug|x64.ActiveCfg = Release|Any CPU {D62D754C-8F0A-406F-8BA7-E96C6FFA7C7C}.Debug|x64.Build.0 = Release|Any CPU {D62D754C-8F0A-406F-8BA7-E96C6FFA7C7C}.Debug|x86.ActiveCfg = Release|Any CPU @@ -646,18 +646,6 @@ Global {D62D754C-8F0A-406F-8BA7-E96C6FFA7C7C}.Release|x64.Build.0 = Release|Any CPU {D62D754C-8F0A-406F-8BA7-E96C6FFA7C7C}.Release|x86.ActiveCfg = Release|Any CPU {D62D754C-8F0A-406F-8BA7-E96C6FFA7C7C}.Release|x86.Build.0 = Release|Any CPU - {CD5FC6A4-843C-4C0D-9941-91DFA5723EA1}.Debug|Any CPU.ActiveCfg = Release|Any CPU - {CD5FC6A4-843C-4C0D-9941-91DFA5723EA1}.Debug|Any CPU.Build.0 = Release|Any CPU - {CD5FC6A4-843C-4C0D-9941-91DFA5723EA1}.Debug|x64.ActiveCfg = Release|Any CPU - {CD5FC6A4-843C-4C0D-9941-91DFA5723EA1}.Debug|x64.Build.0 = Release|Any CPU - {CD5FC6A4-843C-4C0D-9941-91DFA5723EA1}.Debug|x86.ActiveCfg = Release|Any CPU - {CD5FC6A4-843C-4C0D-9941-91DFA5723EA1}.Debug|x86.Build.0 = Release|Any CPU - {CD5FC6A4-843C-4C0D-9941-91DFA5723EA1}.Release|Any CPU.ActiveCfg = Release|Any CPU - {CD5FC6A4-843C-4C0D-9941-91DFA5723EA1}.Release|Any CPU.Build.0 = Release|Any CPU - {CD5FC6A4-843C-4C0D-9941-91DFA5723EA1}.Release|x64.ActiveCfg = Release|Any CPU - {CD5FC6A4-843C-4C0D-9941-91DFA5723EA1}.Release|x64.Build.0 = Release|Any CPU - {CD5FC6A4-843C-4C0D-9941-91DFA5723EA1}.Release|x86.ActiveCfg = Release|Any CPU - {CD5FC6A4-843C-4C0D-9941-91DFA5723EA1}.Release|x86.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -712,6 +700,6 @@ Global {A23E3408-D569-488E-A071-E1B3625C5F09} = {8DA7CBD9-F17E-41B6-90C4-CFF55848A25A} {57B182B8-9014-4C6D-B966-B464DE3127D5} = {8DA7CBD9-F17E-41B6-90C4-CFF55848A25A} {D62D754C-8F0A-406F-8BA7-E96C6FFA7C7C} = {8DA7CBD9-F17E-41B6-90C4-CFF55848A25A} - {CD5FC6A4-843C-4C0D-9941-91DFA5723EA1} = {B9AB7A3D-4F63-48D2-86C0-70F52F6509AB} + {97DD9467-B011-4736-AAC4-2C21BF554349} = {B9AB7A3D-4F63-48D2-86C0-70F52F6509AB} EndGlobalSection EndGlobal From 5134e9b5271584fae1f4aed1878e0b6bf4dbdf03 Mon Sep 17 00:00:00 2001 From: Sarabjot Singh Date: Thu, 29 Dec 2016 16:20:45 +0530 Subject: [PATCH 3/3] Changes as per discussion with Arun. - Removed the runnerlocation, adapter and testhost configs. --- ...Studio.TestPlatform.MSTest.TestAdapter.dll | Bin 109920 -> 0 bytes ...TestAdapter.PlatformServices.Interface.dll | Bin 24512 -> 0 bytes ...latform.MSTestAdapter.PlatformServices.dll | Bin 26520 -> 0 bytes ....TestPlatform.TestFramework.Extensions.dll | Bin 22400 -> 0 bytes ...isualStudio.TestPlatform.TestFramework.dll | Bin 63824 -> 0 bytes .../Microsoft.TestPlatform.Protocol.csproj | 5 +- .../Program.cs | 38 ++++++----- .../Properties/launchSettings.json | 3 +- .../RunnerProcessManager.cs | 13 +--- .../testhost.exe.config | 60 ------------------ .../testhost.x86.exe.config | 56 ---------------- 11 files changed, 26 insertions(+), 149 deletions(-) delete mode 100644 dogfood/Microsoft.TestPlatform.Protocol/Adapter/NetCore/Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.dll delete mode 100644 dogfood/Microsoft.TestPlatform.Protocol/Adapter/NetCore/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.Interface.dll delete mode 100644 dogfood/Microsoft.TestPlatform.Protocol/Adapter/NetCore/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.dll delete mode 100644 dogfood/Microsoft.TestPlatform.Protocol/Adapter/NetCore/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.dll delete mode 100644 dogfood/Microsoft.TestPlatform.Protocol/Adapter/NetCore/Microsoft.VisualStudio.TestPlatform.TestFramework.dll delete mode 100644 dogfood/Microsoft.TestPlatform.Protocol/testhost.exe.config delete mode 100644 dogfood/Microsoft.TestPlatform.Protocol/testhost.x86.exe.config diff --git a/dogfood/Microsoft.TestPlatform.Protocol/Adapter/NetCore/Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.dll b/dogfood/Microsoft.TestPlatform.Protocol/Adapter/NetCore/Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.dll deleted file mode 100644 index 67cf5ac208ba387bfdb8ab2874c655aba2deef0b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 109920 zcmbrn2Yggj+CP47nL9IgCLxoV%uGT{APJW#389B3y@M1RDhP@NMJ{GQkq}Ho5fxAr z3wE)hB6h{HqF`H5ao4i!V#K-@+}LcA35oA4B(faAK^dgy4`~PvVVyvrxF#A-90V!h^{g9}CZO8X(rKK~PtpQ)>py z@89eWLbyGw*nCb4qQ0x&qE!Ro-3+wNEj&=BoLG!HXzX14k4r4mFC=ovr426O-uvZ>uS zk|6v%btj@o4osP>H0sW$IC@wzr=>eZNNTLS3Te6h!gOfA_fz|wfGjH-iQ+(X(&a8; zWhMc=T+ei*EFsv`9rSd|Fg?G!xz6B{>2Fn+H#1Y9`JFfg%!273lRaAuIq1?iA#W zlrbkpqGlL%8^~^;Co7SP_&|-w2;`yD$&5Gx1bl)-aAc6GuBg+Q#7RFr12%zPAwA{O z*^#96XhO!^smMNq0n~P;Q2=LUJKex;TP|9SmCm!=E_lkem~X`DZh?B-MPqQ^BwrWj zK|abG%9K(z;zdJ!nY!FC0Q<9uhPX6LTg?R>FCh zuwWxUk8t3#t-7IxSj+_Xc(5lF)@>JiTf5kI+r?Ix?a4j8UF>b`Vqa(%Yk1m|ThlIf zLA%)N+r>WDE>^SJ%dMha>>=%9XSa*p+Aj9*?P6=Z?dfo0yV#f7#rE;FC*g#4vDdeY z{d2q6uKxDqE@&6Ksa@>r?P9%ldva^r#V%+UyP;j|qwQk<*)Fy^(4G!wwTs=}F7}Id zv3-K=$(`LUc0;?^XWGSn-7dB$uf5#HwTnHgUFvx)IWV#M$!slQ^3 z661r!`04LU#Mo}ueNT+F1(1lrr6YUTj=#(r^9f80!BclJF<$taSr-%I^~CrdF~T)V ziNDgZ1dKdR8vUu6s5 zX_Ai+R-zJf#LPkx+r`M7PS0+JnOQ`UBUYAinqXz74&zouBY`xS@v}-d%t*vJ7nB6W zJvs4+N8*py&3w~wAq+E$)ik<#95fT2Q(&qfrym@_oT6tI!4ZgzM5E3c;=WAH)(qz& zl3_Y)rKt7vKn9l*6C|Miq)3hcftiLxa0G}{7Qqo9FwK!19BGyrd3gGi3e;&Kbc)4L ze>wEOT;`3XBNbzl%KKWCcU4vpMkSwuGCoI&-Fovao) zk5XnluRHnv ze-7djLOhIswm4*7G8>a~AhY+$s?8A~FprW(

b{vIvd<(Lame2oRVj$|M{C0;^n! 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

biTaXBj0I@QQ;0O@sWDy*B zpk;%8JT$-t{X}};{={T@dYmx~dKy+|Q#DcqVzSSsEP*2+oSQ{(1c+5x1V?a!GXXNA z2Mv;PUY5p@-nv5#oIMW~g%10v!7xt?fL35*E#^!D8xJ@v}J|l*6 zDY%yof)khH-RY>)fz+m%Z_i*5_((2?(YBTj0U9-o8DnNBat&IkepX&IjC(--ka^8g zN_86rw6n05A}MSid0ezY?2}=`0gHU>UiJQyk1j5#dtExeJ6?;tGiZx8?$N|}n+~VH z=m^+4odQi$bg}<9L;}snAvTL+hg;N{FjE+T>s#nywu_P6MsK3#?xL0`{u;%x5kzt7 zC^SylSQt^|xu{>;h3V~mIj=RVdj>_KQ;nDev!MNV5T~!mwpS0Ijl*&w-sqvNk2$1H zH0Vtwbg$*iCVfj|L5d$s@rX34*Wd#xE6$rJ%`@^W-H$gi!J#{}rQ;lpfcI16v3e>h zpX%JoigCK67gMw!QK!uzZ{(oiI}R_ABBNuFb|3A(V4gv@$g2+#BSxVs>xeIIlvgan zy#fMDH~LNhz7g;ks1SgOK$XE~18H@leFChMowAx3Gdyx23`TvtxqEdYdR%HmRJ*YjP6uwL&(Ad;>61h})e%UOr>8RR8G^xo33_ZDd_*?h3S>xo9epMZ^Ug!T8#_;Dfi?FA~5VWnC zYl@sZ3)Gt@PZgJEZ9wz(VXbv7P^MH*RX_sV=_qpwM_t?$2!j(7_8l`oh}q3E+o{J> zp?bClwbbK(U2&LfX7^EX-+7Rjp4F9n^dY(RbrAVPTzC-dKOdfZ2v)&%39>!a0r!dR z>7+KW!n8$1ZODkhLFZbImN#l&K^KvzI6SM%Bft-bE}3223iO6M;ZL#bxq}{&hTHLo z1Tt`IxLkNRLd?vc183$4#C`6O2;FX&9La&tg+Is5A{tnhTlJJSfqOP^hjz1F*$l@G z?}m%FJE0*BN-h3E`c2gh*c(@L<@r!8J>{z1HnFj4|hBD79JKhD+u;UiWoAaT8rBLU5V8j>5 zi1Q%aISDcT9EVqCCfkgT8$KNewv~@OLYWtp{ClMQyMIIeOaDjt)1g1AB$WB1l7F9+ zzm*pHCQ6hnQPB$D;~plIfg45$sswGW+~2?nH`A)Y)ARHUs+d8XOiBk=1KYH)iG*~oP23X1Bt z-9%wu(SzDJ<$W0P9>;mpcWiXN%Exm{Y?|US*(=n=K7%@Tb9Hkv_cH4wsFhus<>si~ zV~D_Mkv-{${qH2@M|WN@Poi%j;hrANS@8vhPI$n>${pJ>+(C@>>1ai-anYP}woLor z9#aNYhkb^NR2qC!p(CX&kfPS7f5npi9hPR@JsGLfX(=sTp}VIL+*wI2Qd03Qk};QV zQK{T%FK9T*FoDXj=Twx6r^Qj8KV#Pym#6$xh=UqZ(p40cWht@If-IWkElN9j&;&Jc zm+mY{7Xml8-5h)BXY6|juTnLg=Q3LPhs zj@Vnnw8CCWImmCKECh&8Fwt;J@AR7d9t9@0A)Vi-;&b+;!)fYH0lut68<=+5h$g*= zyOdhzx3zwgGuFZx(B-9ruh5Q`o(C0zI^TE2c|N`G#P_zX3NO9!wF6*<kd0irn1$=qhfL7ptXV= z04mdVK%%o0-YdYwCh?W-qB`tUAKk?zJG_sulNvvqOUu|@Hv}>;1(Tookew@YCU}=) zJiwzqvxe|yE~=q#sH_=ZwF zo~aMyGi_tC3Y{^UL~|F;^c5`3+dKMk{Zjg^4r0>L(l62;-@DKSd(t6(XGeXgWYBIP zb;=VR{a6&Pav=OMoC=(P9q`u8LFxFjFR7F1S|F|CM&mvn?PNm&G1b+9MJk%|>$I0| z2a_d=wxX5hm9)I z*rUg6gxWf)h`uq$dr)hTT)sI?=ZQD8K)T^^E=R#p;n;5WI8DeOm%_WfYqV)l^OB{0-t(j-FE2jA9y(~I z{DB~AsCSG0lKXCvR4|AcPp*QpzQ>DH%R55`uR$^PvJKkmyQ@Wesh-DKCDnCu?ihRm zCiV70H&ELaL>3{C?BeAj;0s%{dg8+v(>)LDDKnPW9F;Fhr2on@9`%kyG=UQ|sqZl& zaelUadITm^Vn(}l)~YWJqVQ8Nrp5j1dZd~8AJXKTk?A>g-TimUm~91?3!iJds}Tf} z-7$r`0I_xo>B~2L(^1flU|9o}^c(UW1x$BZ?n2A+LX3O5I7alkSl)%ExnfV~jvj=$ z;)U>GxpPHExEDfT?o=@WerY$qDC&~6n@Q_Xyx9jiM(du8JfcZ;$wl#agrSFg1aHA4 zaBZ7ChJ|m2(fl60+Da85mSsH+IpTiR?K(Qn{qbx!qK)0BTOghG7;zka5kjt$Bcaa` zQXg!1sv!#o#Cv$}aNoj?kb5z>gUPthU5m&P;>+{;-E{!m^$667-2OHnlXEWtCEIqo ziE=gPqw(rwtFX&D=T)tDmejnGJVZ+w+s8RmzR100V z5>6#p6LmQP`SWY0vjMs}J&1_USj5Vn96Z zWmHg_8+Aci*b{Z@z`iJrJYE1VZ_is9I565IqkO1+90lGE@?B=yROUT>!0S+Y8s8hq z3LB9mH{C#_n}u}79t^3u`oVTmHN1jzu!u%hFRMsw?iD2EO3Hnr-g>5^3O=ms!OW}B zx58+66m2{4FP*PkI4GBu?v75({t>SvsF*Yy+m?-zz>X@pB#FO0*-dw^0%&mP;((bw zvn~&RO8^!KJ^i<6qEN4lq77Q2KojCW&9KyZAR+`7y?YJo0Ee681Jv^M`#=Ty3bpEd~EIVH-CTNOU+rZ*}n~Ve=>v z@?+c7AM%HM*f;&NDxgK5bAZwhS2IFgUJb4eUgjJ^Gg*mqP6-W_6+GbZt-JOwsY`2 zPUQPr9TKk5KoC39d*Mj+gV9z;TIi9!D&$Gv%u@QnZsLe#t^RZ^^u-iL-JOw@h#|O* z&NT1_ljD6nYW@G#wySbe_vN~&Hi}9;%fw+zrN5r2XRe0|4dn6VDH`2NwZuN?jx}G1 zJ)}(^{#3_fF1!aWFJapaFU4Vs%(p9O9yag>B%v+!um^7)s(C{g*J?b5iv~;Iq`Vam zT-n4&IC0yP-72m(@WspAXkgR1V|B$0FD>JR>XnPm~=>(zQ>EdW=Z*<=YyJhqZ)==gqXoNFy z_hvj-J`U^fr8KNia4Bss%8}U&LPaA{=*xad_ZGnKJOP2ZE6~StRHA)hbx|Z|#6PrS zn^_GT$xbblvrepdT4tS;T=zQg5^57Q=t+6;>NXu)$y7WWPRc6C$>A#GkX;35yK{~` zdcW#*Z-b05K4M_GwqAu@Y9H`TC_O+;Omtycm85IBod~ok2Bgr%sU1 zU^Fi|%?Afz%0j@jErn3-i5!cWb0H|~p$0?q$8;fL5%*3+Y3{iN&q}zHJU{u8yOMcc zgOf>ue8Y~v+1VAk&82$72!K&31MP6ANwtVeWhU+_Qhm`&D0KfH0~EFK=TX=5kjBG} ze7eyxlu6^shQ11IEa#i9mU|az*;N*8Jc^bzZT1$!-Jma*5~@I6c@bKO<=#W7ypg~= zGm$Coad;ebJ1g+cXn?t|GT(^G%6ejI`9A4>b2TCbQb8lL6;J101eMK2d7f$Ny;Euq z$mRg-;h82cU2ziu4$fMHP0uuCdPe88lYyODv!YIZj+q79*Iivz;GocwaF!73?ppbTw_hPOj8 z+0cfgfZ`TWx>FRP(ZRCa#GFR4urV7yAg-gf%=k5$rzsm>rwt%}x*Jjp3CB|#Z$RC- zy%FF=e@u+!%YG5;RBS_oSV|bfL!&=V_jp<&k4ReXwCVWzS+}(GvA^?uTxuLG->@`YimEt;;88DOg4l7U?c{Zdj($bmqH$ckaTASYzL6S6rWql z;{cK-9XF;O*{LuGX&G5^FWcG}OH@CVNuMA&{gj+1DTn_cA)v0h;PcIfgYnhMCcqN8 z-7JIn5P6#{DHr($Bdu)=yoE1ly_>bwQy^#lfWUU2Mi@x;^13?^L0{>D2e-O*FB+%3 zxJdL2SX5Vdu}xQSp9Lk2{V&ViiCA880CswJk-+B=&@w2E;m6ZF7=sZ;cFZIY=|mCC zh}f5ycNar0(U@nic(D@hjxgj&9|JKDKG5P^HuRmI^$1=op zUW5c}hrWadZIf5gXlylZq~^nGUkv@?6!IS!tucfc4V;Px6`B>ee?&qYjbXBobMp^k z;JB>DD@jZj!+jY{z`+GsjaL({zv1qtj5Dtgr5hH~Sk%hMYZN(NufKt``zx~0`6Dcb zi`6JTLYYB3u^Mkwf`f!Z2LA$IVj{j%kHk2fkggx+7u}4QgI#JXF(>O%ZbeGI+{XR_ zis*dbkhfx`pEl^*24Vrq4A*=o*!B85NS9fVgRg_$jyUqt>+fRH79yQYSpanpqwXfu zDTG?C*WbsetsLIVA;w+PS)fupz^MBPbt<7wY8h4@B#N^K1!{O0QPPd}wn(?5NVj@o zu&u5?Rhd?-k1goSU9Up~zT73(Mj@ex<(Vp_+lh3iwxq*7qI_>`@G2mq_B$wp(2E*4 z$NEP|m-P^YRS|C{H9SU|bp46x$z$|-g5~bgLbNfg^{Sy{I>M)9e!f@An;_WH4og}a zBsRGl9wLb`7Kl^)bXK?$T?+4>zFL+BAKs$uqBa!|O+((ZDF6yOKmNEZ-=Y@fi8qB8 zPgq4vrTPEvpxp3TRjfhm6 zTN=nVJokQ+>Z&U97d#qiDMf7%#>aeoUyr&fK z$c6M(asKJ3f+M?b4)|%|@PpQe-qoVq$(IemAJ%mO%RGS^6?uq5OMZvX#uGN6?~L%f z{h#3J!`}@2fy6xY?0`S4CV3Ccz*C5?dJrBRPE?hq2V3HhG72Ylqi|4{y|rQS0yZ)% zv4g4Sb{Uei#4V*1p2uNLH;Ug;M&UagZs&(_568cl0V0Z=s}xqAanof0Y;to+GuN2GYxce@YT& zFx&9O-b*KrV|-K$uO5=@Fa9y{meAN%(&qX4Y&rqvA}YI#QdO6ygKc z9P+!6wtwtGt!~)BP9rQaps3S`sCXnvn$H4%H*r{sYN{vOe3Efbk18>XEwH7Wtm>;E zdk#asy~V&Hvfg_=Iz#45Y~e#;+o-r`IJLleLn1@EiBq9Tp_q!eB~C@Xl!#CPJ>Rifiz}A+pgG90`@#v_dL86f32TG}SwssnloGKQf z)Puw*#>c=jRU8IPRE$UcjujItn}>}R&6AslSt1NujTJZd4B{|il+iqFhB&vD>hvlv z<-3h*=T8U=MXZX-)r)gHh1zkZ1y$!jJ~9dQHFG{iooIRpi?W z#Jvi#K`#&w)Dq1D-$&5-Jqhx`u@Y1#_GL61Dm5$7C!B-QPAE}f%u@`^;I9i4s$iqW%KZl4w-`6%cn8)h=LX|G(thREr4|Mhs+v5oM$m@ z*9Zx%U|M0nStG8{)(EWm!1?XKE|ag&E)v)c0W_*#m&sG`?)!BN{V;%_i^WY0O#$Z= zd}jiCap3I6&}I0xn*q)GzyedS$A6b*lof~Zrf+=DP_5_I&3t&KZix(MsmZ7cU zj|>?s<$kf7p(9z(2gR#7xo^jp>dM4*-jhU`*y=qM-*|f^_C}~o%%DJgGQyvt$fREj^w;VT^a5KeDAw=!%@Z`{D)QVzFs z_%esLA`FQq3O$9II4pu z3Cj__G3@;ir8)=r!P|0pV$-a7bdcZ&%?Ez(*-)>8MXkv`PuZeYNFY$Ytnx@$InE z4u*JIL7DIb%@p4#==$<)SQV}*6Zn0sJuvG1uqnP`XqA{U_{*?Q6n7)qYRJ@ZB3s7L zDh2hGka%F!4`IJ(WN4=m4cn1CF}ypaTO}3@jYdLZcsW5E;`z1RBM~u|At^H=8X5Xn z+cK&LXu%5NBxqnHCh8Qlw-P=;oX5~=-ywa*MM}h4hR*XH)n_uGD;R3>UD?B@OkTKxMNGI{3f`S7y+)K_aduQ>5r1{PXSA+H~ zLruPo;Wq-E#X&{eShNkdBrIIZ5TeOc0P#HrXYwJA6>D}9CRxSpsbXx{hi*hkaK|2P$5hxdv z6(p=`d~4<~hMIhxtTzG`Vz#7lZB~jU3|%R<4?8T*i8!Pr ze$VHI~A^tFO6W+{GF?sDJ4zC`P)pf#fj>ZhP*ClEAALGN}YXr6*@ z8%xkx3i`$(Xq|%kaJpL*ly-==T|pi433^RIUw8=mNI~~8=Z^{+#=3-PD-2%w0;cs) zP$|=fD(Iq)BxR<8iWyp00qseCE64P4dS{zK|x1w zy0aD3%+MtYN;7nuf@ZMgpHR?oocrqviZSQk6|{is{U-%!5z0N1COxI6g+19PH*pWI z7TBJ^?_)pp;%YHXLDY+@#WDp^FRm6hDTsP;wRlcJ)QhXdZUs>Z#SDyMm}s_ZCS7QJ?N3`Z9F6ufFi_k$z&Lg4Prs05pRk@|a&m`inU&(D#vn;?x#M z$8EtgTcBXkFmZ{5d?zI0MI*&k3^n;05}g6vq-dwayW@QLPDNW1cL3clX~?et?}j|p z0#y}_5$~&XJqowsPTyxL-QYs3W5w5sc51~otP_7!v=tQvfXrTGiPgTp_nM$h5r$nR(|PttsI zkl)eR#UaksKB|>tM4h5htsEohe|;iaMPwUpQms<7{*eMeYZZ-ZWwzL;XjCh+#r2Bz zQKExyj<`+HzDgX_=ZJe1ZP|ovxXtp2qOF-w0O)B&%M93t75WQ`cK(0@KzkJJ^UyXi zPy9vEeh3u+dQZ`)6&x=y+Iy=D2R70ed_hMIiT3g!!R z7cTqANfWdaMJI+<`DRY?;Ow_T(Y_v1u6>diC?Rp^*wIBNiw|j8jaBu< z@xzKv6J4->1$&}aW*40<2204dtKfv9MPd{~O};-D%my@B(O!Z-am8T@dJ}U7SIkxr zwUEW)L%z*d-zHQ>RJRnc|y% z*|NV8I8*!`drZ`_hECjumBBX(qIy3|XagjTYWghEi=kcOAKf)Ta~b+rOLQh^F+)uv z(fN(QS>inG>`Lom<}I$0kZShLwt>T|J@~pk;?hs9@Nj z=tl7(L#u>;)Y#~iV%Kn@T`nF;%!*zs=8uq2yzpD|I`N`{LXmmV>&3#6l6F<%l;{oO zY6V?tF4b-p-!Zhocekf5y1C6PZ?l*(iqft2{hYtG!)AV|6aK~5sY5+DH!9lPf~_5H z5!W%a%D23rK6;Dzo1z`=t;SB!2a0y4_l>}<;((&vns%+*#5aoeV)}FMZQ>_Io8O^Y z+%6)cId`$A`?=BE#ZhA& zrD!usuCum^a};fEi6gd(HHubSduQ}sajBwBsJ$1^CPiB^^d2HybK1xMWst@a%c zyF4hOina=Nc~Ep!w5=Vsc6dniP_$jBhlj*GMI)O%ES4$gCglFGXjGirk^95qaYf5R zjXffsRkZG?u}8$e747P7uS6de=6KSq$@fIJzW~Z(Xtl2yw8un|q8$Y7F;OaM;wjY8 zb}@berCTkQqmCXI=0t+zSoOHLPC{aE;=}0U;yVRB+WX7sQzAZzIYqGdchNtH84Quf z6tNv*nWA0VEibl9ESn-ZD?$Vn94et>$A$q-n8py&X*g3nq6O+4drmYmwA$BaPiN~u)#9kCPDd@-e_}EJ#K7%-$ z#9h_XVlRvRGbQxW#G_-ch_#1F=!@zTVy}u150}s>`KQHR6T^>?(BC?o7JFS>r=V3G zmd5@p&O1`l!lAXXy<(SwUg^9kwoiPcpgy5nW6k2yqa7vtZIeJ=JNL+Msw{_|n% z3$g!Lf||rdy*>lf3)hy}pAGsU_D|8s&?+B|_FsxM3Zl{eOR<5W)jsn2Ux`hMMx*^# zVzYv14ES2yr63yZzZMTF=wCyNeBX#C6l4s0*Z!u>s{C8AOVUsVJN~WslA+bUt7=Q) zKZqX`bWv?t{6~R_34YkqL4WvB*bLEFTp#^Wgca?s2@|w`i;jx+$OMo0wiI}cvorJbJL&2RSN1@y|u&7;zkK+XASKg|5-ewpq)bp#f8@E zI4bS)T2ax+xTfuAs7V}CIWn$m*UcqblQ=asF>Yu(=1Hiw;PAMm-Fdu({**sE?$ho$ zK|-HToE^8dqvlKKioz4)LG42YeLrDjJWtzoBGIU2T^`8S{=(4nf_A<-XsMHk_Pn^d z^9z9v+S(SV0Pk!ZXn}SILfWw>6Xz}-?IYTg3~dl4BNxVtv=13-5*hu4KvereK|!Mc zXF2~;&`-wh0E&AGNof+(OzcEyHba+-ePc55PFksg4#P;$*OoajjoPTy2!*8@p7%xsS?s4r9vC0pn1`Y zM3o7gv2u=Zi}b1yA^cr&`Le6eZtTN zF|hl6@hUBM|Exx%uc?tPM>x;KYqYti6ZE`xp7m zj?(Qko*g-`_)zUI1${YkMDa9jt%CYZnNmDm+r!WX@%qqN#WS=I6z%Pi^NVL{Uo&*M zSTppD;={BWzR|KlJYL>Ve57`af*L#*6wlJ;GSnn?4qab-w07$fsrB~G*A*YD;hhfr zR*CJMZ!eys{hJ|b^Vk*E3eJ?YdnesjJXiCbC84=PpDjLKD_DTwdY+@Dnk4OCdYOKXHi{vsbz>XO zMs1qnv_+ZTs9lu9+0=%!NxM>UP8Ua%G-)^FaGu+S^V}BBCUBms-KEl4WL>$UhQD(!pP z!im*@zGJ9KTy798avszC*7&U@>$Of2(n`kU(iV>&0nTzoJ9glM;5=DDFAh8sG?yV+ zE9={oZ@orePosX@P5c4r=;p-h_;f+|ZMFWIJzdhbGR-3IA*U&!A^p{1?5c6x8ND;`gaf_NBCxi!LaY#v#7h%Dtv| z0^y6fcaVKdwvR_~p3bdTwg(xfP#2>|kR_LMsk^amzf}uAAYToq+mz}|?9&+H)~S@s z)n%l4-8iEDR@(nJyv#9MUL85UHh^*|U_JA=yfQunJJ>o-x=AZaW#T>narT5Y=sp02 zvL{NJvW3(|DHXMFO)TPaNj$}6NpTl~C9fzZjEryP_y>$9j3FNDL^+0#qesjI)e;+- zN9On@^T>Rq1j1zXk#UKaxy!Oh{?@p`r8dPC-6^ds9fdmX6|_ow3$=;68R&`GR`FC$ z{I_aB>e&x=GsH8sR2HgD4_op-)#?3XC`TEd#@3dhY+XaxhXi3~O>AW^v~uk4#U)ir zxRG0UuFeKV3LSS6NYCfEZ_3`era5IXp7eZ)0@S+AHXZ znvgn^G<<2TrF0mDxmDj&Lp-#fuXA74gp^D=w8dY+oHE3fI#8cy%zh3Z}E#vs#6_HB%v1ay5DYn}Om_KMj`YXv#c-%BYsAIN3K0&6M zjrwYfk^MsUAWEC%lya!o8{BtH+|r@eow8hS2xZBJw=stNh9>ek-hjTAtuI+q$1r{w#yHF_@Q%`n&}$QJqu!6({0{CO zzK46MBea+}8+Y^`)&}Ed>R|CLo)(^8;yFU|3tBma5PI-G0#UpSp^e*oboy1x;Rp^V za5$Yqe4P)}c^od_@C**m=CFyw3pw0?5Th-^B4|bN?Tmkh!`B(pQzL1!INXb{Bj%{Y zsp-DjGL(nTBsLj@*^AH-O*)-Ryl2onHYhF`KLqhw%v9eqF2M{nBK|&biuly{J7%Pv z_^C}mA7}JEiBi|0Y7~f!^c#7lYA``wAaSAu_o=KT`%jic$Pji&BL)4h0 z;d^5Cu)pEl)K~k7s5Pz0|G+6G<#ibA(4;M@?yY?)_JnJ-W5u20CunDD{=__-coEM+ z<|#89rYr^i5p%g#ru_wHq-EL=oS%Iu_>4sRpPp;AFZFYaHfXcVBdV{_zBe{bx<#uo z#>Td2J-;3}yy%=)#>hB?5ASh1ZuJATdgZTMcjZP=3H9DPh*64IfTBFl> zXpO!k?lEfg5%D0xG{O=3A0~$pQj4n5-x?e>){4tK31C(O|D|?5?#^uFnwkKfp~l(T zl!`INbdFEZ$B&w5T*v%1h|e)@<#-v&yV5ArNQY0&^SWPP+#{yq`2QYJ)qMys_l&&F z_|jYvx!c&H?T!}+%|or_dvjm-8RLHKk?t=dyv*~WakJK?|7%8>xqV95@OwV){-*K0 z`2~2k@R?hacISZJ+WlInGw~-7KE$o}N!DQ($2Vy97JlQ zEx*=m8hySe!knErtTjWEpZ1gi{}0bDNb6vgYnP1gZUteDgi+3G(l51ZP$Oj;ouAj} zr^E+aoAiTuBdi+zO`L6(Y44-m*64IfUZc}__$Iw@>~t#y`S7B;ADEOjpdw)u>t>Z} zy@YxM-t$&`DR_?THADcDe>UQzVVQYV#RQFb&<8!U#$04=63cL2)mQubz=y0M&}|5M zhgtp{;^b%gaxP!$FNU@uPC9Ql_F%90OT8YaQ?;n&0yR(N^?76qsYWpW^-0JbTC)-dgjN zL+TOFbYJh?t~E{E;ypvVa?}e5e;og+cY<+gxA(lo>>G=Xw^N@ZeoFi+a5l!jLwpH` ze@MAju`vy2z{SQ@I0Yy+XurSMpnC(w23fn^n$hfVSy%X!rpWdA13E$^)z%lV$i7Cui~Giil?v{uq2bP7{!%$Z2xtvIdOu7zbwmF@_TB`(t>W4rzxT@fBFA!8;v@>$ zL*hu@9g<+jc7h>x7CQ+`s3S|VEh0-sk`oN1$YE(|2{del&{DIc5OxZ*@Y=LV38idp zSwc(M61E0tp(#+Hh4TBJGk5O2vSe_1@BQBUfBwHLM>A(;&YU@O=FFM7bLY}blzsF9 zr7(lW-PE-E3;WbF(smck#2oi0%yFb4>+)8s--P~*Mymq|zvxUyDeBYJ>W^Rn_A4|J zA58yl#zlGi719>cgkR@i1o?!#(Rq4;;-glCu z+qOOZko}tUbB>{2Al}k6n%6dPT|S1_@HuNAxSEUEXYFxy1)tdJv5)#>h$wA=n%Q&C$s_j-hBfKX4JZSIv zEcwFp=jVKwHZ|?4qwXyTsIzK+Suj=I51W6n7C&*3@@KShdgc`zz5+ZSPMeTkp8hI$ zI}sXaS6s@?qwF{-{{Y|$YY>15Q&M#U*ruGQ(RZ;eAKkK8<%Jl{tX*3{Pa(%J@^21;Be5vq@Qwa8y|d zcs9fHl+&ivab5Lz3+c+jjmouvUfdE><@DkWpOYANFzjKt#Tn;3gA8xPyI)n#y&T@h z6b>r)g2EvV+ti1Y0cV{`lsyc+>f_3#POth5)xwzT8SZ0vh+&iV0@}Dyqf!A5$2mO6 zFm5CKAj7>34>H`CMtE;pE?}I)=W+N(h6fp=q*ET1p_AcMhP4dq7#~WOhv5Lj>lyB2c!;5zLwTkOm`ma78SZ0Pm&X(ss`;Fg zVI4yc!vTiZGu+4U5JS~Y`3DM^Cc}LU4>43nF*SyD3^y|LFpM)CU^vKdFGFV`m8xa9 zkzt(SAj7>34>D97oRi^3hH-|243#2Ebuz4FxRIeUn(+*48E#}4XE?}kFT;Zjl`)*3 zVJ*Xr4C4$38SZ6xkfAb`^E0evxRGI;;UL4k3=c9?#&LdzgADgFJjhTPS+8E#}4 zXE?}kFT;Zjl?j}mVJ*Xr4C4&<9!04K8P-mu@J5DlhJy@iCo`U5oZ%qD+9`}@7-u-h za4*Ay3>7EkaWbrBxRK#rh6focQ#p@-M^m_#;YNmWhSO)fL%hwR)HuUIhI<(vWT?z$ zIt*(W4l>-!@E}8F4(DN5%WxyZIK#aR4+=Psavq#V7E+l{VP!srog8*@xR%4U9NsuT z7pZZEgADgFJjhTfp;RZsT80}L#u*MW+{^Hw`+eo7Q})(ST?ZM~E~M~AhH-|24EHh& zDc58EnW#3a8dk*1v^Co0+BMn_v|ZY5+CADKEn@ql?H{&+w3@WPq~)i7kiH<}q>OmR zj*J^Jp3Hb9pPzqe{?7b^`Jdz$*^jqhZNJn0ANIHHAK7gM zGYU>B_*%iw3SKODv*7Oqv}cx%owN+VOhC-8c-tx)J5#y%>%hKM6Rx0HtrXz=_9)!J z>QFW)V{qTfSbAR=^YnO}c%6VVsYhY9o``QyPgcIIIF(DWYjwFYQ~3dQa0W4lUXLe@ z-l9jap3dP*CQ|AohVRu=_-hV= zZ;m4PtD^``C?^tfTz|(7X0)D4u5OCA- z9|FegRO(nR^$jldC#ELK9^lkPO!*f_--evpG=fzNe+=kf_zS={M-#krG+~luQnZBH z{y@#I0qYB?uK6dBOg1h54PbsFarkiwwbVI=!mAfQLwM%4gysJkkHOjnRCec*KLVb= zlydejKZx)v%io+xHp7OUbqzK{gBP8N_-H^4mLVH(EG&l#>yV3ZF)RqZ(U^}g-bh4v z3ZMpmyAa{&fEsRKC_;EPAl(K&2I0AY8g5P)2e<(CMZFODn*T#gbNRw#9VO~{3(B1p#>0i@u|NWf`$TmMAB7X0FwHvVe38Gkk4YFJAR zZ^NtwY=za-uqS;o;9BKWz;$?6L<6=R@FeWo(-(ETfT!Sj0o{(?1-Jn=Rzto`fL~L3 z0Na%?;6~V84P~N$9k9I`N^Sx4;hBPl@@E5f!VYVoaxP#uPD*K@bspg9$_0R%a4Um` z)z(FTJ+Rhv&)9arFs!zQ_16x-D6F>z>wYC*AMPc<6JzYcYpCg3z%y}cg@*cm0Js&l z9q;7>YN+EzgwF@mP}44iF9g(3)6EEf3s6ISyAi$^P(!V^A$$p-hPv-S_&b1_a+z`$ z!j}VT$`yD@p@NTl5WWg)AQjx)i}2Mr>5ZolfSR&X`3b_;0&19T9z^(hKs*D)DhkgP z0X3Y#--GZjKn>^We}VALfSPiPvJc_ifSPhE?%h(s%|i&^j`P!a<_V}Ncj61zxB~!C zQ|?wCMfe^-4d>S%NBCYqO}S5b65;y+HRZ?3ZxQ|ppr$;aJcaOsfEwz42H~FrYN(s; z?AQyaq3+)!{7XQ(`RjRv_XBFE`vru51xVl6ehJ}U18S)I6@(uH)KK>!gr5M^P~U5S zzr)wcG}QMez~_{=kotQ-P5Gnp4#F=0YPe^a?g4oTP{T_7J-~PI%tJ-!2*Q8GX=CiE z0BSgs{2{{c18T|#%0~!)2&gH4$K4?~ccc6hn1AB0hEu_xA^aKsYB<~bIl`aguZBlq z_`?7e1GiVeb^zjer<#s%I-sV&IYKxSP{Zmz8{up~P03Mn5zYnFu-?xH%vTG5u>;~; zgK8ndqX0FfP%T2(0SJqvjzM@dpoZr;;{cCVCjd@^_oiV_U=rZ5>J;Qz1PCjEXFsa4 z1Q1q2orZ8NAgqKs1L38BunFocgc|{28Pqul9}fu2pdN$p34pK+>U@M(0Kzh;3jkYG zH!v#!VHwmiz}0F6;2O0GuvM)AY*UW~T&pey+@c-_c%xbe__SIN_^jHfj#X|_YhanK zvmFOGXsZLf$yN{eLmOGFTWre#Z?!c6-flY)wyhDCqaP#ac4+4zNNY4GcB(z>Hx)cq@N7X^9DV@2Li(fPfBGo8 ze+Q49jX$3joQ!iKLvcAcLogIK8qbd5{SeUqd|FU5i-L*t7U7)1P~1Q8WZ&e3!k-pw z#B<}J`EFoRiS$Mvmz+<$N1T|ixGp*0&3IBgwBBzsJt-AR|Fj@|W^%r_7ZNV9jx$p5 z@-og94bAs>Z8A>0QaYs<@?ZM!VHRokCE2LF%2 z{|wvn*#V>nkoO*KAom09xV%1fLw>8aA%Cike$UFkQW>!KsmB(yYRBT1i#yZ|{LjRH zYLl{PNlkmZyWOQMs*Cv7d4d67Yq&4s^+%U<==kOSSX+Ou1+m22-rf+1_69xu^+8WG z%B6`+DUn&z7i#lIV_cpQL$jArF0QqlLXBtoy?rsiQO3>Kp@mW+ODmYv5Oz``-Ib}b zmZ!uDB#EVp3e`vao|vCo+7#*xvs^fV+Q5M>f2`d|UlEAL)(2wUqFtVjAd31up}yW` zf2=#~W4VapL-;POW)?xTh5|&iE*kasbOigU-jUGdg6J<%6_r{Rj*w&pf>;M->br2% zugBI$0x=o3_64|ZLd=G)0`8P504!@%MLR-Y+#+a!o*SJ!gj#YVM4nW-jvB$3TUpi@@@{l1 zEq%ct^&WyvjiJ6Ce?*V1?(_E%wl(JQZo+SyCrUp}_2FR9?~Mh*Aue)89|lvbzdqd4 z>xuXyj1y#HVUAIU0vp5FBL1t|+qXnKy%g+eZ(kOGc!T|Jg>@_37xcA+V@;uGFKVFC z*w9B;d!i@3;m!UC@}W!0N`=tSM1;P$FGU_|Fcs=-Z?6l5L;XGBz9><5Z7daHC{>!4 zN5Xx*s0*kQ{r%|QKL09DAcAO9Lx7v>iS#2z?I2npS;k#P%A@yuz#pxPwnaPvm<1nX zTuqEBi<-l}zMy}Jvb>&~*|>6_Zf@=M~Rec@7fJEsLos!v4(URqU=(dp$JsLA2 zb~Lv4!;~R<=)<~DKXt!_ zP!iJ1ToDgwZ45Wnc3>80@OK76jFKTDNOEh8M1(1m#-uJtGVizMYw8MxBYLA{n94T> zJ-t!jS7EZk525r)4uh(-ueUcGfyyvm>W?1LtvdH-;4Fxp=PDuArs!~~RDs!rO+p=# zi_1Pvkzrjp0A&(PE(wr1@CSh)nMN&fsstLjWK(j@2)g$9Q(LttA>KPd<`w^Bao9;B+u9ApqVyt!m%An=gS6Y()q$;tKMP&5|l^TL}+ zP81xbN~!ns#`+>K^l}_WlS{AhNBe>?QiT+W>phVW4Z`GNa(E`EH28ai;r<>>*iG;y zQWVvFlcWwIDW%B13Laf3mRye%8OC06Vw>(LCsjfYOeDOeDdh8?nW7k2sE0@06^`^L zr>=?w!f@bIq!8=qqnQ6p>4ha{TI2VI(ZL~j9lgDN{Lsur1)rGisGL%G+sv=I467=5^xvV%S79 zQeT=$=RlXiax9lo)v`#q$09GxvtmpnEeMshy*_j=8MUU)#1@gLEK5gI@QG+c>WSzi zktZgzyc1DU*ojyv=|rq9=0qgPI1ytNaAJy8x``=Lw24@v)GC*@N)t)SB40~X@@q*o z97tV}ExDVbykxatV12?txWQ%xdRxs77NMl|wGuPS^zdq5X%2WJ;b^!sRs z*5?a^ONjWYpeIHXS&1;#bv{@|f22gBTm6yE0qnz+@M60Y9*?pHW{iH}q{3}j8Cl%ZS)klPpJhxTht;=z59p)9Oq{+9Lg+V#FWhde(jMjU+-G1Ig5TTxSk6aWA1TmqjLuXi^bbXLf%3<1TiKQ+`#!4GQV^|O)YZDQ{ zrqE_|FLw@>=(jb_JPZnC7WL$HRL9rfFFO!*WYFvPnmD4v9ll zl%3`aJqNX;)w0xJg-Ae94jS#8!U1dBSJTc@XTa|>QfQUYpNuB;7N(4I3X{db5OjrLujNy)v{z`n$|ec!14;J zPQEDE9GXamsUd<*n2;DUL(`=qb8SM{!VO`>TI@6si-yW2WS8B?S-B;N-XY_A^{rZt zgjmJMq%%cs4xB}DWEI#M{v{?bDMVr-W`y+3Hhn>8i3wie4JINz(o7oM z8H2^Ztnp*b72;^KC+6+8#Nq#7uW4n3cCjt!h*^T9V2mE7A?9Z}cVntzEOvOMGj)3Nt75xJ9IfgRCzn&5R~Vsy!*0=+t8+Pu;|dpob&6DALd-xeorW7Mb?X5 zc8L-qr@@EO%s*6eWyD7hON75$Pl<$OhA2WFkr83-H)6u#aFH1CPuc5(cr>QShYnK17S;DfW8oeXCDr2ifY0X-nRxR0jOLhV$uA|ZgLj3tCMQ~UY(2qYbHRRe z2D9Ie3#q@%k}#2`AdxD)!G8ul?1zmP zzeEqSAuy0Txrrju90-X3rDIMM5wQ#wVGKSiQnuSjOhokRPPjvZ3wc^? z4zX5*l09VFBZZ!EV$#KfD@>Gl5Q!ZmY#y+Vt?b0n0cGuQ-@jKd`RSWY;xna+#T@FGwy++6wDpjWCuAbk#O`KO z2reS5-WPM*77hoaC2~nYnZG91|mZ=pCu9q?g}tcw`zHv~MGG@`Jm(GoU_IPnqg z-9rAevZ^oIEnFHjoJ=1*vm&LSHKh@!1*8!n-QZ0W14EV|5z{FtQRWr?P#1{8(Zxe; z!vWW^7GWt7e;1CDz*F|so$IRW66gOqsJlwBTbBmiOsqZsqjemUrQ{yJ|e>ZZhpZCZw|}dU@HlISXs}n zq)hJV#qt(sQ)o=`^rmmTt?+LKVkDiNf)QU(^dR?-*f=u!a#03lP3}?ff`cbh!yOlH{l@)w}b@)r(8Go7FUoBXzCQPwo08Q=GD|`(UkR& z=E-vbT&WSUYI9F-&`;ZPf@^)SEypLZY04DHIzI2Fc*KvK=8Q93G>i24&GCt~B96RS z;y6HOi4j{vo~`m}CQN4#Z$c_Lzc%jn2vBRhb=%dRydeq z=P^Lph)bb|WV6WJnVQL%n4zc~?cpcBMqU;+%ITX|jEDQnzs)#0;E(8~jG*D;aROGu zQT=?4h(ir6$Iyu%U29MYac0JdF*D{B2P;GqOdZinB_KS;p$4SNH3`>F+p+-?14#u! z>IsM1o3V4S)W4khinMimLZ|p6VWo9bpjTNH?o}{R_{4EeqQuU#Sh4Vt24nG}&*0XT zi$qa7`1rB(EwG_~hH)(N^!D~Ph)kY}lu;@i;XbDAe{qb8x#rp2f}?Ra6c{ZT)}v^hWt;e<^F0}ac!)&i>QUbBQJ6LWf$1;$x|hP5R)fx#X8x51UuPsg^oBiM+_(n5-pPguwdy) zJ**(SJB3!@bz9(ZB8<#3DE4z&J)M40D?eH=x)}xvnojme$NT9hhaLtMJ%qi&-aZ*2 zQ>NqTc%dHLf_)gBcN!9+Q^g8_&1Mo3)Cots6MD8r+AA2*v~OAXmgssvqH@VATP#w= z_6Zb3?xb)BkXvfF*CZ4ZOI(XJFlA^CMBx&7yV(yPE@NUMl+!$0%hE~2bU^_yf_SD8 zbD4}#3UMZ%zVb?m+&QkelNV`N=!&S!%wiS{!v>2qvpe*?FElV_^qYyJ7Md~g1I(Cw zF$#}e*d8F!)OBf5%@vRFzD;hE=wIlGAEB%rG(Bg z1M&~8?>6HUw=X~soq>ldvpIl;fdxgPwYX^9N!GX&eM?w>+G9=hn!cUV9L6yK)IkM= z?L&m74m=g>Tu!(;}A1!Yz&(g62mQ*J|#_9WTgc^NrziS9a7%pNq%Vo)W*K6?gS>(nsjzt zh&>tYO-7AG%@UlLq?4FZrn)?gnNfG&qDo!j8?-zmFrvf(z^GAN-)V||MT2EHCM9yu zDyoQwcG$?KO+O)YefEtiTf~8RBaR-`&y(Y|Jk|kWh1t0z)JP;{9gu5d^st9Y8s2Uq zsxJhq!+U)up0r5!;v^eV6)otfd^yX46Wm7q78J;f$CwrznrVsk3Wrfv1wRhkdbCjy zWfiiRRI|Oo^p%(q5!BaU=s;$S~pAgM~cxBv1RomRVBdXtbb)D6%C*Z?(C7 zX-UI#BAk?`_nUchO5dLMWL6ehB(4`)fu-RdX~;$pO~gu~7| zXJR-ELBV^n=FkaR{1?^$(izKP_Nan`%ic|i8)zfz%@i^h3yrA42a)x?dBdcTt>WE! z3kJGIT>!~ikg+5TvRTr5jl;0IPGgSM;)Io9YgUSRnkne- z!g83rQ+6?Nut>al%{oFJ1D^b`7MTcAtfpkjW`?E^Oj#FZI?-e7{0W<_2Xz66gBkiu z=5ppWCjj~SxtSu~n=VvrZNr=Fk_%&$aTXpwW!!l5RVK5Z;*_BvR5#u zpGd=I8Mcd~3Jz!R#}#>&nC?6c zF`716jl`Cau4Z)|(HM3eVoEdCyxpGQ(ta2d;fyH3uy>Olr26z=E8c@gezS8hPbm8F z7o0B*K|q8Nim2lWkv#g1RSVp8a>9@az2v7dD?2+Wx*jVN@z6(U?S)U2I3AkmNg~NG z1=^5riZrWq;h*z?2be{jj=sDg#pc<4WyFF>v`S{uvOoj^GICPmj~AMbS0i#QWp&T*@+e?@f>ZQM&W>vGVx;WMk&ZeqGE{jQt zzaZOxAu}Y0FR01NkTvU~C8h1{IM~SI;sm^rD#ng62h}sm%TOpT_E91j?fkgYIOYNe z9X&-h6sKRha7s{*B^p^puZ&Y;l%dr*u3H z5E&(gpyZYhHY8a=tZ})Thd++(UCKcc(9IL)mSMt+$pd~9?>QUUD9M{R?lPsps zH}Z6j~Asl6GaBZf36rB;%s#s$bZrZ6oY zWH@35Td}&+bHK8g5pguZOp$MG%FN64{Y5jlmqw~*_-xqAg1XavFTs8V*R@~^ffhDk%)HfSL^}Z~oLEDedhdSO z?L~BzlDQqKZ%zm~aF6NFy@c9Rw@HL72X!-WB)w(u5O6Mxcf@5Fk}_>`gTAxZuY`Ns zc{zyFsuXSt;m9Y(31UP@o+;z1jR;5?VNxR_q8oL29$RldKP<(Oj8GVlOU0YJJnz68 zw#MLySff{`&?g@FbC7-=+$4U{PwK4WL#>*%1K zwRUck!I!x?l8}d;d~_1tdVwzD1Y<%fwTuw@STpJ(Ymo{cOOcoJ>1tpQko{mFaKGJg zXXB<>C+@Zl<9^r(?&tF(wiy4<#{Ga>aqG7e_e$aQ6x<;jHB#J2apFHdp)wsPsbAu^u<%Mv$M%bRq6z zF3s3b>Q3C5iwDHG4_CIJghPU3#XFKZmvM_is7umtqV=W>%o?n1r@T~)QrN7wwgqL* zL`h`|mGFQkKknTPBfJT>5qr=gA8zmU4(#}&N3E&K z)MdCGd5uz!n@JmRcXA`{P_9GlWYAa%Od~EtZv||_-zKF6sjaw$xruWs`4Q0cfIjO6 z-JK9HDAo^!1%C&%7>id;wQzLRwFZ3%)O=78L6X#<92OrZeNB?(|GSCIra zqht_xpWfT%=sO8{gV0gZ3u+^AO?{)3jig*7%KEuB(j;Y8E4YzXIjZ+yD=>+pSUFa5 zTL+$_OrZmm`oaA&@IW*hK#5u;w18SnqXczKlVz!osa9dLnmDh}MrDG`BTAe0QJEw) zNXmK{BqM6{Day*VkX{|Q7|K^Y^F*3TZD~fGF=%cW@+4aq#h528?L(hXPe(CQi4&z} zIC>=80BBe#(O96~-h%Q2 z)G+JIY7m;F%=n^w2DPf>Tx6R<@E-bLb4jyJ?J&7fj!Q1Ligki~67ri!x6EFpv@p+* zIQu~}@$%&IQUiwOtpgWgZl*6f&VF|+k3LSsn523mz>vQ~7C@OQ`KJ=H%~mhOq$yJqN4K2oQgNNSgzyP1`3<|0I=`G% z$-j;2ehT@RDQfPLt&x;uuUIX79pvu&f*EfFR^RA#S&y}U5_)}_$&v6bQ*b>+<}v3q zsk!8_iE+A&{TI`pFf}ztX%E8W z!!|KTJ!ri${P z{Up!%_%AqhA_rlG*Cb1-%`}GOsz>Yv$P%=N(1A3PDS4YTE7INz*-zR~Xu=p-i%=qgSH=mfz=@8h z{7SwPT}*$MpbmAtSeQ9MpOjdr5Oo$AL)!ZBTRNLsM{N6tkKZF_F0u+VWBGX(kA$1(7tlh zB+GKI%fo3>???y4_@?@(TnN9kOGM>(tmdvn&0=ielPLIn%?9jyDs!x}Q5}RzrDLgl zs%%>Q(4LJFf1H-BH29=+tU5((m*|dGvN%%f25C>S;H-iY{Y!3?7@}mFgpQGjX=>$&T!jTebLI=pX?c(kvVOq-CEGBt zxnddB2YSjF(nB)AM7s&CA^lV)5-nKNHwvdp9#{YaNP zze3Y#o}v&9RjXN%R#pz&WC1uaYUJ1=Jtpr;%o?fkl48)v5wooHzsXRD{cWn7I21d< z!otr&`{n5Jp{ywxXA0SnH6}Yu@|?xb3uuO*cF5xiLsS^IH=F1XPr!t0QEcQS`7$NLc2E zgm~y++Efx-0rB%V?v_nO$l7xu~|CZ`9IE44bc zZ$Qo70`_H}(k>BEBKBpUQ|+QTq!~g_&5H)bzqH*d3H6>H@wi5rYwUMb7 zB>zJVjbBfUtpfkle%f~s()wS-qVnnV=B9?J8&=-C!#4J(3kxV@PF2lH2Phmv zK|2Rmr#m&(ZqFce{4@G-4D=(nmNmu^zX*|vG$%f43QTe47)K8wvYiU26)EXX#W8RM zIkU7Pe6i4$fs7eNYEGsqQ7E%5UoFBXRZ)gRnNE!|D|(6wF0zW0oXj*r7SXp4xi-62 zq-HBNyJO&C`=sKmQK~i>-)FOD=74mMYER2i9eo7)iHGTQDIQ;l+!|$@ zj7qnnpk~Wa?b(^Yp-FaoI+H*VijB=oLtwjVXXt3t^JI`%CKZEQwQ$>1JGez2M;qjj zRg{@k%()zG_#5A0w`bWQ&|*6%LO^Yl7m{mBQ&i2K<4i}2eN@&cmNBxE?2EG$l5^p< zIUM*5VV31J+?s)OG%S97E}FruMY|cZ1CrjVQH|q9=?&D=MKdR>89AJs=M+-nc5=~O zX_=~{I9)-19mrLXX}4or1;Uw`X^vvePW)^335wD-21NRnW-k^M9mqySj`#um)2qxc&dhcUOmGZL z#Xr=CpBdZ>RQVh#RX9*6e%#_`l9qwKA*IYlPfUemMSunc6dQtye?l4p#h^MI1L-6q zyC^d-28cN{LZA}^b4)rjB%K+#nbZ?#YmJ(fg=T<{bbGc7JqnRbR-lj?)OQkehO;1! zp{Y2w_2+;A)}w)n9Awa?#a**)K(zlUmihtcms(7M8pzkHjgy8DPw^d4!hyArm<^vJ zg&27_0PTo>ADT5bGsCd~85$|492Jf}6c(s#orfZ2nm%Y~JY$3mG->GA9f`5Yx-xR| zWFBK(g=IaOa?F-X^bER<1ou!xb4cq%q&nZTw!-Ca#SP4 z)WAVLg-M4mK%G7LnJ_+_i}GYn!y#j)){77J*jmyzml3Z=nBBvCvLv$J?|8-=Nhia}upvh&QzXtF|fbRZi-fi`9r zWx_VvA!x@*+zteeXUUy0E;DnIV_-WsX?x)Sbah}m+PobFQSto_C%T7{&!7nGGqMe zj614FjPQXTP!Ob<%>m+K;QDOLnH1_;qpU;}Ii@Dg9MZ;qk{*k`Le}^1-3dBf?gJ$(ZchpI;5nO_}L)!*=G$yl~ zk-PJCEA1G#!!dBrCo`nG}1w|n_&=U(Q#4^*wf7s953i{j^v|T_l3GqH3_rZND1mGK|Ljy;Zz{J z2T7yv04MarO=eZ1SQh*@Oqf8T2xFnXlgMR+MEB4*I7!S`tjc6pwiiP}`8k>C^aBrI z5$qWYG~cnvJ{qkZ=m8}U37K*L3CV~!43&;zSF#vHFjVtFgWTofNyT{}75@X38rUbS z$y+GA?JppA zniPMrSo|K;e_z*s4;O1Fui7%LUkgi+}w^y2cIMA@RjpzQXz@ z+NB9|*bf({*kPUQ-oRuBp@Hlngv7-5hHl9U2PoA+iVBXvie9-^Fa!Y^PF8qv(4)fL zrx}U)fI7Uz3y5N{58WsFjSO4TRz0t<)NpcUNlcYsAZ{%3(>bl1ZW$RwJM;TyU# zG1IebhSZN7taxNlI324XVEPRML8CiUNuycKKAvRBxnM0s6DjXxWr87OG9zr)?hq;S zGILRcTLp-P%)m8J9X4XrP;)^@OBF?Al}8!zz-GFIISL56I>-iUwx!7#c;jjyBXsYFQ!vaR*k6 zb=ssW&LwI7frv1AA^oY`3J7sv0BD#ynkfd@Y2jdxX2@iKEDh&G)l>^1M3F360OJ#N zU~pye;37jGe;`vh6n1i5gcDAV8x~Sx1+X2?R#pKl9>_soF$;iuF8SxIyN_!>x9~vD z!uX&v9Um!=E6Nqv?a$Bv5MR?;=f;=I@riU*$$aV`>-XRJ{9kV@IsevzJ3q^R>+ol% z|M}8y{L{8Mc;1R@E}Q(LWB;`C`2#QRduiv>l|@sv@8m`neG5noY6$ z3G5-TkHDh@o+R)faxAiC6t2)RvS`s$$a)P25%^kL#w2?>P0tm;vgyjskV69LClP@I z1fC-Bd^TCf?Yv^55Uqxgt5+W>cI1J31dvalk3c_xtpo;;vzrJAPdd!#F>?t|)ybks%obwT$9XGMBXVRQ5gsx9d$|k^PK#gMZJFy+n@Yv>n81 zd_NicVOO!V>@gN=_Jmk5mEJ+%i7Y`e2oHcscWZhba8_lghbkY~4p|p#88#~RO@t|c zeK>%Zh)0@qDCw`%d}(0q&NR%?Sdci*aP&F);aKuaX)iGFz&hd=dF8 za_^@*&Y+a(NJ&QuHhl;_$Z!wCeGDIF_$b3C$uo{W1(nLhS}P8Z;{g40Vq$=QddS=n z!gzs_^Y#eT9Ff`S3iz8%`*&C(($)*F6tndJEq>Dkij)tWEMiU>@bO;LufgSh<-0u)r<9CVmCR)kJ3?kM>)n94$Y%EuoG$N+<|6nu_mFg zYl3=4iRJ$H9Rtk}KW3?Bp<2j}_G57%L;yT>>>>yf9YB64c5FGSVM3b3uzWDC7>>{{iRcV|I_fL|d9@0f(dE9LAI!lmS!()f0t?UeHks zdf?uURU_8J)Q(zS!3`jYj>c-0+#d`EUcHTVW>6t4GKBqtfY9)M;*+Uj5%m&PK?}eh zN04aZx0V>t;8h_gy5W4}gVHiD@t5q>C~O172klOc)@il6c_neh;{{0MUhYPvFx^Hx zDC5)tScsxlVnE1x7t4AV2|36@4x%}b%^g~%il{4>X1Nz;Yx@(Zn`-4lRAziM3-l!G>LL7$<#Q z!Co(?!HR$fP<#op)I^ZPs-cf1c2sc|*q%&o6qyfRPH>&FYp8YL;-!2iTS>4@)X*8^ zbW;#wp>*!u3Iw2N7{p@SA}j*HGtcaBy`*otBOB$%f>kG_VebGu5RXC>qE^wEftNJe z6ed>9P`_44e31=kvyb9{9i|!m0V3B3cbLW%IQ)dPCVn?k?4zAe3d zk_?YOn2AB*UytI=N~*~yfnJb)GF)7Uh!zJ}F@rV+61PP}n1%R`2}HuW3yWS9E-H4{ zXoX2$DuQwY5(}79AR8L-_~~ISq-8XO$fKM+W7tjzA5H%(Z8n|}5l{gz2La^S zX5;bBY{gEI>FEHNUkE1s6=1qJOU1IB{!Au^zD*lTH%{WZ72~cP zaeIe~eB^m5%D{G28TiJ??*Y=UR4kGAHALq*#Z@kNKY6jsRa)+%Kjqc@QzK$7SEZ|z z5qf$>X+>GNyUa~F8BZblU*&UmdMc{C~GdpxdAkH6FB^7(80)t$ad zkKbF}SzXoH;VP@Dtn^lwm3wPyYD(Syj?%IYe^rggSL3VjdA)9*58=|XN_SbQ+f`cQ za&=UdmU%mCs$De|Rh`~)zq_i+?W*qdR=TRHs>(Y{LBFij<*zCAdt4QMufN=1UF!C_ zJQe;<)a>GQg3%F4>ieHGxdrVQP2I=aKx&>!;j1iW}# z^-O#))%b2p>3^lHy%ptEUXQn|%G2Sisqt3(I!a5?%+gK>)Ki8I>n!WQPo>veQ(fb( zbXE9Vr5zqmMWx$S-dXPL^t!6b&^2W>9W`YgomJHprJYs2n$pV3N)WCn^Lk5bs{B>H zQopa$@4}}?++H6f-&y6ZDlKR+e{oJF5Mq?oxMI zwX4(TMn{%cLNp)@;I0505LiuVIllVf>8vXEmRDE0{hgharJjz?O0ZH|^%)0#{fr(!WEzl`Mkj3@AjRhD)UNO8rxQdBQd(>aGw5Eo5h>UODg7}59#u# z#rkh)MGc0feY9~^7v6}+r4w8>4U`O($J+ zBcjJF!aLsdjE?&0XC zJAUY@8BWwMZ_X4V$05aOPDT06WAFW(7~O&Y!6a(3sJK0Dp0fwHI7EVhj(JYmJ36s> zPW>A8#UVd`*v>M>_!}IHJF2QY6<+9lOhD|NER%!d>xGUcBL#TTXiN!n5P!uH3o`tHuxXrk;Q{kIq$;$J6j? zJi_l_7vp4XVobz*6w1bEL*AFsVLt)xApVyieK*n;<{*x=uOU2ua`RFC9sC}Lyw8B% zyTG4|-|BQlxfXODLH@Il=0m<)fV&Z8F9yB8BM<$#4gaq|p1VPR2J&x0o~;OD+~WD0 zqO{}x4^aLP@J}QCcGPt{$}Rw%>7a9^T~S!D6R`!5YZyLdf|B%GA&GX_)eZAlV>3t zv0X@K*Am}(u0Zj5bW~05DvCpY!@u@SYFJ6fa?SS@TTz(QLmbt^-KOaERBt|qP_%R; zMH63sz8S@4j_mzs8cz%5_TbPHieLT;bQM(J*ej*(H+L6l<5RwWw;I`utH=n_IqLjgwnItTdU}m+|mEighFxTM1rl{8 z0J9)T;NO3{`DPG1A(;yz=4InU2av^u6XKYtm6PO`rLj|L3Nev4)BdzUzk5KIhG0zj z0P|yIG6&`>$-`?@0MlOz5e{EeYROY5==!2MQ;n-dn0O5ZG23R=W)_n5d>=(-epx+2 z&s0p|)4wRIq`3weQ^$X~Z^G#LRB&)(x1&MD% z1@jeUwj?CG$Xdi|FK$C-gIUTfUi$g6H>(e#n4x%9+QYwGJ%*e>$rh;wxh0*LsKh-4 zVy>jx=?z2qesu*3Ijx1H2@_)nItBA%Q|J$p;P{IuUlV)stkpYRaraDsu2EBa9~WnhI{FH2eM6; z*;2oE{bOX|q5aigy*>`Uyjqa3NM2W}&TZ@VJB?eFozdxJ7>wg{95+|13_)wal>Oj@b*>vxr zb4_@Q6V=X9^Z2s_PF&RN^)FPjkYgbwsPk!OLT8q~_J;3-`J7@40(V$C_3I^_xDqxH z_LZnr`qh>v1_=2=|1V z(#40aNvbjGWbu(MpHtt_a0a5>&r$iM0w=y%#W|yX+K&Nm*!hXkhpg1`bW^C)hpR%l zh@b9dhD2Oj)rowcow#Ds>E){eNhj#4zY=vai>rq}&_TJKTReh5C+mwm7s%lO)YWq{moAO%M)lR)X#}K8}(0t0#UYAJ;flF_-(_XG-LFY zKxm2A&!2!VA!y^SLRaJTxN5LAoW#wR1c`){%h($mQgo4 zaSLsOIq8B#PYmC$EOC-)&}Av@LXYeB8?du5Auc1B>Kgxuh9w+W~?ejZvgQnH) z#5|h_*Kb-S$jRs9Z;PVa`{y|WozDJnpA**+JNu#}JrCXWIN!4cmspcY(fNSVhn%9W z`J`D+$ryc0p+tTA|6;pDn;C2YR8i&e=sDhYNUR9i~O_uu;;Cd4R#mvR03A^IT^trlE$v9K7)nA zq4|m0%1X(}`c#NH&Nn|C3W7ZDsf8>&^wr&kx^gE}Y3)okZljjCsuseS(07Vx8gcr> z*CoyAFS&i#4yI2ynKBX0l5*|wL^i=dZ@~wQ*i@cMm5Lfpb9&?l62G8<^Abh|M)c+| zfObnoGC{C)X z=u%%-Y2{a_iWOt{_J~1VqIPfvFe4Za|6W_Tf-h`{tbD>!!3C~R0S?AFxc{F*Eo*-GrereX=-tw$`G@PWPp{ioAl&C#S z6|Lg#B@fY9TO`r8G}6LYN;Y_i@|++CDIQMyOVo3XGX)rHxZ^zJ+|o^6tnRMsUUG@E zsZ;kNaFM(C);vvlBza*^>x@Cc4h5_}zAWRUTh(z_w-aBi_u+d4y2FUiY(+g?m=@4P zb+Py~IC;0>4!R?qEw$kXO0GKktuv#X7)#VLLpS)lKSl@X6KCpKyUg^cy}T@g#lp-M z!bFWmd3mh`-gJJ!Cw2E^(NI~nIn%PAU!uB9qPPK@y4iz|Uyum!Ns~Uhu$-3;CUwZ3 zKI%yG+fZq@gfa2Zw=?wl2a^~CV2J*|s5?}P96E7}y{WX+cpg<^$sz^8a;P)gi3MB2 zoNg$+TqBu{6+s*`<{|8<`AToUk?=<7mf zeh%!1I?a?h=@$EFNeX(Q$|#J~M8AJ+6GqnQaFfLPk7^~Qq)$=nWBSy!{H+BcYpZ8O z!vaQ&Mn!_}guyCQ7Be)_g9@V-8f+e{ADd^JW189JRS%DO9s-z}&G9W=PVnyZVVwig z*7TA&O8uqzUW4JEk6YcjeO$XI_^1 zo0c=mu6sxOX1i_-E!w6ki+rlGrnRB9pzPF^Bd7kM;ku$r9=obNjPoVfR$aKEZbSQ) zaAebl>J8Bi(TI0Lk0%79=i8tkQ`wNP`Lh8%v|$Z)6ks(se8rO@y}k}&@qf*q_<1A= z@n+SZo>&W= z#KU%S3OwaI9{*1oRF!w}Oi=!L*H(_;I;9o&K(51X{ThUt6uK9_9ltGj{JN5}?n!&^ zU-aq@-n3>Ye~;4%;rX9_%uh$)rvd*}e$qux#>Ks3w3W-(P9bf&LZ#>q8G0-m#RFQp zr$@im3Mn{Qk=6oURq!M(sG$lt>ujgstw#xcwUq1QbBFbugmniYZOFTrtg(RxM^E%L=YrV`ix|MR=x#ZIS zeq9QDEfj7%1>j);e8^xX`4LSy#S7wbkP>qcVPp&F7(KNfPip$}V~7-@;x zl~|TW#Q*#A|5*vdRRvE%mD_Q0_y7I*|DOal(nPCiifh|(tr^*KFFgLjkMh+_ZE)Lh z4M5dus_M>lWoM)xW4CEXr7Nx#89B#fsA=l9DosrrT;f{f8fU>2xUy}kGMILQ7FS$T zE#=Zi4~8EYA2{-p8Gqe>TjtMRee9WeE1yXp+&1Ps*S55WT-$874chQdkXA%$xO3;V zV}E(x9}oPJyJM#--(XBl2Mb%6Biq`vj3RAqtGmcmn1M)EQOV&!v2e&e%4H{H zW>MxEzpn=$gm+JN6%!_>XpG@uI^k{ghQ&8?-BVptDBV^x-b|;Rzxk~(?BhCD)z`Tu zkITm?^0G3Q8z=QkYfeG5%2jDZT?6<2w{Vv4$|cTni_)4`u3F=s<(eU)lSB1^UVJdq z+0fePY;0{=xYWJ0YW}jys%7(+HP)B9XSk+`78R##k^W_O*EaQNtAy2b#kNf?fI_G_ z+BQ{Hez+_;^)cm+ug`wyjiPJIE_$Ro>#`X$?rvf6$68QY4MpZ(8A&;I+krl#q? z8TaGn{^jR4doO+Mz8QHpeXnHh-*5SG-y_9m{`FVN?)xrzWyOP!WPH{;_v1@`H+AxP z1OB}4)!uN$opWc-IpyLLt~=GU;(Kk^-M#4T%Vza{t>v{@9j_j&JmGsE9{TLms+WIz zn)-N7-xHs{{K6mZJFo5Wv(KAz;p$P-mhU^}j3@58>NgwCd2Hvy8gyJN9l98LE|f+alxFFq3;?u?aq z!#xXnHw6g002>QFY@tLK7~M#E$!ZC$EI}66Nf}ufmFak0UQJu!I>B|kjJvc87wHvj z*|H^71$Z7ZJmr|Hi1?k6mgmZmByCw%b-{pyx~R%UXBB6RzVM-6yxV$C!RO;|9IFJ| z9(wwk&i7A$_}Mm67k{@<^wSbzC>FVDRF z+Sh(t{iFJC9`pDc>rZ@c&87`Ku0rj--K($K_v*G^bltXdl=J-2yZ`p-+lQ~-wx;hK z+siMmo_%1#2 zZ0;J@|A*OUy)pQ1+s~>ZM|OVu*)7!@Tkks0_r21u{d|4N_jkQ{_K~;FD&MkWa%{z| zkDU0Y7f(Obf6Ak$IG-xJ_KlBTyYa!Z-tD`3&7}vv`RZ*ynS1-!zcnyt;#0l53kvS- z+;z(Rm+aZ_vyayP?2}P2V}F4eJ7AhIwf3sr@Aj_y*Atm=N)@$sh}2yD|1HL1nro^U z^hX)m0yBq40<}@Z%G9uKn)uzn*r{y(iBq-*csV`S%KbQ(IA5^{=o5N8={N7}{7c%xsaO1P{fo92=KX5o=f~9C za@sG}{_CZtSK89AxUKA!o3^@t*t}=mZ^yd3k2`-;anJkj9&ml@UH`=Eev(x@=j)g6 z`P7|@<_wvfuv4LHBfC9YxTW1 z4)<(Ze`nS7m*4){?)~lGne?0I&vvb$!CjaJQ*_gESEGAK|CGB*NtM!zjwvn0`(|aw z&?{0Mc$aK`1>S6%UtZ>}oL`Ms+2&W_UAM~eQlHO{M4CmV1$?~l@MBNkH})j;(W;WN zv11=xu`_3iYaL~nlD5(X8#o9XcwyteWdWhgP-SRwyQ_MBnR`BT*2OmP6ltJf16y3M zf-(*pxMXBDa2VRLAw!o9-lo^rz4rT}NzU3&dfs}u<%QEG|0+21#*f~}j^};8{?L8T zKL5#v;}2z=`^%f!9=PhP54S&hUQyl|zxepmpO!o^Ci=dzsb$8kAMDSGT(RZ{Tbk!w zK0C`j_W4&rvD@|^ZW(jWHR%m4M>RFgyS@M2UtF;A{Lu3Ee*TB2zugqD&pGeIU3+ev zIQ5Pjb}jji^Lrouz_IwOlly${{qe>N&M$Rn+UdS6>JMwKzW3c5W;X?IpI$n9$t~aR zocB-d59ckIcG-@P*84xd>A+j7v#$92bD!-!u-Do6S$)&W{&#&7&fVDZ>i)-CTc-T; zlpXn}J~{oobE1bIUAo25?w zkmA{jrkgfwO&I6R>M>abIs;x$%& z^pyWeL;GdE)sG@4Z1fBy0>m$pnh5K&&JSf6vzV|O~6KKN_*?ae1{-?gXz#51m4p83bmX1wzKzHk2a z)@Z}IzaMzv{XKuHyy?*mjW6DH$Kr#tyT5zX&ATGebw|cs@%m>KS40M%+uS~ROXGPL zRFC~#^wjkK=vuRV*N*}V{x~7`Uzf$^yt;Wo+e@QeCx86(_KwdUf3$s>d)0%pie9gE z{WdaZ)a;`lscKm~Si1N-PhMZ0alwX`b=zjoO)ve)iN9az{nOL)JB~Ci{?qMQ%HNk= zf8A53UOcn)@L9K>@V8~Zty)xl-F;g&>>797_Qwk^UAJi8?b+?NXQT=H8cf(Jt^%?Q zMXLIFTDr@IAB*`)X-UW}o>Y*QhLyvGE=NYTzAzc1rlm7s_`e2DBbV*7r`#>i%>34s zhpygu>@Du_4;TIH5A$6Uj7+1ow7khV*c7DCP}M7S3AW6B`?ig>>t=oTjTuFs&OMaV zdgaNl-{e{)Y*~{F=5w%qu9RvbJ3_w{$={_F9# z=DTm4_QW}>u8vPV?e@hBR{X~ex2*f#YrQ{x;J%Oh?{A8HwB+r&b00gDH!kq_uJ1YL z|08$R{&i2zf9-^)f7bh_Tk>zP?OJ#6fp49-{%=<<{oaxH-+TA93#XJXdSKnozqU@h zVD3%ZiZ6flip)uWd$r}`i?4s|aM7+EEx(@l^rew2=bq7X?NJ{W|F!kGt|yNEe8Z$C zZ@75RtRMAz*EQU*`pHk;y78oSFI}rOHY{lW;E#7cyR9_z=}lJ_z5Y(%PrGlJ_w!#L zGs^D2gyx|{?nc4p8D~|l1>drbWs_ot53=A!u64G6JfI(V1L>fT^q(cx8q>-2b zDM649X%JL81ZgA$QPMyJ=~7BUL{RS@JRo{J=Xaia@44q5{@`KldG_AJp0(EdeLwGa zt?^+vT|Y3XztHcMNNwB=r!*alqgTDb*HkR5K(|6nL4#&81~+2rO@4&Ca*Z%j(~*!& zL+UD*$}QJ{jZ2SPmoDcT#2Wa;M`h8fV4UCX%eBRG%NJSZ6QJsvb3IAA>0B;pi`>zv zh!Uc-K0z2UM*PNV)45ma*$~yDcRRFdXqR`KAtIv)ZLhOQ$+4I$VIH1ud7OzwKexM9ueGt}XU#JWdNFAMak$Q>dZ=pQU8`fP* z{fW>usx?=t6kW#t>&3LhDdIxns*_qcFWRI4Bo;O}f3F_Q-;{PJU=J2}{)zb;09Q1F zUM_G=J%CE9!KLn~rVxN?{&V^Mf115BvoDp8zgCImzUsh#e6n$Bx+6uKMXR`Xj9P=0 zXl0;a;7qX_z)12A`?+2Mg=##lTx?0QF~B~8=CI(~xD<{}v`q+2UJHN1&?Ceen!dhi zOUJwCJ0C{>c3vYlyOl-vanvWpKHUBbrTt}c(43vym*Q++a*itLmWA}saw_q26oqJ> z)j2kU!Mkf869YJfZWsdTpZs4WRW2|k`F|WF+rX*Ob=0X+jLB3%JFRR(!og)zm^3ql zg*ctF6I?)|Opc4p3|>C#^#zhjuZ43BjTlf`u6e_vRNv00msxtkOBUw&ByC(GC@$L^ zy_%k&d~Z9g0@BN@ruTIRv+W@x{=w{h51hRV{%rRCWhVT?>`i<)34^mYIG>{dh-B2< z$^u2i0EnnS@?TBA*_L_cf4jUu5_=a@W}nW=FFteS+$J^|zxBUn*8fYnJNT@LlOo!T zF%(3`7ORRqU-x=zt3%59-CT?ukCEN$ZSsw-<$p$+6X|GCYk=OP!APc+GUg*QWl&#w zE|qSQ9uiVi@3nrte@OzeGSw7~huIaSGPR~lF{XJhc4j`x{&`^QT>Ltgz%`7;o7}9- zmv=wx&3L8o6KrEoU2dS(NWbBL=bBKPEq2S6uS1*gt%dO^%H->er>3xJ1b3dmPJ6(l zcwF(j-d>jadJT_k{2`wCjkTAxRPQvd2Xw%BF61`9Yw*LD^L?i4%CrJJuJ^JwHiA&$ zkrNJ%kSA|RKCn4g$tN(sb1meFw*Er;<@ifQVrQOx@NT|K?PI~Unv=#QjO9sV(Jght zkpa1e|A@D~Prh2h94p1h&5vP|8!D^u=kpf^)s z1_fZVAV+$ErYnP)sb7APXR&@$rsv=4uik!>lKxoSxe>wPhDEaC z!PK0FY~|3qUv4iIp6y{?<&;f!yZNs28maT=2*FDgU&gh&B3Zg^8q?`RNv+VO_(~0< zYiF2dtIHl+R(a`RK9l9wDvB@5_qtb^mFQ0MDmIkNomoJz5XULYD3Yx?Yc=>W(~EZ} zG`mw*R429}*3RMheq9&4=A7OZB=y3$z7lpA84s(|W)FW7$T-D+meQe{EcY`E$z=c_ zxpYC;3xLDzp92&7`1g0*RA?`59S(cb%7H;xK91E-R*Em5uD4NV(@^wIQ``o*05Y zLt(!|xXcBo%03^#8cnx{G=RQUBQEV1ZP``joH%onFfX)=9iKO)oDR)Kr``36LpL5f zw^Ey_e{>Aj1V-uy%AS`2LhFyb61fG~IUPymg6agFN&^>nPa#DG74GtoM|iuJF%r3} zPM^O?R~T&H+#;rv8hS>|KQgk0*X_J3o(=ofQy6Gtqt>$4 z?+9%VD3@c`3dQ|cPTkj^-D6~EUfkM3UWl3=nu{{l`C_FFN&(9_vf>SR^S{a4{;BRkJtH+SsZS5?Q$6B`*A zGt8W2vA0gmTe1&JFB9z*KE9>7y!PTEiK&y+cKDZ=RDEB2e`=i3u_lpYvyncJsJ(d} zTRc~etHAE(v8!^t8plskM>h|+Fq+CmG#2K!7LTG?*CoHrqEyw9A8!}yqu`<8D^}tt z!`8=!u~l`Bsdt}|d_iQH+2gN2P{61#GA7vNynUt?hanaxJD+jJ~;bb*Q6yL~f zsJt|QWVQP~$e|DzlJy*TOz-enqsm{bir^txu;|oLqtS5flW1vDZY&&-Dc@~l&7L?{7 zPsaH8oh74LDF?@gyp}xR}df_>Ba*1u9;5|tanD}b=!_$1S z`6?!3q#3LCY&eCV`*EN3J)<76-txX;NQdJ3{YsqL>st6@0lW6NS);bl_V?or?$nGj zO*CbfFLk14txF?9LNzmb57p{y4F}P zv=wCcWIj-7+n{ui8PG=QcM>RAjLHKs#?NpWoW)Rm3zLi+#K^*eJi_37UmH0F4f7C%+-#CkKNG|{wmzc&=)%BH9J!921hpr64dBnQ^&02>Bo#qA|v*lmNC62WXtq0ahvMribtet%@3O|j>_s+@IvH{-Iz`D~iHs8LA!K_7& zS^Xrls+$w?!RUT7j<9e+u>|w3Cshr1u$qH}o@@SsxszN>bY!!41Ks@HM7m505t!tO zbEd4gl6klm3_|!XKKCc|Xx5DgJ&4(k%p#n$NhnO&fyOJlKd(zt$iSPk!Gz4gw?_M- zldPSWHac{#TIaemMH}QCzPhoywTDmnv>V{$Atx?hA0^{Z z!!)RhVEGJjP1Xm9GK(N-rHY)aJd9gKfCR7&WwC3yqQHjtF zT>ntA45<^2(N&>*3bjyrkLN!No#YNCkL%7IT;Q2zyIDr0s{Y`v0pZGr9>mO4GPHwW ziu7w&bSi}rbT3CGW9PjZy!$y~#^HtxK@c8VxBt}|mAj7fkM4GzRIthdXd3}EW7}*k z9-Qnk(M>JntcPRv$FaXv3$DV}9dtf`WA5JCCs$%R{^DV$ zyGUYn;kxzv=a@3(Xt^C0&uiVS#S*1~s@4Ux9Xm00(xH=d7=KOlVG34Rm)LU%IZSRS zoWR>E)IZ*g^-^hu>a9h)3xnfnx)pf5ZKbd7@Ra!AmcC3hd~8O8xoG3DAgIGmDlmT! zN2{+=p~hsmogc&fp4~=|vonU5#NwZ+{fuR*aXjwz4KMM z<_Vgz$UK|krB-*RdCn6vsOxj)__$7xir1)K7+zkMzZvw(x577s_LX#bq{%|KW-!fq zwt(SGj09ha(7BEp=`Vsql^9ax6{WGF{)6d(yjvRjH<{pUZDLMV0lIa!h>DN11ov## zVT43&o38ciG)KmVHncFgv6)hH-haZuDaw{Cc3PzGYI$r49ZSI-nU4F5w zHm}N6K*o8yz|S^tF2cggv_c^GrNJ%ZW=~Ge_sfoLoYB0|GAA`#C$A}lx8t7ac$P0O z;FhrM^wEp)950!PSwgC`rcm%mSs2xu42{jivIeEBOUZ*1FTx@Z`4(8%hb#iWM^xXv zAioSoe^OZZfqnh1>~XY&>dGgM4vUe0K#r*~`L^H@Y=9+P7&woL77S1@5&@c7>RDuz+?L>`Vb6Q$fM~V0YmlxPie=2hajE4%%R_llyB0h(Ec$8-U0} zy?I6`A_+jm1Bjc4;Ex{zl!?HpgWI7)D24v)cBtTOLl` z&CKxpBopi47{BXET4#rk#a?HIS9sLdXBbS3VG5ybU*cQB8oE!%yv<4?%qKE>^DPSuhD_oCDJ{;>_h(iG05WOYI*{B@l07YuEJ)KhC6e7!~)RjOim zop=vBi%VuJUcIIW(^fnuD(J#N6Hva%@$n6>IOE0S3d3+aC+C71w>B9}tlJQ7PHE&R zGIbmLmP+-l$>;z&X9_>X0*_f4ZtL7O6CI0?HhN2uq>%BEjgRY;*{K|pPxF)dS4=Er zr;V_0g-T<2Vhv!GyEBkCnVVOyjds#Po5p1y5pu4)u@+cL`jBm$IE?lpTdC1-BPkzO zO@%lmkf9%qtD`(E|CFNV33%sVPEMwe5A!FL1crON$}E9f86TS+YSfaZ-no0xEWJIM z;!Umg^+hF%o%>wrr@ia%@B`molqlT;mZ4{EjE}oJTHcfzNY~fUYz{PF&h{b^Wb#>+ z#VbFxTlgf;q%}J%&A>%pLq)Mgt~<@c2rp2@;j?#UYonv1eYegPG6Em1r!XWX96(aS z_E|#0KOMNfA%$P0ghw(>5S1~5#z?#a;&mJf1F<^fzfaEu4%1^?D2y4(NYTNH-Q##> z!hCm1gg9R9GG-ZhPX&b*#U;DzG6fCQ%Kui9Mt%)D3I@rfddqAL7+guTO&Qa^=Jybt zkt2F_;+AsAecnJfnh@K@z7unLDkKstNi}}!IPnrpJXkc%@`I}_LH*6L_+`zl=WHn# zMudSgpQ}W!bO(+%JZm&-9_PTlGcbS2Fw{4_%cnC^NP#bt0LNlxz3+zf%?=F$60Mu` z^GoT8MUAFb4I_!LjNY%0jgV?#D^2(oU9IuB^o(%#8ZmYrMSP}5-0rOnXR94Z2F#fQ zhKuJsw{5ekK3>l$q-SrUx0xZC)N^!rAc6_x+rAvu`Pi_us87|%;=JKP48^`HDI2$V zwi-H8$1bqRrJlBt9IVOB$Xf8O-RM!MR)upmlI%2qBvU#}^)N6%LP9129uqw50w_X4 z#sVH0;e0o^-4;uR?4+aQta zj01Q?j=3={6sMaAYTM1df7#+)CYI{(1i<%6KUn1aU%HMz(oF4|j z&I8!s4Fb_2n^}kld5HV}xF=UkR7rtPUIeDdrzj!}`-`63EF|Gm5CXY?rb5F5!H$f?U{4-nnLlC}-lvT4CcRPbNzSNrTV zoBFuCaNUO+54JX_=j<*DSnfI?lt=BQO;9;B5KH_q$nUPDW_g2@HS zTM$f5X7vO7GY3AYsXvvw&n?A`BVaKb^1fG80r&tBkTLB`-Twv0;2&HYl(|{^G8biLLL>l)SO5|I zgVIF+Qinnn0=h-NnZSQfk+jrQzsX#AEnR`%mev0SovZbO&P6SA{7X6)doE0yV5)N> z`4qwhLn=Kto5{KI-R&n^u%ntKt4<=;Y;0!P6X{ z&z1^&xj%bDsNTXf^|gV_;``ndo0!P2_7(wS9jEbcvQLRE9Y5`2neNNv*mf&7NAgpE zU!r}C*KNna$y+=0d!obfo1OW1i6ME788jtOxuDwWz%*u2#%i`%tEKJDW`9dVHX zF$0erm%CUIMB$Wm<^?1@sl$ZIsev8+PYe22{espeC0uaFP27^1am+``v`#oTzMn)J zpNC=R#ffiQD|;<`EL6F-{l?Yb+`-xN4x*<3w@9phsk3JoS>^haezW!(Fzr&t3DC3 z!=0K-Vgn4-y9ug|Tl#LLL18Pgrf(HX)c(sk$J$-rAwj1i<=CUMqS(AY zcrn7aIT)L9WS@F+yo%9Zy0AFHcBywuiYjH9*GP}EVZp?Y-yqq^Qx+}X*SF{+f4>b~ zA$}r98&w#jDe4tbt^s>r{AeS2I()Nd%!7t<1|Im*PDh+Tc4$6=IExLeJ1K9soboqm8|6DHk zPd=ah8UnaR2lBX}LhOsoIDFv5O%EI<*O@X&=^dU7yK6Oamo3QbcoT+;gOvoSKYWp2 zj%iFE#+rL?hcnO1Saa*OuUkc!f3fPjS4Crii)ID|w9yTEOr?#U5?B2aP&x{2wuJygoN0Cp7G&#-PVw4hI7PgJ;NZ=7*naqzAC{6%ncbTn%9{uaYShLU z{mga6oo1(8I~$4N0m9u2`&s;S_P;nm$YH|+bNTNk0t^bY3ktp2f;!^mA0q-MJm=iH zE9>emWFZ~`h~_**1Aut&w@B}wR*d|9X`+Un?*7t5_(>%ZK6#iTxON0CEDz%WxV}kt z<{u?HqwfBB@ zexm)%H46{GL7k65Ic=7G@Hcig<4^B*f3XPE=Y8yrs51-q$$9|4%~`t1s^h+4?sSHc z8y>QQT2lRHuFQdyP}w!Vil(%@MAk^*_U6y*N}BCyoS35vJ$NMz>7*(ON^Kl*D=*c* zzI-%*tlsL4EtEYTIUUD!$<%urPdhxC+!GrM=vq&|iO-Nn1XpC{r}bJ5vVaQOP3 zJ0*U(6mEhLX03!btIPcGXEF{|()>wXQ7mDD@RmiG@~Og{t2kP;FyHwrlF@l8H+<(3 z>HSOvC@SCO`qy0Ni?PAUm(IP?p|^7Lc;{9`v*^`h>0@TjnjhzIIgW2-goIgCO#6dgoGozVz26^sasO-{_>G?ZLe~69&jbOQ zL)-xx%?N$~8oG(FY)&0EluZ`LD(aH+SGr%um;yh)= zi^>>iDwP|E74Z$vOUawvz0h4`BpCVJiR(B zO-cr)3-$BIE5<`pq6$0($L`KQctN?oU>WV7F^)rFJ4GP=;TSKPOF%UphH=ppc?g%# z9q$rmOfeiC9Ww$eng)x@EYp*peiIEUT zii#uIx_gmg>0vaou&{voC~6No2y%h((AxR$e7U_ng;Ys`Fakj`Acv2Wd*29rlfcIk zd>}{+OXE0nqZuguSV#jg$e+m%gK=4|M606z$G=BGGz)|k0Ixfmu!NwJF(d#cLD1P* z;5!(Cgus`JAp|La?>`QtG19Rnd;oTw(3s4kC9?qhSQzz;dtxAg-pLFmBNSv} zv{`}#5BSJ}&xBwJs3$XMF?3K7r4^+a$3@B!377>a8F@YC?)KVcR9(=Pv zM`~UyMpRq`6Rpt&<_et#wYgqU&*;>tIm~sk1$iFs6rfUv`)0vMzB zGi-qJ5$#2z=sSzXr3teh=UIvd_dRO2hHb*SSXQ0H4l`E59Q^7zGHC#&VyGJ zDhAbgprbf`9v+B_M`LR&eu2fivG@cQUj=mppj6xz6a!XYfm0J_PY{6|d5#i!AVVku zV9VyKCrUu&P&7dT+QAo1kbzYB(ey%GG=T@u8v)5dUN{4y95lcO@ybE=Fa&T;0r^Uh zG7n0F6RsX$6UDHZ!}XwMCojaS1Z1C|M+s_&(K^j|v=p8Y7Abz7F}ZFeI`F@o06~1ioV5ecG!pdz=TK=uLnG0RUjQD5OmQL;Aai~>7%Ueo zG!ifKbwN^NP&-itMwd4l8i{iu4H#8uXlNuh5-G4e2LMnW!5HRhmquX^zUi>ySXnM) zGXcurb%vG4%1n9vVA2>AOz?wM$DpY^e()Fvgks~@v@K~psmoV2{mUCR>3-BSORdXVBIk&1VHEt zMMI--1S|mSaR30-{{WTz06qEvVnge(b}-}#G$afe0C9mKc`Qu^$^nO^@!0-GfE>Vj z=GM6h(m3cFPy%?!7i-l3`o}?TK(*kZhgeNCje|x&8V@Z2bqG)|mj4E;zXpprJq{Dm znzum?9*T!?pr$zws#kYlbZo`c2nu$YR)QCPeP zi&L<8GK^v)LxRvgFn^LzC5Yvr8z5GL9)Nfn^a{iVSUeqzZLoZ2s1M|OVL9_5J{%be zg~UJ{jm1nz38zk20xiXbVQ~o-^MbMQgK-N1u0oJE-)1m!eg1rur?}l9Zh+Ca42#>b zI1?%YoRR?babUY7f><5sdmPZ8C>{+!H4f5*gh8wYRyrXKSTX=J8UP}oVNqQLm^>Dw zAux>~{FoOF`2BO<9W0NF4K0_3%CKfX=1F4Pjv!iLG)O}RKt6uP2b9(?c^nOn=0i?) zaS5?B1~nvx7EFPhZ0IpDv`|(QJr0FjqL?i3?MzGYp~fW8Jg8BOV13BRHVUgjWuyRT zhATZRA%->+@=9T{Xt87`cgTUpa-$|jMNm;Zwp13CTQ-iJNp_&c(HK#oPy~$?WrkSHzwo%M@Ium6a0eL_qO)(9;^0W25G0o9nyu`(_ff9L@N zfR!CjW3W;%V07v{6XIA=fJiSI%RPY=N(afgaZxOkXIz**ns39PQCT#nI3|k<=Ek1R z@J@-RK`b;vtJ_eSG{`1~4q^_QIN6-Zvtj{zEhK?OgWPBdECw~klg8l%(}fxrkwA^0 zjn}ZHg(O5opiCam;||I@iuK!U1~rTpOJzilxA3Mi0H?+#X}o}o3T3(vjll%+`fH(6 z94b7RFjHgxvX%`!E<7qCfq~Wg6^Sj48On%?M_0snp$$DYJ_-mY$n>PeP?NC~bG)2O zo(BW0u~62p1vd2f6h>4;pUIz`A2VKrx_SPC$vUz)UiM_#{T5Ib%JHE_O0^*}GEXz?uh5yct0E zqI(XyHH_tss%uUmJ>u7z5YQpx?YR8_ia-x2ExwE>px0568clhFv-4>3Z-jD8t|m+- zd6XEG8+Hr^odJ5CY%UNjI3#N>l8o?*V zWVqySQ93-md;7zCkI%JjZ#I@x!EF*`%=na+v;0CwlGw&Z-XwSJ9(|E5uZVBDdQ{Ht z?d|Cg3vdzIdhTGpR$z$E0h*5D=ld3{K)UYp{?rAPq8GMVXeg|au%XG4V$W_hboFoE zic&3M#ZQ8zCG2n_3L*f;Nw^A=2#OMOB<4!EN+1&Rz?g6%!X!LSS|SjZpi0mrq9jOo zMQQO^oQR0TB8dcPi4<4_@IXY6L{N}OP*f0+NK5A-!4hdJML=T(5djhr#3EvRVkitN zfJj7ymjs~*!8Z;kk(MPQgc1Q@EaD;IU=c-75t5h-(l`+@1tOXy0?@+ZX`A`b#%Vb) zAQ+NJ%g2VH1xUd0YH_d=)(c|orLuuI7?j6aX zCoy4A53}|m2^bQ_Y%`ar5C*W9DZqz?9uS~OFeEXyd6UlXCz13K3hn;nnZS=Pwr4m~k$Dfwo)(6B`3m1BeX$m5rdYwVsTyj&J^^}{v=+wEmXcXq7& z7}=*@5Pb60^ha$$Pm8zkwstL$;mu**;v=4XUS0I9GJ*V5Wd6nF!u6IHTa9Q4$``I5 z7iFIUpeqviO(TKZ!_&*wtM#FFg{j{m$DFE-U81*-UPsBcH4m@~2tqCI0Mh_w0C08& z#A4e?Siq>N4*1i(HGm$nFaVfgG@w5N{$yYHQ^e%>un=@?|5PX+^}(X}8__fgP5m0U zzFJO6kPV$-8x!M7jf#U}nW1zBjYdYT3p9M60&oCt>3=oASR>$GPW!PXx>_IzOzp@w0>=d!Wm>!JYsn9`XU_{2&n9L7pJx1U&6-0CobgJ;&<~)e(BXan9T#SRd#) z9PJBry`up|$ytgRh()#_h5=S8!~l4rfKM5m;Gj4t9HL|8>R2mpP)Y^4Oi)gRSfCyq zK%7uT*asX5FrbMAYDIzkh~HphV|5TPZq7eLCun}g6f2_ zc&z^vFj^{BZ?pxh=rJ1U?Xyj`$zww81E6f>IYy7J`k30i^)14e)*dKL$KT zvk$<*0QJVlNC94EGN6|8L0dr3d1wx3gK~<6)sF*o#Y~{i6|_g`paV>Fz)cot?E~_d zPy$vH*yfM02kjE&0QSLLqILVMJ;48P(3e=}!<3cGU|5Dovqa+dQ8RY|c z0)642Whf{o0~|5n9~vBiPX`A4pn(}fsYhoa9`FR^UIY{gD1?5KM}qc)1wjH_Ljd>C zB{mgcnTUrYEnxs}EWpbE-YD*jLckY<^38p;4^&#vp1JdfLZ}o#VBG)x`8NZTJr6Jz zI^b#o;4f=}1faY_SIh5Z&KQ%qAKU&cdB2l8bF7^eh85*+2t4{J#|kusd!X4no+oDtP#(W;$jL3&Xs)0`{yuAZrH>hADyw zKM!%52p%U#gb)`VfoVK20cM-vU_!x6WCk*6LXIfHkB6ZGLJ=+vLR2QSBS^`d@7IW| zw?_^g2wD-cK5h05o8JBcwsZ!^?0miK+bw7Rm&F}Vhr2&`cYoIndt;q`RLY>L8ka%PIcWUOYwnGi_{_L7#i{RJ zC5EjTmbvFq#ru9*Nt2^o;*{vp4cDZ3-c9%5z4`1;14*Jsq|L8m@1R<*>y(=9?!;$B zH;x4BZ~FZ0gyFk9NzF@3UoD6`^Oe2tI$N^$zHHrbvDjLsd=S4BZF0$>gRg35;iszD z=ShlW43JIE)g%2XtgO;)_C(^t`%k|LyccJlse=8f!wu9GrxL5pVn;-Ca6qErVm8bV zI6_1e0ZSD{2r>kzuvhMbGo}u#;16c;NZSilBz_t+$7D!RjUbE2q)Dk6ethU@A20CM zawKu&$h4{kqa&h-H`-pA;EFgSP6ZAHc9}MjELOa^o?a*;h8#O~1p<8cdhyXwXs%v7 z$9c@u8=FQ{E-|qLQb`6?5I-J1uquf}UKl30AhQuiE{xzZXN-1`l$7+l4!|A4Ut?w= zk|@1X2ttSe7bTu=qPTzs3B(14W(6uZraI`g3hnZP70y*tcJF(5oA7RU(%{J1AVtBG zcV^u7K5(BpU8BUg!Sd@)q&Mp$`_nNv;*y*}0&b)5>bj=aaCqLcPmjnjy>arD?$F=V!N^M`e{cLYX0U*BdvOi`9^ zys#lcAu-Ew`_VRqqFIS!HY`oDxRrgd- z!TYM>$9X6csH<1dbRU-k*>{|409TcF17jjJ)(a@+oQ@jl|l*m~tq7`BX-`zvjyraqQKEbD;ow~JdV3~EIsp{P&ONVMs zF52CYJ;cs5V((+s;S4@|XRa)sa^^tRf=;s_4XZr4CnsOnuS`BYM<3_#rt6b(9brzw z3yB?xuUFoEK|ImL zElvQcsKf!Wqx>{KhKN2YN<_(N`ub+3h{3dQ6H}uQN+_ah6lNB#YiK|*)-???rs|p) zQfbD9`e9)-P>AlLTn%_tyyr^uQ5iqD$%JemBXiPayMQv{gH})`xFbLZ762WXY4=~! zfIygmCe4ag! zR3uq`ihcRS?NOjoV~j@e@N@n&q3^yONAEuT6yVswv;2ICcg?oN@7FhFND3{g|M=xJ z`IiSwU%hrbLjNn=_^whR&9`>buFS++}4qx_%`(MxAJ4>?rYUAXd@-A%h@?f{l z3s=0{lt=tG3(vo~56FsNpyvlYeaUqv#^j zP{G4Xs*me1Pda!?Y6CW_sPL#zaC1$vN&xQ&z{OAsW|kp{sR2b_pJHa9544&7D5#Hu z|E8k-Pqx)z#=L;ZNLan%_FxjpIzQ1XW~Tgo`n9Y5ucE)@%7{H}H)mzYozN@LfAjsx zd22VddkpB2k*`43l?sy6P+w%ZtMmH3bt%q^b~y01ex1_3D`EA`15DfH57HkE)(se! zGzHi_t~_M%R4X!9u5>Sh>C--Qdx(rcY8 z_-zYIyE9SGyG;t2_py0>$k(e)LG~1nlbVuUmdH(pwwRXcB@;J`0)2~3*9%Q~RtC8F zu(hTV^-nlIa1ZTn)(z>mv*<48gFe_7?!G;LorYJ>;sdh>>~EUPFx`DLDPZrU-RrN4 zZ}gdQuADyze}}8W7629IkBFk0K@x_)6Nm^Nd`(bazttqDS*$2ZAb^uYCL+PZKYB2c zh6zLrF|dEf@^Glh_VqT!?T*HpoQ}NU>17o9z8SSGy2#|QN>Vt2kdgp!UL^n*g$-o& zgDw*(X9rvQXy!hjBKc)%hk#ekysi?&gQLrw5THH_YznM0XZ^V@8T8#6G23;`ddI4B})n7OmnrAk1xrTk^Yr18%{;`FxMfBpz zoQ7WqCA@W+uKU2|kl?qgFLf!!YS)%}}>UdhFUA`vi0M>l;lWuy^iYMU!-&9@-#6K+J^i` z?~6W5Xz8v~@;2FkCL@`kwylaz8+6YcGPG5ACnhZi1-2Q@SGkdQ ziT~Y7k#+8|B9d+vOSK($GHwsXTsik9zSwt*@3QRm1@ew~|KXd(5dy5e#&31?CS88P zFp(IdSI>xGfAT!M-av+?B(kPW>`B-V{f7PBJCk0fTp%31GosV3yk>W~z=))#<)N-m z9s8HtpXLpApaomHRaw7rdwV1?rA5GyKUN`)qTDIs-S)h2BMMAaoeE*nI#`&GSpA5zPYf>fugtl z@v}u151`Z#hub$+H`T~~7GbPES8P#Q)yZEP`Ld*Ywc@L8x8lNcYF<~?f3~~He``VIttx9m(WiYeTO%H5 zJ+}9%%DnYl%bu)Rp6NcY8CGqP~gCM0gv;5=m4=hXYTM|xCpQ$IFK4)UGwiuF8d zw`q?fG}|FuTvI!|EVt_pPx|blPb*5r9i;f#dse)ioBR#luIRzH5)wn~-=27)W`FvE zuJ@iwrDQ8g(zPA!(=)afQgO!=g{!{|?>G$KP<8hH{)yOdo+QZC-Uos9F8w?0{o9l9 z587L7ObG++4fHvLr01c!RgI9o2}xg{CiOe@TNqkG{m0DYshyciq^%3 z)cE4Ax{)M3^4k_$cKV*K^xLk`p$KP|pH3cFd+W_~_+96jjRM5W>m57$yrkRQ4{qt| zUcc~O+PN3m13Y>w@h>+|RacE4`S7JHIiD;%%-b1XE94+sXN2y>IU=t@ z0%pnNttHLsF?Y4ILMWbm8itAt3 zE)%p~a@UKY@(#IjI++$QAD$#2CDPm~mG^$e$#B0Tx_aH8R%TwC;WHr#H)vJu4|=8P&L5T%;zUktjIB zbKN3;dmE|RBS)%SBQEc;{+^bilD1nK3GcC%SRi+Kx2no5o0rpGo*r_%rgOJNKg~sB zs-t?4|0|!~eNXatT`{NErE9Wy#NQ>V)bC)Q)AT-Gz0e}7Fp+vRu26Dc{Q-wQ3HsMH z`Z0&Uwa>Y{POT}tZkOUJi7=dnZsojJ(}!IylX}FD9^6in|$y{!L|gs zhg()jCaCJ^m+{3F%wIR9zMyx-6_xw1mE4=QzjJyz4AbaYg3B&PU49Ywsx6qW9C#40I z66P)D?~F~aT~!Uy$?jUtlf1Y?-S4uB0s~b6>AKJvFOU-+NvDT{2=q z0vI16PVgj2M(sbPrqJs)}^e*w97>SgGVYp_!~0K_7#O}jdKVa zr#>zaJQOxg8f1xMYhc5_W^?@h0%XDp2t;JZsm4Soc^QdV4?d0fv7dEZB z?zqv(ee-MP){#%W1Kq)FT=;hrg`N`)rfY3Gzjhg01*r8KcrNZpDhOf_Q>z{|U8-G` zuwQ5;Ats}KO{~=;(yCJ-U9*Nn-3L;fQ&;SGf79jeCEod2CuEW{t9`%m2Kq-#JDrf> zN`kAq6E#~+a&$VfDCvH(S@W(9gdUdi-R7}#cPF!=&rf@b>`X1YE>#t>fyRmX=iOcl znw4!EzVU`sStZV%YtTs$A3T<|wWZazHf)l1$K$6l2_@pk@4NCpPg;|+H^kg-YDom6 zGpL7GqxVs+z9ql=$p)XFjr;Y>HX* zVH0On5RjDmk9c>r5Dj3l0k4hnxYy=q&olZ+j)FOCjDWitxStIuhQ^$GG|CwGKg9jK zmE79$VrJe$dC{;S*D^m>sp-RuSA3ZvPBHJzIzL<2YOiBpo5b$kgW+0+_m)kayTrwH z&A{3I!*@KT*B(E@SF_ebuxap0eD+#!qzrKt6?Nu2)o{3$@0qGv| z6QklBghslEi7sM_d2py)1^^GvT*M2EZ1ippcyPF`?!WGUdmZ;TU9f;%!*!J5z{|7= z*W+Myy07CRLTioA)T)0v+tz)d7q99eMLc$G&(S6=_{03; z^?ZhgrH7`gjwDSwF?EG=^mK2=-X3b4^`?#M>QibJx({qq*duLBnW5wtq|QI1gg->t zK=A(8TRB(VPqiAH+%&wdK%^r)r!4;yA=@G0-l<&M-2yMdiSP@f_m6LG%%#!a3|{nF zN-IuK*%+XEYOD32@BU)(LQUs6H79HrBHvjWtP5G4i!b={m9U@2uYD}3=}h!Jx<>6Q z%*gXWME8`#J1Xt8)Tfc&mm|}WVS-v@J&%$bB4B~ro?NZSQ|e|>s6EM8{`T4r6>s5F zhMT+`Wv&xK?E3{$pA$N!u8`W=RNUM%?b(#gRiaL=ClC0Fy!&u9y{j{ia8bBZ;``-| z+ok6dz7#p`{?zYm)O0VsD|&;aaE1WXl)ChUJ@^pc^3l*eF)dNBeJO(+Y0bM2@8_G`XAW~fCHYh7if>~1%K_q zAKw)yz!3y?1tT+#8^{;~DF_Pw>$?^k_v8Q<`gHc*rV^MA)(iOkk8}h z5!(}iEf>i6goBZTS7Qgw0}5q^>`y&44J(feGfLi95GtyB$8zh(XHR&A?**jnb<*w@ zK2so>bSB%PcjVbLe=%iOAFZOrjHeRjC!7|vynSo4Ipg7y!%H&dAI_{^7ub{KzCv!G zP;Xw>rs=vB27VV$%>1T*=Lp`S`f%kI)70i&X*%!Sd^W2XO=&QT3tR4WYNzO-$!aUE z4xPeht{)ESyX9HGE_+q&SryilAX%;B*EF?Er{tNJi zf>w7<3B04?Jk#^SG2dD0_`chV=j+{5dlnxkI>$cg$VaH7wj9R}dURI$NS*xMxz62Y zg`zLjoN8rjY?s<~ooiq$e#+=pZ?Ct{zu0?T!S_+d`ZumlNa?{1?QiDqsr=Gb72bI+ zH+{+5`){4QowQ3Owf2=Ri%5I1CL}rNu-=LXzB>czleDz@-^Mm*ZPeLlY2tpaW2J4@ z1%8){clX-pv2upvJ|>g=bR+|VbGFZPH(1eHwR+N%-EKqMs%q^EV)B}w-e0|L%o_%t z0l+VjUmaTGFGqg68U4*Q#1EdbUoJ@|Ubr%J&2f}XHYcTsZXK^mFHvr*Wf>y==x(7* z06P)lUf^2boayxEmlR<6f^`e-5x{lZ*k%`m7zF9-W1HOq?&bzIJ5R&|apS^Zv$OuQ z>x#d@&qC7opv031>A6UHHj=)1%uPtf12Yks#qACU%NYD!cj)FFMh|6z$23vkr==;O z@l0|gD;BXFLx4jJmGnu96P^|afrrI(@KhCj)SCjHt%F}@fv2(P(`oLbZ!$^oCxwdb zz7YeNd-I-pr^u1-w6G#ncL;71?+D$JZ@q0m9c*4ss_$}>iIQdr%Uz|g?7A+{2WQnDVREIYP6qI zs4{<4oPXZ7u8g6x8wc&DJ^3>IR-I9A+?0yvm6~sFwGE0?=4<8Vxr$f_4)A5&S8mXk z?d-d#dt?6YqfTZ5jRNNz4^=!r{P2N$3PruvIC<(5|uX?}d7V@`_7J3KEdGLBw) zg4JM2`D`#TTZ1FHw1cyWHu;<8s}!Vw+?Qbu?yYx$p;pi4^X^+__|1`U!buZ2);z#7N&&8aY%+lYobd4f zzOPMh?0C#ipr{f^3GMU4?ta66vF$CMaV(#@9se!$wUU14b6(R;vrBpx-ui#T??#j= z(WGT;sIkcJqu;i@S9W!tQ*xuMp!eYG)o~h1%VxcMv_V#zr(sZP@Q{$UiTcf}lOq@3 zQ4qgAWdAnoPE4K|&%CZT3*2^IfG!hb$~-*3cBwnG9p8EQRnluUot7!vrS7a<)E#~z zaDDZxl7`ZXwX){=8N9~~_@94#?M+geb52LRw*q%;eRkWa*$Y%{crLfyeK5I3PqRKm zlM)^Fo}9Z)Lne6Pprpg+biLt>4LOO^#d#m$3lmd!Y_A=BQ`#++k+8?b{RE|Vt zaW~fd*^SP!kM$pk&!F-(`{`cX;g!0eV)eAA_lLx$FC$-FFCpRedG=wo(3{_by-ba- zd!{xOvL&4mwxr$I!4QuJ{uD_gkVhF47}TF4sS2``a4`N?e+nD6;1T4?sTgpnuwfnG zr_utut~wCeQPeBu3E*MyGU!KV41sha`#7HD)A4@JF+Go+GtQpTGh`)5`gEMPFl=X^ zy3p5%pBbyl-_#?cagESmGRFHnMB>nim{@&L_-_#bo_cgND zwKub~{=@ga1#FRPz-6=uJXoB^Js$9E88exJ0LCV`@CB`=qwc!OVZ!%`|TuNtux z?GIkP!rMmZfoqK^-x2G!t>yQbh_42_*iQJ?tM?A+*Xz}T_5FhF2mBl|^;amds1cik z(!Hy1Zgtsm?!vyn+f>Ootwy;|nQ5onsbB2RX)3BmNHFA7)>Jx&WqE{D2YyXbw&?Rs zD6d;%?P@vaw&+ftnGwt1ho8l7vrX;2<@`17`SvT-Wdn<+3Q+o5-FP-1U(ILKldMqn zGXMIFZav#mr9+Ry>Pp~qB>t_**T2-BZL$qqAhQ!Dx~sZ!okcGIr#k=EIKCHZ9g~3Zy&I9vbeNGe}>=>tYVKJtYY*>fq!Hb^S)R;N4T@`Y2K{#MRmFZq+?T_hrJmds!t7_H$`+Y*~~YwXwdLdkSGTu_IBZY5cKb#tyLaM^t%2IsJ)xQTe8)B znC6h&^RdkF;P4YhDm9v(v_Ji7DSx@y={Jp6Ti8b#*A<6qR>DeYBl1~Oz0D5KZ@nx$ zH-GUe=5)RndAhIGKQ$mrXum(J=dGzSe7W4MRja0Y|D$b(ORbBVZcesxeVX}c>h@ys zaOBQumcDa)=#uyOYxLwVsZ`E8R`J+&My|)A2ZhZS=RS*i;(PA)6XfjIYcE_!gzE#{ zU+z+xY^qm#(~n5*6)x~FYVGCMRJeB})kul&RIBl$J3$+tuvR-sfDNY=+*6#Na8I#n zQ}-Lqjy+C^m~(2?&%4jRtI{X_+Q(2I-EhW!?Sq2$*}PYhA^MkX!OO zw=cP>8=uT%RC$p`lF8-Mzd=NW$cM9^NIk{Nn}y-OoXqQ-oMfQjeC)bV1+;kAHP+73 z{$r*sbwPwnA8!`D6vB7wzFCsIV9g;)wZ>Mj$35M?5z}=p&u!|*$v9BS2d{h8U-n-S zxBII9yTL^fh@D2}7?47Xf_2f?N4SwpW zs`q@q1{s%Xgi8yz zb&ht$-*Y`B>uVPnq|VCxekT0$4>t_I-M9V^-?{@!1N_Vfee2HIUBDd!<^R_1@)x*& zzFhcEZ-}rP2k`r!pbX!=0(P4nrs~V6n$A-@9;zBCvaXwL!BBbOza`&PkaeM@bkduuU$Pq+lHTX?{m#Z+{g+Nfnu#8+G_zjqc5z_Z zYQ`m*jwLgnJR9*BGOtcB?X8aPe@N?|=GC!h8H|V>eUNi)kGF`{gVzm;nw=_F{EBus zz{tskU-@4U^LAwACB4xf_-u3{s$}O0je*wM>DzMqWsf~cX+M6v)z$h7KJ6(ulpKmn zUp>vOCS;g;rK;+(+9K^@yQeGc9~aJXIMdZDruR;pS+F=b;WA9`>RKameNV%|Yn_>7 zieG)gY`LLFqSm6vZY+OZ$i^oCS8yP9=6_cBKlp%9G(`ZM{Kuah;H9CY=dwXIuXLXA zIOwLD6n8Ps&pFXnkbWLXuP;fjMbc0HBc}IHzef4>XOC{)Uf9nbjZEx~b!{ki;CCrT zhBlOGh&IP$SN+jsCvpCs5XqGa{yr6h1pc^PX!OJ#2fTN{5urzUbP}Q}E6P3oA%;fa zZK^*f0~q??Wh$0|FcGuyvnF^J0J=p4MiGG90E7obIM@t5GeS6=f+eRg|7-zTXgr}Q zjskAZ$DS%-2iF1tgb!_omw6Uk$W8MWl71o=`yC3;o_^^hli(hO%-7RAk`E=9C)zYg z-3swxIGvj7wcI@F&e3lx^%RJ$c&d%Lxvz`e^tZ-4{O^aT1Eo&ugdI74a*tuv@O+x2nS z-Fm|GUOYo9v8O%1u2+B6{(o8;ZHyz1Kmx6929`WKe6)&j5ffzmG{l0nCsVS&P_g*4*yOpr8tX{l;m&)o@cOZZxAosW269|& zzp-k5bhYUta%0{O@P6A4%4+B?3}lCWHm4>oQJ)`M$H1u; zt~mMyN$;G100-WzH6!Uak@RawdNo1ncS{$%twqw)N>cwjG7G%RdoZxJX7XltoQx+$3Po-0UqVm$wL}dA+O4D zb=%l|Qo%xkO{+pg)|{GZF7esf{jOu7_v%)+jbVK?VbP{WmEPpIqZ+Tj?TA>Uv(szM zn{AQnW^FTJ9M$ruHI(#poqDj@IOl882kX^Ju2N5hklDv+HoF4a5_Sa6zSuP~H#17| z#&Y*snq6+ZaZ>^P$UBoaLTd@)n-gexytKy6a|2_sLPQ2BaS5^MS;=~yl esjSAOxhAD@A;lTKij@MIn)uC6LIyCK8TwyHU;+mK diff --git a/dogfood/Microsoft.TestPlatform.Protocol/Adapter/NetCore/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.dll b/dogfood/Microsoft.TestPlatform.Protocol/Adapter/NetCore/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.dll deleted file mode 100644 index 6b2152ee178658489b15040110f9a74a876ce86c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 26520 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 J_!=Pe{{f(>5a|E_ diff --git a/dogfood/Microsoft.TestPlatform.Protocol/Adapter/NetCore/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.dll b/dogfood/Microsoft.TestPlatform.Protocol/Adapter/NetCore/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.dll deleted file mode 100644 index 2ec46b1e8378e551c05d9602d7cb78c8f27eab29..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 22400 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 Sx8Hrf{kbx8gxw0b&Ho2I4b4*k diff --git a/dogfood/Microsoft.TestPlatform.Protocol/Adapter/NetCore/Microsoft.VisualStudio.TestPlatform.TestFramework.dll b/dogfood/Microsoft.TestPlatform.Protocol/Adapter/NetCore/Microsoft.VisualStudio.TestPlatform.TestFramework.dll deleted file mode 100644 index eebd63aff58d2e6a3654f3fa3d76802276f46cda..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 63824 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

VDn3uU!)?s#& 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 AtpET3 diff --git a/dogfood/Microsoft.TestPlatform.Protocol/Microsoft.TestPlatform.Protocol.csproj b/dogfood/Microsoft.TestPlatform.Protocol/Microsoft.TestPlatform.Protocol.csproj index 4de024bc72..2f1e4d453c 100644 --- a/dogfood/Microsoft.TestPlatform.Protocol/Microsoft.TestPlatform.Protocol.csproj +++ b/dogfood/Microsoft.TestPlatform.Protocol/Microsoft.TestPlatform.Protocol.csproj @@ -1,4 +1,4 @@ - + net46 @@ -13,9 +13,6 @@ - - PreserveNewest - diff --git a/dogfood/Microsoft.TestPlatform.Protocol/Program.cs b/dogfood/Microsoft.TestPlatform.Protocol/Program.cs index 02e466751c..938013dc08 100644 --- a/dogfood/Microsoft.TestPlatform.Protocol/Program.cs +++ b/dogfood/Microsoft.TestPlatform.Protocol/Program.cs @@ -20,40 +20,41 @@ public class Program public static void Main(string[] args) { + if(args == null || args.Length < 1) + { + Console.WriteLine("Please provide appropriate arguments. Arguments can be passed as following:"); + Console.WriteLine("Microsoft.TestPlatform.Protocol.exe --testassembly:\"[assemblyPath]\" --operation:\"[RunAll|RunSelected|Discovery]\" --testadapterpath:\"[path]\""); + Console.WriteLine("or Microsoft.TestPlatform.Protocol.exe -a:\"[assemblyPath]\" -o:\"[RunAll|RunSelected|Discovery]\" -p:\"[path]\" \n"); + } + var executingLocation = Path.GetDirectoryName(Process.GetCurrentProcess().MainModule.FileName); // Default values - var runnerLocation = Path.Combine(executingLocation, "vstest.console.dll"); - var testadapterPath = Path.Combine(executingLocation, "Adapter\\NetCore"); var testAssembly = Path.Combine(executingLocation, "UnitTestProject.dll"); - string operation = "RunAll"; - + string testadapterPath = null; + string operation = "Discovery"; + var separator = new char[] { ':' }; foreach (var arg in args) { - if(arg.Contains("--rl:")) + if (arg.StartsWith("-p:") || arg.StartsWith("--testadapterpath:")) { - runnerLocation = arg.Substring(5); + testadapterPath = arg.Split(separator, 2)[1]; } - else if(arg.Contains("--ap:")) + else if (arg.StartsWith("-a:") || arg.StartsWith("--testassembly:")) { - testadapterPath = arg.Substring(5); + testAssembly = arg.Split(separator,2)[1]; } - else if(arg.Contains("--ta:")) + else if (arg.StartsWith("-o:") || arg.StartsWith("--operation:")) { - testAssembly = arg.Substring(5); - } - else if(arg.Contains("--o:")) - { - operation = arg.Substring(4).ToLower(); + operation = arg.Split(separator, 2)[1]; } } - Console.WriteLine("Runner location : {0}", runnerLocation); Console.WriteLine("TestAdapter Path : {0}", testadapterPath); Console.WriteLine("TestAssembly Path : {0}", testAssembly); Console.WriteLine("Operation : {0}", operation); - var processManager = new RunnerProcessManager(runnerLocation); + var processManager = new RunnerProcessManager(); communicationManager = new SocketCommunicationManager(); // Start the server @@ -114,7 +115,10 @@ static dynamic DiscoverTests(string testadapterPath, string testAssembly) Console.WriteLine("Starting Operation : Discovery"); // Intialize the extensions - communicationManager.SendMessage(MessageType.ExtensionsInitialize, new List() { testadapterPath }); + if (testadapterPath != null) + { + communicationManager.SendMessage(MessageType.ExtensionsInitialize, new List() { testadapterPath }); + } // Start Discovery communicationManager.SendMessage( diff --git a/dogfood/Microsoft.TestPlatform.Protocol/Properties/launchSettings.json b/dogfood/Microsoft.TestPlatform.Protocol/Properties/launchSettings.json index a45f1925c7..7521e2ddbe 100644 --- a/dogfood/Microsoft.TestPlatform.Protocol/Properties/launchSettings.json +++ b/dogfood/Microsoft.TestPlatform.Protocol/Properties/launchSettings.json @@ -1,8 +1,7 @@ { "profiles": { "Microsoft.TestPlatform.Protocol": { - "commandName": "Project", - "commandLineArgs": "--rl:\"E:\\git\\singh\\vstest\\artifacts\\Debug\\netcoreapp1.0\\vstest.console.dll\" --ap:\"E:\\git\\singh\\vstest\\dogfood\\Microsoft.TestPlatform.Protocol\\Adapter\\NetCore\\Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.dll\" --ta:\"E:\\git\\singh\\vstest\\dogfood\\UnitTestProject\\bin\\Debug\\netcoreapp1.0\\UnitTestProject.dll\" --o:\"RunAll\"" + "commandName": "Project" } } } \ No newline at end of file diff --git a/dogfood/Microsoft.TestPlatform.Protocol/RunnerProcessManager.cs b/dogfood/Microsoft.TestPlatform.Protocol/RunnerProcessManager.cs index d18ed3a155..f52f48f39e 100644 --- a/dogfood/Microsoft.TestPlatform.Protocol/RunnerProcessManager.cs +++ b/dogfood/Microsoft.TestPlatform.Protocol/RunnerProcessManager.cs @@ -12,8 +12,6 @@ namespace Microsoft.TestPlatform.Protocol /// internal class RunnerProcessManager { - private string vstestConsolePath; - private object syncObject = new object(); private bool vstestConsoleStarted = false; @@ -26,9 +24,8 @@ internal class RunnerProcessManager #region Constructor - public RunnerProcessManager(string vstestConsolePath) + public RunnerProcessManager() { - this.vstestConsolePath = vstestConsolePath; } #endregion Constructor @@ -54,15 +51,11 @@ public void StartProcess(string[] args) { process.StartInfo.Arguments = args.Length < 2 ? args[0] : string.Join(" ", args); } - process.StartInfo.Arguments = vstestConsolePath + " " + process.StartInfo.Arguments; + process.StartInfo.Arguments = "vstest" + " " + process.StartInfo.Arguments; - //process.StartInfo.WorkingDirectory = WorkingDirectory; process.StartInfo.UseShellExecute = false; process.StartInfo.CreateNoWindow = true; - - //process.StartInfo.RedirectStandardOutput = true; - //process.StartInfo.RedirectStandardError = true; - + process.Start(); process.EnableRaisingEvents = true; process.Exited += Process_Exited; diff --git a/dogfood/Microsoft.TestPlatform.Protocol/testhost.exe.config b/dogfood/Microsoft.TestPlatform.Protocol/testhost.exe.config deleted file mode 100644 index 9f82ee613f..0000000000 --- a/dogfood/Microsoft.TestPlatform.Protocol/testhost.exe.config +++ /dev/null @@ -1,60 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/dogfood/Microsoft.TestPlatform.Protocol/testhost.x86.exe.config b/dogfood/Microsoft.TestPlatform.Protocol/testhost.x86.exe.config deleted file mode 100644 index 8846256c18..0000000000 --- a/dogfood/Microsoft.TestPlatform.Protocol/testhost.x86.exe.config +++ /dev/null @@ -1,56 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -