From d1bc75c6aaccaf08c3d2c31318e1a6e58ea6684c Mon Sep 17 00:00:00 2001
From: Michael Shortreed <mshort@chem.wisc.edu>
Date: Wed, 8 Nov 2023 14:01:30 -0600
Subject: [PATCH] moved fragmentation and library spectrum to new project Omics

---
 mzLib/Omics/Class1.cs                         |   7 ++
 .../DissociationTypeCollection.cs             |   5 +-
 .../Fragmentation/FragmentationTerminus.cs    |   2 +-
 .../Fragmentation/MatchedFragmentIon.cs       |   6 +-
 .../Fragmentation/Product.cs                  |   5 +-
 .../Fragmentation/ProductType.cs              |   4 +-
 .../TerminusSpecificProductTypes.cs           |   6 +-
 .../PSM => Omics}/LibrarySpectrum.cs          |  11 +-
 mzLib/Omics/Omics.csproj                      |  15 +++
 mzLib/Proteomics/PSM/PsmFromTsv.cs            |   3 +-
 mzLib/Proteomics/Protein/Protein.cs           |   4 +-
 .../ProteolyticDigestion/DigestionParams.cs   |   4 +-
 .../PeptideWithSetModifications.cs            |   6 +-
 .../ProductTypeMethods.cs                     |   4 +-
 .../ProteaseDictionary.cs                     |   1 -
 .../ProteolyticDigestion/ProteinDigestion.cs  |   2 +-
 mzLib/Proteomics/Proteomics.csproj            |   1 +
 .../DatabaseTests/TestProteomicsReadWrite.cs  |   2 +-
 mzLib/Test/Test.csproj                        |   1 +
 mzLib/Test/TestDigestionMotif.cs              |   4 +-
 mzLib/Test/TestFragments.cs                   |   3 +-
 mzLib/Test/TestLibrarySpectrum.cs             |   3 +-
 mzLib/Test/TestModifications.cs               |   2 +-
 mzLib/Test/TestPeptideWithSetMods.cs          |   2 +-
 mzLib/Test/TestPeptides.cs                    |   2 +-
 .../TestProductMassesMightHaveDuplicates.cs   |   2 +-
 mzLib/Test/TestProteinDigestion.cs            |   2 +-
 mzLib/Test/TestPsmFromTsv.cs                  |   2 +-
 mzLib/mzLib.sln                               | 107 ++++++++++++++++++
 29 files changed, 168 insertions(+), 50 deletions(-)
 create mode 100644 mzLib/Omics/Class1.cs
 rename mzLib/{Proteomics => Omics}/Fragmentation/DissociationTypeCollection.cs (98%)
 rename mzLib/{Proteomics => Omics}/Fragmentation/FragmentationTerminus.cs (85%)
 rename mzLib/{Proteomics => Omics}/Fragmentation/MatchedFragmentIon.cs (97%)
 rename mzLib/{Proteomics => Omics}/Fragmentation/Product.cs (98%)
 rename mzLib/{Proteomics => Omics}/Fragmentation/ProductType.cs (94%)
 rename mzLib/{Proteomics => Omics}/Fragmentation/TerminusSpecificProductTypes.cs (95%)
 rename mzLib/{Proteomics/PSM => Omics}/LibrarySpectrum.cs (95%)
 create mode 100644 mzLib/Omics/Omics.csproj

diff --git a/mzLib/Omics/Class1.cs b/mzLib/Omics/Class1.cs
new file mode 100644
index 000000000..141e484ab
--- /dev/null
+++ b/mzLib/Omics/Class1.cs
@@ -0,0 +1,7 @@
+namespace Omics
+{
+    public class Class1
+    {
+
+    }
+}
\ No newline at end of file
diff --git a/mzLib/Proteomics/Fragmentation/DissociationTypeCollection.cs b/mzLib/Omics/Fragmentation/DissociationTypeCollection.cs
similarity index 98%
rename from mzLib/Proteomics/Fragmentation/DissociationTypeCollection.cs
rename to mzLib/Omics/Fragmentation/DissociationTypeCollection.cs
index 63167105b..4fa02b178 100644
--- a/mzLib/Proteomics/Fragmentation/DissociationTypeCollection.cs
+++ b/mzLib/Omics/Fragmentation/DissociationTypeCollection.cs
@@ -1,10 +1,7 @@
 using Chemistry;
-using Easy.Common.Extensions;
 using MassSpectrometry;
-using System.Collections.Generic;
-using System.Linq;
 
-namespace Proteomics.Fragmentation
+namespace Omics.Fragmentation
 {
     public class DissociationTypeCollection
     {
diff --git a/mzLib/Proteomics/Fragmentation/FragmentationTerminus.cs b/mzLib/Omics/Fragmentation/FragmentationTerminus.cs
similarity index 85%
rename from mzLib/Proteomics/Fragmentation/FragmentationTerminus.cs
rename to mzLib/Omics/Fragmentation/FragmentationTerminus.cs
index 84e8958f8..4c5acfc47 100644
--- a/mzLib/Proteomics/Fragmentation/FragmentationTerminus.cs
+++ b/mzLib/Omics/Fragmentation/FragmentationTerminus.cs
@@ -1,4 +1,4 @@
-namespace Proteomics.Fragmentation
+namespace Omics.Fragmentation
 {
     public enum FragmentationTerminus
     {
diff --git a/mzLib/Proteomics/Fragmentation/MatchedFragmentIon.cs b/mzLib/Omics/Fragmentation/MatchedFragmentIon.cs
similarity index 97%
rename from mzLib/Proteomics/Fragmentation/MatchedFragmentIon.cs
rename to mzLib/Omics/Fragmentation/MatchedFragmentIon.cs
index 81de97f24..59ba74656 100644
--- a/mzLib/Proteomics/Fragmentation/MatchedFragmentIon.cs
+++ b/mzLib/Omics/Fragmentation/MatchedFragmentIon.cs
@@ -1,7 +1,7 @@
-using Chemistry;
-using System.Text;
+using System.Text;
+using Chemistry;
 
-namespace Proteomics.Fragmentation
+namespace Omics.Fragmentation
 {
     public class MatchedFragmentIon
     {
diff --git a/mzLib/Proteomics/Fragmentation/Product.cs b/mzLib/Omics/Fragmentation/Product.cs
similarity index 98%
rename from mzLib/Proteomics/Fragmentation/Product.cs
rename to mzLib/Omics/Fragmentation/Product.cs
index 1b8ed9f97..876ee7125 100644
--- a/mzLib/Proteomics/Fragmentation/Product.cs
+++ b/mzLib/Omics/Fragmentation/Product.cs
@@ -1,7 +1,6 @@
-using System;
-using System.Text;
+using System.Text;
 
-namespace Proteomics.Fragmentation
+namespace Omics.Fragmentation
 {
     public struct Product
     {
diff --git a/mzLib/Proteomics/Fragmentation/ProductType.cs b/mzLib/Omics/Fragmentation/ProductType.cs
similarity index 94%
rename from mzLib/Proteomics/Fragmentation/ProductType.cs
rename to mzLib/Omics/Fragmentation/ProductType.cs
index 2b3a84112..e10b0a74c 100644
--- a/mzLib/Proteomics/Fragmentation/ProductType.cs
+++ b/mzLib/Omics/Fragmentation/ProductType.cs
@@ -1,6 +1,4 @@
-using System.Collections.Generic;
-
-namespace Proteomics.Fragmentation
+namespace Omics.Fragmentation
 {
     public enum ProductType
     {
diff --git a/mzLib/Proteomics/Fragmentation/TerminusSpecificProductTypes.cs b/mzLib/Omics/Fragmentation/TerminusSpecificProductTypes.cs
similarity index 95%
rename from mzLib/Proteomics/Fragmentation/TerminusSpecificProductTypes.cs
rename to mzLib/Omics/Fragmentation/TerminusSpecificProductTypes.cs
index 054fcc745..3cd751543 100644
--- a/mzLib/Proteomics/Fragmentation/TerminusSpecificProductTypes.cs
+++ b/mzLib/Omics/Fragmentation/TerminusSpecificProductTypes.cs
@@ -1,8 +1,4 @@
-using System;
-using System.Collections.Generic;
-using System.Text;
-
-namespace Proteomics.Fragmentation
+namespace Omics.Fragmentation
 {
     public class TerminusSpecificProductTypes
     {
diff --git a/mzLib/Proteomics/PSM/LibrarySpectrum.cs b/mzLib/Omics/LibrarySpectrum.cs
similarity index 95%
rename from mzLib/Proteomics/PSM/LibrarySpectrum.cs
rename to mzLib/Omics/LibrarySpectrum.cs
index 5301f72a7..4b5c62a9b 100644
--- a/mzLib/Proteomics/PSM/LibrarySpectrum.cs
+++ b/mzLib/Omics/LibrarySpectrum.cs
@@ -1,12 +1,9 @@
-using Easy.Common.Extensions;
+using System.Text;
+using Easy.Common.Extensions;
 using MassSpectrometry.MzSpectra;
-using Proteomics.Fragmentation;
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
+using Omics.Fragmentation;
 
-namespace Proteomics.PSM
+namespace Omics
 {
     public class LibrarySpectrum
     {
diff --git a/mzLib/Omics/Omics.csproj b/mzLib/Omics/Omics.csproj
new file mode 100644
index 000000000..a65efa0cf
--- /dev/null
+++ b/mzLib/Omics/Omics.csproj
@@ -0,0 +1,15 @@
+<Project Sdk="Microsoft.NET.Sdk">
+
+  <PropertyGroup>
+    <TargetFramework>net6.0</TargetFramework>
+    <ImplicitUsings>enable</ImplicitUsings>
+    <Nullable>enable</Nullable>
+  </PropertyGroup>
+
+  <ItemGroup>
+    <ProjectReference Include="..\Chemistry\Chemistry.csproj" />
+    <ProjectReference Include="..\MassSpectrometry\MassSpectrometry.csproj" />
+    <ProjectReference Include="..\MzLibUtil\MzLibUtil.csproj" />
+  </ItemGroup>
+
+</Project>
diff --git a/mzLib/Proteomics/PSM/PsmFromTsv.cs b/mzLib/Proteomics/PSM/PsmFromTsv.cs
index c6fef635c..d432fa38f 100644
--- a/mzLib/Proteomics/PSM/PsmFromTsv.cs
+++ b/mzLib/Proteomics/PSM/PsmFromTsv.cs
@@ -1,6 +1,5 @@
 using Chemistry;
 using Easy.Common.Extensions;
-using Proteomics.Fragmentation;
 using System;
 using System.Collections.Generic;
 using System.Globalization;
@@ -9,6 +8,8 @@
 using System.Text;
 using System.Text.RegularExpressions;
 using System.Threading.Tasks;
+using Omics.Fragmentation;
+using Omics;
 
 namespace Proteomics.PSM
 {
diff --git a/mzLib/Proteomics/Protein/Protein.cs b/mzLib/Proteomics/Protein/Protein.cs
index aec1d7998..b16050ec3 100644
--- a/mzLib/Proteomics/Protein/Protein.cs
+++ b/mzLib/Proteomics/Protein/Protein.cs
@@ -1,9 +1,9 @@
-using Proteomics.Fragmentation;
-using Proteomics.ProteolyticDigestion;
+using Proteomics.ProteolyticDigestion;
 using System;
 using System.Collections.Generic;
 using System.Linq;
 using System.Text.RegularExpressions;
+using Omics.Fragmentation;
 
 namespace Proteomics
 {
diff --git a/mzLib/Proteomics/ProteolyticDigestion/DigestionParams.cs b/mzLib/Proteomics/ProteolyticDigestion/DigestionParams.cs
index 45ef76701..2fbbf50fc 100644
--- a/mzLib/Proteomics/ProteolyticDigestion/DigestionParams.cs
+++ b/mzLib/Proteomics/ProteolyticDigestion/DigestionParams.cs
@@ -1,5 +1,5 @@
-using Proteomics.Fragmentation;
-using System;
+using System;
+using Omics.Fragmentation;
 
 namespace Proteomics.ProteolyticDigestion
 {
diff --git a/mzLib/Proteomics/ProteolyticDigestion/PeptideWithSetModifications.cs b/mzLib/Proteomics/ProteolyticDigestion/PeptideWithSetModifications.cs
index 067afb849..d62441313 100644
--- a/mzLib/Proteomics/ProteolyticDigestion/PeptideWithSetModifications.cs
+++ b/mzLib/Proteomics/ProteolyticDigestion/PeptideWithSetModifications.cs
@@ -1,13 +1,13 @@
  using Chemistry;
 using MassSpectrometry;
 using Proteomics.AminoAcidPolymer;
-using Proteomics.Fragmentation;
-using System;
+ using System;
 using System.Collections.Generic;
 using System.Linq;
 using System.Text;
+ using Omics.Fragmentation;
 
-namespace Proteomics.ProteolyticDigestion
+ namespace Proteomics.ProteolyticDigestion
 {
     [Serializable]
     public class PeptideWithSetModifications : ProteolyticPeptide
diff --git a/mzLib/Proteomics/ProteolyticDigestion/ProductTypeMethods.cs b/mzLib/Proteomics/ProteolyticDigestion/ProductTypeMethods.cs
index 642052f41..bb2c74b07 100644
--- a/mzLib/Proteomics/ProteolyticDigestion/ProductTypeMethods.cs
+++ b/mzLib/Proteomics/ProteolyticDigestion/ProductTypeMethods.cs
@@ -1,6 +1,6 @@
-using Proteomics.Fragmentation;
-using System;
+using System;
 using System.Collections.Generic;
+using Omics.Fragmentation;
 
 namespace Proteomics.ProteolyticDigestion
 {
diff --git a/mzLib/Proteomics/ProteolyticDigestion/ProteaseDictionary.cs b/mzLib/Proteomics/ProteolyticDigestion/ProteaseDictionary.cs
index a52955f0d..ef3a3352d 100644
--- a/mzLib/Proteomics/ProteolyticDigestion/ProteaseDictionary.cs
+++ b/mzLib/Proteomics/ProteolyticDigestion/ProteaseDictionary.cs
@@ -4,7 +4,6 @@
 using System.IO;
 using System.Linq;
 using MzLibUtil;
-using Proteomics.Fragmentation;
 
 namespace Proteomics.ProteolyticDigestion
 {
diff --git a/mzLib/Proteomics/ProteolyticDigestion/ProteinDigestion.cs b/mzLib/Proteomics/ProteolyticDigestion/ProteinDigestion.cs
index 668dec2a8..caea1494c 100644
--- a/mzLib/Proteomics/ProteolyticDigestion/ProteinDigestion.cs
+++ b/mzLib/Proteomics/ProteolyticDigestion/ProteinDigestion.cs
@@ -1,6 +1,6 @@
 using System.Collections.Generic;
 using System.Linq;
-using Proteomics.Fragmentation;
+using Omics.Fragmentation;
 
 namespace Proteomics.ProteolyticDigestion
 {
diff --git a/mzLib/Proteomics/Proteomics.csproj b/mzLib/Proteomics/Proteomics.csproj
index 5b87fbed8..efaaf0c40 100644
--- a/mzLib/Proteomics/Proteomics.csproj
+++ b/mzLib/Proteomics/Proteomics.csproj
@@ -14,6 +14,7 @@
     <ProjectReference Include="..\Chemistry\Chemistry.csproj" />
     <ProjectReference Include="..\MassSpectrometry\MassSpectrometry.csproj" />
     <ProjectReference Include="..\MzLibUtil\MzLibUtil.csproj" />
+    <ProjectReference Include="..\Omics\Omics.csproj" />
     <ProjectReference Include="..\PepXML\PepXML.csproj" />
   </ItemGroup>
 
diff --git a/mzLib/Test/DatabaseTests/TestProteomicsReadWrite.cs b/mzLib/Test/DatabaseTests/TestProteomicsReadWrite.cs
index cc7613f5a..20850a3ac 100644
--- a/mzLib/Test/DatabaseTests/TestProteomicsReadWrite.cs
+++ b/mzLib/Test/DatabaseTests/TestProteomicsReadWrite.cs
@@ -4,8 +4,8 @@
 using System.Linq;
 using MassSpectrometry;
 using NUnit.Framework;
+using Omics.Fragmentation;
 using Proteomics;
-using Proteomics.Fragmentation;
 using Proteomics.ProteolyticDigestion;
 using UsefulProteomicsDatabases;
 using Stopwatch = System.Diagnostics.Stopwatch;
diff --git a/mzLib/Test/Test.csproj b/mzLib/Test/Test.csproj
index aa76dfad0..a295d07e1 100644
--- a/mzLib/Test/Test.csproj
+++ b/mzLib/Test/Test.csproj
@@ -26,6 +26,7 @@
     <ProjectReference Include="..\FlashLFQ\FlashLFQ.csproj" />
     <ProjectReference Include="..\MassSpectrometry\MassSpectrometry.csproj" />
     <ProjectReference Include="..\MzIdentML\MzIdentML.csproj" />
+    <ProjectReference Include="..\Omics\Omics.csproj" />
     <ProjectReference Include="..\SpectralAveraging\SpectralAveraging.csproj" />
     <ProjectReference Include="..\MzLibUtil\MzLibUtil.csproj" />
     <ProjectReference Include="..\mzPlot\mzPlot.csproj" />
diff --git a/mzLib/Test/TestDigestionMotif.cs b/mzLib/Test/TestDigestionMotif.cs
index c58d9e63b..ddf12783a 100644
--- a/mzLib/Test/TestDigestionMotif.cs
+++ b/mzLib/Test/TestDigestionMotif.cs
@@ -565,8 +565,8 @@ public static void TestProteolyticDigestion()
             //check that there are no duplicates
             Assert.IsTrue(pwsms.Count == hashset.Count);
             //Speedy semi specific test
-            DigestionParams speedySemiN = new DigestionParams("trypsin", 10, 29, 30, 1024, InitiatorMethionineBehavior.Retain, 2, CleavageSpecificity.Semi, Proteomics.Fragmentation.FragmentationTerminus.N);
-            DigestionParams speedySemiC = new DigestionParams("trypsin", 10, 29, 30, 1024, InitiatorMethionineBehavior.Retain, 2, CleavageSpecificity.Semi, Proteomics.Fragmentation.FragmentationTerminus.C);
+            DigestionParams speedySemiN = new DigestionParams("trypsin", 10, 29, 30, 1024, InitiatorMethionineBehavior.Retain, 2, CleavageSpecificity.Semi, Omics.Fragmentation.FragmentationTerminus.N);
+            DigestionParams speedySemiC = new DigestionParams("trypsin", 10, 29, 30, 1024, InitiatorMethionineBehavior.Retain, 2, CleavageSpecificity.Semi, Omics.Fragmentation.FragmentationTerminus.C);
             List<PeptideWithSetModifications> pwsmsN = humanInsulin.Digest(speedySemiN, null, null).ToList();
             List<PeptideWithSetModifications> pwsmsC = humanInsulin.Digest(speedySemiC, null, null).ToList();
             Assert.IsTrue(pwsmsN.Count == 7);
diff --git a/mzLib/Test/TestFragments.cs b/mzLib/Test/TestFragments.cs
index 9bbdfe6ba..d617a027f 100644
--- a/mzLib/Test/TestFragments.cs
+++ b/mzLib/Test/TestFragments.cs
@@ -23,12 +23,11 @@
 using NUnit.Framework;
 using Proteomics;
 using Proteomics.AminoAcidPolymer;
-using Proteomics.Fragmentation;
 using Proteomics.ProteolyticDigestion;
 using System;
 using System.Collections.Generic;
 using System.Linq;
-
+using Omics.Fragmentation;
 using Stopwatch = System.Diagnostics.Stopwatch;
 
 namespace Test
diff --git a/mzLib/Test/TestLibrarySpectrum.cs b/mzLib/Test/TestLibrarySpectrum.cs
index daa1cba38..98f79fd54 100644
--- a/mzLib/Test/TestLibrarySpectrum.cs
+++ b/mzLib/Test/TestLibrarySpectrum.cs
@@ -1,11 +1,12 @@
 using NUnit.Framework;
-using Proteomics.Fragmentation;
 using Proteomics.PSM;
 using System;
 using System.Collections.Generic;
 using System.Linq;
 using System.Text;
 using System.Threading.Tasks;
+using Omics;
+using Omics.Fragmentation;
 
 namespace Test
 {
diff --git a/mzLib/Test/TestModifications.cs b/mzLib/Test/TestModifications.cs
index 725da2931..b46eaaf65 100644
--- a/mzLib/Test/TestModifications.cs
+++ b/mzLib/Test/TestModifications.cs
@@ -22,12 +22,12 @@
 using NUnit.Framework;
 using Proteomics;
 using Proteomics.AminoAcidPolymer;
-using Proteomics.Fragmentation;
 using Proteomics.ProteolyticDigestion;
 using System;
 using System.Collections;
 using System.Collections.Generic;
 using System.Linq;
+using Omics.Fragmentation;
 using UsefulProteomicsDatabases;
 using Stopwatch = System.Diagnostics.Stopwatch;
 
diff --git a/mzLib/Test/TestPeptideWithSetMods.cs b/mzLib/Test/TestPeptideWithSetMods.cs
index 7deb0a871..8ab0623a4 100644
--- a/mzLib/Test/TestPeptideWithSetMods.cs
+++ b/mzLib/Test/TestPeptideWithSetMods.cs
@@ -1,12 +1,12 @@
 using Chemistry;
 using NUnit.Framework;
 using Proteomics;
-using Proteomics.Fragmentation;
 using Proteomics.ProteolyticDigestion;
 using System;
 using System.Collections.Generic;
 using System.IO;
 using System.Linq;
+using Omics.Fragmentation;
 using UsefulProteomicsDatabases;
 using Stopwatch = System.Diagnostics.Stopwatch;
 
diff --git a/mzLib/Test/TestPeptides.cs b/mzLib/Test/TestPeptides.cs
index 8009b1ca3..492866aa5 100644
--- a/mzLib/Test/TestPeptides.cs
+++ b/mzLib/Test/TestPeptides.cs
@@ -20,11 +20,11 @@
 using MzLibUtil;
 using NUnit.Framework;
 using Proteomics.AminoAcidPolymer;
-using Proteomics.Fragmentation;
 using Proteomics.ProteolyticDigestion;
 using System;
 using System.Collections.Generic;
 using System.Linq;
+using Omics.Fragmentation;
 using UsefulProteomicsDatabases;
 using Stopwatch = System.Diagnostics.Stopwatch;
 
diff --git a/mzLib/Test/TestProductMassesMightHaveDuplicates.cs b/mzLib/Test/TestProductMassesMightHaveDuplicates.cs
index 18dc5b6f0..a04bf00fd 100644
--- a/mzLib/Test/TestProductMassesMightHaveDuplicates.cs
+++ b/mzLib/Test/TestProductMassesMightHaveDuplicates.cs
@@ -2,11 +2,11 @@
 using MassSpectrometry;
 using NUnit.Framework;
 using Proteomics;
-using Proteomics.Fragmentation;
 using Proteomics.ProteolyticDigestion;
 using System;
 using System.Collections.Generic;
 using System.Linq;
+using Omics.Fragmentation;
 using Stopwatch = System.Diagnostics.Stopwatch;
 
 namespace Test
diff --git a/mzLib/Test/TestProteinDigestion.cs b/mzLib/Test/TestProteinDigestion.cs
index 46520cfd8..8780b6df4 100644
--- a/mzLib/Test/TestProteinDigestion.cs
+++ b/mzLib/Test/TestProteinDigestion.cs
@@ -3,12 +3,12 @@
 using NUnit.Framework;
 using Proteomics;
 using Proteomics.AminoAcidPolymer;
-using Proteomics.Fragmentation;
 using Proteomics.ProteolyticDigestion;
 using System;
 using System.Collections.Generic;
 using System.IO;
 using System.Linq;
+using Omics.Fragmentation;
 using UsefulProteomicsDatabases;
 using static Chemistry.PeriodicTable;
 using Stopwatch = System.Diagnostics.Stopwatch;
diff --git a/mzLib/Test/TestPsmFromTsv.cs b/mzLib/Test/TestPsmFromTsv.cs
index fa5b2afee..71b6bb30c 100644
--- a/mzLib/Test/TestPsmFromTsv.cs
+++ b/mzLib/Test/TestPsmFromTsv.cs
@@ -1,5 +1,4 @@
 using NUnit.Framework;
-using Proteomics.Fragmentation;
 using Proteomics.ProteolyticDigestion;
 using Proteomics.PSM;
 using System;
@@ -7,6 +6,7 @@
 using System.IO;
 using System.Linq;
 using System.Text.RegularExpressions;
+using Omics.Fragmentation;
 using Proteomics;
 
 namespace Test
diff --git a/mzLib/mzLib.sln b/mzLib/mzLib.sln
index 8fd527182..32bc91fe3 100644
--- a/mzLib/mzLib.sln
+++ b/mzLib/mzLib.sln
@@ -33,102 +33,209 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Development", "Development\
 EndProject
 Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Readers", "Readers\Readers.csproj", "{E27A5C14-0C05-466A-91CE-ABB5151A69C4}"
 EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Omics", "Omics\Omics.csproj", "{C53C4AB3-D987-42D3-97EF-052863CDD4D8}"
+EndProject
 Global
 	GlobalSection(SolutionConfigurationPlatforms) = preSolution
+		Debug|Any CPU = Debug|Any CPU
 		Debug|x64 = Debug|x64
+		Release|Any CPU = Release|Any CPU
 		Release|x64 = Release|x64
+		TestAndRelease|Any CPU = TestAndRelease|Any CPU
 		TestAndRelease|x64 = TestAndRelease|x64
 	EndGlobalSection
 	GlobalSection(ProjectConfigurationPlatforms) = postSolution
+		{4658AE10-B660-46DB-B56B-7F4701339FD0}.Debug|Any CPU.ActiveCfg = Debug|x64
+		{4658AE10-B660-46DB-B56B-7F4701339FD0}.Debug|Any CPU.Build.0 = Debug|x64
 		{4658AE10-B660-46DB-B56B-7F4701339FD0}.Debug|x64.ActiveCfg = Debug|x64
 		{4658AE10-B660-46DB-B56B-7F4701339FD0}.Debug|x64.Build.0 = Debug|x64
+		{4658AE10-B660-46DB-B56B-7F4701339FD0}.Release|Any CPU.ActiveCfg = Release|x64
+		{4658AE10-B660-46DB-B56B-7F4701339FD0}.Release|Any CPU.Build.0 = Release|x64
 		{4658AE10-B660-46DB-B56B-7F4701339FD0}.Release|x64.ActiveCfg = Release|x64
 		{4658AE10-B660-46DB-B56B-7F4701339FD0}.Release|x64.Build.0 = Release|x64
+		{4658AE10-B660-46DB-B56B-7F4701339FD0}.TestAndRelease|Any CPU.ActiveCfg = Release|x64
+		{4658AE10-B660-46DB-B56B-7F4701339FD0}.TestAndRelease|Any CPU.Build.0 = Release|x64
 		{4658AE10-B660-46DB-B56B-7F4701339FD0}.TestAndRelease|x64.ActiveCfg = Release|x64
 		{4658AE10-B660-46DB-B56B-7F4701339FD0}.TestAndRelease|x64.Build.0 = Release|x64
+		{3385FB51-AA75-476A-8D5E-7C55F0A2DB10}.Debug|Any CPU.ActiveCfg = Debug|x64
+		{3385FB51-AA75-476A-8D5E-7C55F0A2DB10}.Debug|Any CPU.Build.0 = Debug|x64
 		{3385FB51-AA75-476A-8D5E-7C55F0A2DB10}.Debug|x64.ActiveCfg = Debug|x64
 		{3385FB51-AA75-476A-8D5E-7C55F0A2DB10}.Debug|x64.Build.0 = Debug|x64
+		{3385FB51-AA75-476A-8D5E-7C55F0A2DB10}.Release|Any CPU.ActiveCfg = Release|x64
+		{3385FB51-AA75-476A-8D5E-7C55F0A2DB10}.Release|Any CPU.Build.0 = Release|x64
 		{3385FB51-AA75-476A-8D5E-7C55F0A2DB10}.Release|x64.ActiveCfg = Release|x64
 		{3385FB51-AA75-476A-8D5E-7C55F0A2DB10}.Release|x64.Build.0 = Release|x64
+		{3385FB51-AA75-476A-8D5E-7C55F0A2DB10}.TestAndRelease|Any CPU.ActiveCfg = Release|x64
+		{3385FB51-AA75-476A-8D5E-7C55F0A2DB10}.TestAndRelease|Any CPU.Build.0 = Release|x64
 		{3385FB51-AA75-476A-8D5E-7C55F0A2DB10}.TestAndRelease|x64.ActiveCfg = Release|x64
 		{3385FB51-AA75-476A-8D5E-7C55F0A2DB10}.TestAndRelease|x64.Build.0 = Release|x64
+		{0DE04F7B-EE40-4055-ACF7-472167B70A04}.Debug|Any CPU.ActiveCfg = Debug|x64
+		{0DE04F7B-EE40-4055-ACF7-472167B70A04}.Debug|Any CPU.Build.0 = Debug|x64
 		{0DE04F7B-EE40-4055-ACF7-472167B70A04}.Debug|x64.ActiveCfg = Debug|x64
 		{0DE04F7B-EE40-4055-ACF7-472167B70A04}.Debug|x64.Build.0 = Debug|x64
+		{0DE04F7B-EE40-4055-ACF7-472167B70A04}.Release|Any CPU.ActiveCfg = Release|x64
+		{0DE04F7B-EE40-4055-ACF7-472167B70A04}.Release|Any CPU.Build.0 = Release|x64
 		{0DE04F7B-EE40-4055-ACF7-472167B70A04}.Release|x64.ActiveCfg = Release|x64
 		{0DE04F7B-EE40-4055-ACF7-472167B70A04}.Release|x64.Build.0 = Release|x64
+		{0DE04F7B-EE40-4055-ACF7-472167B70A04}.TestAndRelease|Any CPU.ActiveCfg = Release|x64
+		{0DE04F7B-EE40-4055-ACF7-472167B70A04}.TestAndRelease|Any CPU.Build.0 = Release|x64
 		{0DE04F7B-EE40-4055-ACF7-472167B70A04}.TestAndRelease|x64.ActiveCfg = Release|x64
 		{0DE04F7B-EE40-4055-ACF7-472167B70A04}.TestAndRelease|x64.Build.0 = Release|x64
+		{244A891E-BCDA-432F-8160-26EE0C5F8096}.Debug|Any CPU.ActiveCfg = Debug|x64
+		{244A891E-BCDA-432F-8160-26EE0C5F8096}.Debug|Any CPU.Build.0 = Debug|x64
 		{244A891E-BCDA-432F-8160-26EE0C5F8096}.Debug|x64.ActiveCfg = Debug|x64
 		{244A891E-BCDA-432F-8160-26EE0C5F8096}.Debug|x64.Build.0 = Debug|x64
+		{244A891E-BCDA-432F-8160-26EE0C5F8096}.Release|Any CPU.ActiveCfg = Release|x64
+		{244A891E-BCDA-432F-8160-26EE0C5F8096}.Release|Any CPU.Build.0 = Release|x64
 		{244A891E-BCDA-432F-8160-26EE0C5F8096}.Release|x64.ActiveCfg = Release|x64
 		{244A891E-BCDA-432F-8160-26EE0C5F8096}.Release|x64.Build.0 = Release|x64
+		{244A891E-BCDA-432F-8160-26EE0C5F8096}.TestAndRelease|Any CPU.ActiveCfg = Release|x64
+		{244A891E-BCDA-432F-8160-26EE0C5F8096}.TestAndRelease|Any CPU.Build.0 = Release|x64
 		{244A891E-BCDA-432F-8160-26EE0C5F8096}.TestAndRelease|x64.ActiveCfg = Release|x64
 		{244A891E-BCDA-432F-8160-26EE0C5F8096}.TestAndRelease|x64.Build.0 = Release|x64
+		{D2B8F696-1172-405B-B788-3251B27CC71A}.Debug|Any CPU.ActiveCfg = Debug|x64
+		{D2B8F696-1172-405B-B788-3251B27CC71A}.Debug|Any CPU.Build.0 = Debug|x64
 		{D2B8F696-1172-405B-B788-3251B27CC71A}.Debug|x64.ActiveCfg = Debug|x64
 		{D2B8F696-1172-405B-B788-3251B27CC71A}.Debug|x64.Build.0 = Debug|x64
+		{D2B8F696-1172-405B-B788-3251B27CC71A}.Release|Any CPU.ActiveCfg = Release|x64
+		{D2B8F696-1172-405B-B788-3251B27CC71A}.Release|Any CPU.Build.0 = Release|x64
 		{D2B8F696-1172-405B-B788-3251B27CC71A}.Release|x64.ActiveCfg = Release|x64
 		{D2B8F696-1172-405B-B788-3251B27CC71A}.Release|x64.Build.0 = Release|x64
+		{D2B8F696-1172-405B-B788-3251B27CC71A}.TestAndRelease|Any CPU.ActiveCfg = Release|x64
+		{D2B8F696-1172-405B-B788-3251B27CC71A}.TestAndRelease|Any CPU.Build.0 = Release|x64
 		{D2B8F696-1172-405B-B788-3251B27CC71A}.TestAndRelease|x64.ActiveCfg = Release|x64
 		{D2B8F696-1172-405B-B788-3251B27CC71A}.TestAndRelease|x64.Build.0 = Release|x64
+		{C5EF6CE1-9E90-48D6-A19E-FAE2A9F28E3C}.Debug|Any CPU.ActiveCfg = Debug|x64
+		{C5EF6CE1-9E90-48D6-A19E-FAE2A9F28E3C}.Debug|Any CPU.Build.0 = Debug|x64
 		{C5EF6CE1-9E90-48D6-A19E-FAE2A9F28E3C}.Debug|x64.ActiveCfg = Debug|x64
 		{C5EF6CE1-9E90-48D6-A19E-FAE2A9F28E3C}.Debug|x64.Build.0 = Debug|x64
+		{C5EF6CE1-9E90-48D6-A19E-FAE2A9F28E3C}.Release|Any CPU.ActiveCfg = Release|x64
+		{C5EF6CE1-9E90-48D6-A19E-FAE2A9F28E3C}.Release|Any CPU.Build.0 = Release|x64
 		{C5EF6CE1-9E90-48D6-A19E-FAE2A9F28E3C}.Release|x64.ActiveCfg = Release|x64
 		{C5EF6CE1-9E90-48D6-A19E-FAE2A9F28E3C}.Release|x64.Build.0 = Release|x64
+		{C5EF6CE1-9E90-48D6-A19E-FAE2A9F28E3C}.TestAndRelease|Any CPU.ActiveCfg = Release|x64
+		{C5EF6CE1-9E90-48D6-A19E-FAE2A9F28E3C}.TestAndRelease|Any CPU.Build.0 = Release|x64
 		{C5EF6CE1-9E90-48D6-A19E-FAE2A9F28E3C}.TestAndRelease|x64.ActiveCfg = Release|x64
 		{C5EF6CE1-9E90-48D6-A19E-FAE2A9F28E3C}.TestAndRelease|x64.Build.0 = Release|x64
+		{9697BC5E-1F2C-4E3C-BC53-3532CBDFFCC7}.Debug|Any CPU.ActiveCfg = Debug|x64
+		{9697BC5E-1F2C-4E3C-BC53-3532CBDFFCC7}.Debug|Any CPU.Build.0 = Debug|x64
 		{9697BC5E-1F2C-4E3C-BC53-3532CBDFFCC7}.Debug|x64.ActiveCfg = Debug|x64
 		{9697BC5E-1F2C-4E3C-BC53-3532CBDFFCC7}.Debug|x64.Build.0 = Debug|x64
+		{9697BC5E-1F2C-4E3C-BC53-3532CBDFFCC7}.Release|Any CPU.ActiveCfg = Release|x64
+		{9697BC5E-1F2C-4E3C-BC53-3532CBDFFCC7}.Release|Any CPU.Build.0 = Release|x64
 		{9697BC5E-1F2C-4E3C-BC53-3532CBDFFCC7}.Release|x64.ActiveCfg = Release|x64
 		{9697BC5E-1F2C-4E3C-BC53-3532CBDFFCC7}.Release|x64.Build.0 = Release|x64
+		{9697BC5E-1F2C-4E3C-BC53-3532CBDFFCC7}.TestAndRelease|Any CPU.ActiveCfg = Release|x64
+		{9697BC5E-1F2C-4E3C-BC53-3532CBDFFCC7}.TestAndRelease|Any CPU.Build.0 = Release|x64
 		{9697BC5E-1F2C-4E3C-BC53-3532CBDFFCC7}.TestAndRelease|x64.ActiveCfg = Release|x64
 		{9697BC5E-1F2C-4E3C-BC53-3532CBDFFCC7}.TestAndRelease|x64.Build.0 = Release|x64
+		{AD3D126D-6359-481B-BE17-69DFB0BC4E40}.Debug|Any CPU.ActiveCfg = Debug|x64
+		{AD3D126D-6359-481B-BE17-69DFB0BC4E40}.Debug|Any CPU.Build.0 = Debug|x64
 		{AD3D126D-6359-481B-BE17-69DFB0BC4E40}.Debug|x64.ActiveCfg = Debug|x64
 		{AD3D126D-6359-481B-BE17-69DFB0BC4E40}.Debug|x64.Build.0 = Debug|x64
+		{AD3D126D-6359-481B-BE17-69DFB0BC4E40}.Release|Any CPU.ActiveCfg = Release|x64
+		{AD3D126D-6359-481B-BE17-69DFB0BC4E40}.Release|Any CPU.Build.0 = Release|x64
 		{AD3D126D-6359-481B-BE17-69DFB0BC4E40}.Release|x64.ActiveCfg = Release|x64
 		{AD3D126D-6359-481B-BE17-69DFB0BC4E40}.Release|x64.Build.0 = Release|x64
+		{AD3D126D-6359-481B-BE17-69DFB0BC4E40}.TestAndRelease|Any CPU.ActiveCfg = Release|x64
+		{AD3D126D-6359-481B-BE17-69DFB0BC4E40}.TestAndRelease|Any CPU.Build.0 = Release|x64
 		{AD3D126D-6359-481B-BE17-69DFB0BC4E40}.TestAndRelease|x64.ActiveCfg = Release|x64
 		{AD3D126D-6359-481B-BE17-69DFB0BC4E40}.TestAndRelease|x64.Build.0 = Release|x64
+		{6A510911-5F37-4314-8176-82772B7E5AE3}.Debug|Any CPU.ActiveCfg = Debug|x64
+		{6A510911-5F37-4314-8176-82772B7E5AE3}.Debug|Any CPU.Build.0 = Debug|x64
 		{6A510911-5F37-4314-8176-82772B7E5AE3}.Debug|x64.ActiveCfg = Debug|x64
 		{6A510911-5F37-4314-8176-82772B7E5AE3}.Debug|x64.Build.0 = Debug|x64
+		{6A510911-5F37-4314-8176-82772B7E5AE3}.Release|Any CPU.ActiveCfg = Release|x64
+		{6A510911-5F37-4314-8176-82772B7E5AE3}.Release|Any CPU.Build.0 = Release|x64
 		{6A510911-5F37-4314-8176-82772B7E5AE3}.Release|x64.ActiveCfg = Release|x64
 		{6A510911-5F37-4314-8176-82772B7E5AE3}.Release|x64.Build.0 = Release|x64
+		{6A510911-5F37-4314-8176-82772B7E5AE3}.TestAndRelease|Any CPU.ActiveCfg = Release|x64
+		{6A510911-5F37-4314-8176-82772B7E5AE3}.TestAndRelease|Any CPU.Build.0 = Release|x64
 		{6A510911-5F37-4314-8176-82772B7E5AE3}.TestAndRelease|x64.ActiveCfg = Release|x64
 		{6A510911-5F37-4314-8176-82772B7E5AE3}.TestAndRelease|x64.Build.0 = Release|x64
+		{3DFDFDE6-0355-412B-BD62-2D2AD36C5639}.Debug|Any CPU.ActiveCfg = Debug|x64
+		{3DFDFDE6-0355-412B-BD62-2D2AD36C5639}.Debug|Any CPU.Build.0 = Debug|x64
 		{3DFDFDE6-0355-412B-BD62-2D2AD36C5639}.Debug|x64.ActiveCfg = Debug|x64
 		{3DFDFDE6-0355-412B-BD62-2D2AD36C5639}.Debug|x64.Build.0 = Debug|x64
+		{3DFDFDE6-0355-412B-BD62-2D2AD36C5639}.Release|Any CPU.ActiveCfg = Release|x64
+		{3DFDFDE6-0355-412B-BD62-2D2AD36C5639}.Release|Any CPU.Build.0 = Release|x64
 		{3DFDFDE6-0355-412B-BD62-2D2AD36C5639}.Release|x64.ActiveCfg = Release|x64
 		{3DFDFDE6-0355-412B-BD62-2D2AD36C5639}.Release|x64.Build.0 = Release|x64
+		{3DFDFDE6-0355-412B-BD62-2D2AD36C5639}.TestAndRelease|Any CPU.ActiveCfg = Release|x64
+		{3DFDFDE6-0355-412B-BD62-2D2AD36C5639}.TestAndRelease|Any CPU.Build.0 = Release|x64
 		{3DFDFDE6-0355-412B-BD62-2D2AD36C5639}.TestAndRelease|x64.ActiveCfg = Release|x64
 		{3DFDFDE6-0355-412B-BD62-2D2AD36C5639}.TestAndRelease|x64.Build.0 = Release|x64
+		{78FF34E1-B093-4D10-B77B-5A3AED043DD7}.Debug|Any CPU.ActiveCfg = Debug|x64
+		{78FF34E1-B093-4D10-B77B-5A3AED043DD7}.Debug|Any CPU.Build.0 = Debug|x64
 		{78FF34E1-B093-4D10-B77B-5A3AED043DD7}.Debug|x64.ActiveCfg = Debug|x64
 		{78FF34E1-B093-4D10-B77B-5A3AED043DD7}.Debug|x64.Build.0 = Debug|x64
+		{78FF34E1-B093-4D10-B77B-5A3AED043DD7}.Release|Any CPU.ActiveCfg = Release|x64
+		{78FF34E1-B093-4D10-B77B-5A3AED043DD7}.Release|Any CPU.Build.0 = Release|x64
 		{78FF34E1-B093-4D10-B77B-5A3AED043DD7}.Release|x64.ActiveCfg = Release|x64
 		{78FF34E1-B093-4D10-B77B-5A3AED043DD7}.Release|x64.Build.0 = Release|x64
+		{78FF34E1-B093-4D10-B77B-5A3AED043DD7}.TestAndRelease|Any CPU.ActiveCfg = Release|x64
+		{78FF34E1-B093-4D10-B77B-5A3AED043DD7}.TestAndRelease|Any CPU.Build.0 = Release|x64
 		{78FF34E1-B093-4D10-B77B-5A3AED043DD7}.TestAndRelease|x64.ActiveCfg = Release|x64
 		{78FF34E1-B093-4D10-B77B-5A3AED043DD7}.TestAndRelease|x64.Build.0 = Release|x64
+		{7FA686DC-0269-47D1-9BD4-03D5F1BA3597}.Debug|Any CPU.ActiveCfg = Debug|x64
+		{7FA686DC-0269-47D1-9BD4-03D5F1BA3597}.Debug|Any CPU.Build.0 = Debug|x64
 		{7FA686DC-0269-47D1-9BD4-03D5F1BA3597}.Debug|x64.ActiveCfg = Debug|x64
 		{7FA686DC-0269-47D1-9BD4-03D5F1BA3597}.Debug|x64.Build.0 = Debug|x64
+		{7FA686DC-0269-47D1-9BD4-03D5F1BA3597}.Release|Any CPU.ActiveCfg = Release|x64
+		{7FA686DC-0269-47D1-9BD4-03D5F1BA3597}.Release|Any CPU.Build.0 = Release|x64
 		{7FA686DC-0269-47D1-9BD4-03D5F1BA3597}.Release|x64.ActiveCfg = Release|x64
 		{7FA686DC-0269-47D1-9BD4-03D5F1BA3597}.Release|x64.Build.0 = Release|x64
+		{7FA686DC-0269-47D1-9BD4-03D5F1BA3597}.TestAndRelease|Any CPU.ActiveCfg = Release|x64
+		{7FA686DC-0269-47D1-9BD4-03D5F1BA3597}.TestAndRelease|Any CPU.Build.0 = Release|x64
 		{7FA686DC-0269-47D1-9BD4-03D5F1BA3597}.TestAndRelease|x64.ActiveCfg = Release|x64
 		{7FA686DC-0269-47D1-9BD4-03D5F1BA3597}.TestAndRelease|x64.Build.0 = Release|x64
+		{891888CA-E5CC-4168-B6F2-2B2CED74EA37}.Debug|Any CPU.ActiveCfg = Debug|x64
+		{891888CA-E5CC-4168-B6F2-2B2CED74EA37}.Debug|Any CPU.Build.0 = Debug|x64
 		{891888CA-E5CC-4168-B6F2-2B2CED74EA37}.Debug|x64.ActiveCfg = Debug|x64
 		{891888CA-E5CC-4168-B6F2-2B2CED74EA37}.Debug|x64.Build.0 = Debug|x64
+		{891888CA-E5CC-4168-B6F2-2B2CED74EA37}.Release|Any CPU.ActiveCfg = Release|x64
+		{891888CA-E5CC-4168-B6F2-2B2CED74EA37}.Release|Any CPU.Build.0 = Release|x64
 		{891888CA-E5CC-4168-B6F2-2B2CED74EA37}.Release|x64.ActiveCfg = Release|x64
 		{891888CA-E5CC-4168-B6F2-2B2CED74EA37}.Release|x64.Build.0 = Release|x64
+		{891888CA-E5CC-4168-B6F2-2B2CED74EA37}.TestAndRelease|Any CPU.ActiveCfg = Release|x64
+		{891888CA-E5CC-4168-B6F2-2B2CED74EA37}.TestAndRelease|Any CPU.Build.0 = Release|x64
 		{891888CA-E5CC-4168-B6F2-2B2CED74EA37}.TestAndRelease|x64.ActiveCfg = Release|x64
 		{891888CA-E5CC-4168-B6F2-2B2CED74EA37}.TestAndRelease|x64.Build.0 = Release|x64
+		{04615EBF-20FC-437C-9CF7-47DA6260FAE3}.Debug|Any CPU.ActiveCfg = Debug|x64
+		{04615EBF-20FC-437C-9CF7-47DA6260FAE3}.Debug|Any CPU.Build.0 = Debug|x64
 		{04615EBF-20FC-437C-9CF7-47DA6260FAE3}.Debug|x64.ActiveCfg = Debug|x64
 		{04615EBF-20FC-437C-9CF7-47DA6260FAE3}.Debug|x64.Build.0 = Debug|x64
+		{04615EBF-20FC-437C-9CF7-47DA6260FAE3}.Release|Any CPU.ActiveCfg = Release|x64
+		{04615EBF-20FC-437C-9CF7-47DA6260FAE3}.Release|Any CPU.Build.0 = Release|x64
 		{04615EBF-20FC-437C-9CF7-47DA6260FAE3}.Release|x64.ActiveCfg = Release|x64
+		{04615EBF-20FC-437C-9CF7-47DA6260FAE3}.TestAndRelease|Any CPU.ActiveCfg = Release|x64
+		{04615EBF-20FC-437C-9CF7-47DA6260FAE3}.TestAndRelease|Any CPU.Build.0 = Release|x64
 		{04615EBF-20FC-437C-9CF7-47DA6260FAE3}.TestAndRelease|x64.ActiveCfg = Release|x64
 		{04615EBF-20FC-437C-9CF7-47DA6260FAE3}.TestAndRelease|x64.Build.0 = Release|x64
+		{E27A5C14-0C05-466A-91CE-ABB5151A69C4}.Debug|Any CPU.ActiveCfg = Debug|x64
+		{E27A5C14-0C05-466A-91CE-ABB5151A69C4}.Debug|Any CPU.Build.0 = Debug|x64
 		{E27A5C14-0C05-466A-91CE-ABB5151A69C4}.Debug|x64.ActiveCfg = Debug|x64
 		{E27A5C14-0C05-466A-91CE-ABB5151A69C4}.Debug|x64.Build.0 = Debug|x64
+		{E27A5C14-0C05-466A-91CE-ABB5151A69C4}.Release|Any CPU.ActiveCfg = Release|x64
+		{E27A5C14-0C05-466A-91CE-ABB5151A69C4}.Release|Any CPU.Build.0 = Release|x64
 		{E27A5C14-0C05-466A-91CE-ABB5151A69C4}.Release|x64.ActiveCfg = Release|x64
 		{E27A5C14-0C05-466A-91CE-ABB5151A69C4}.Release|x64.Build.0 = Release|x64
+		{E27A5C14-0C05-466A-91CE-ABB5151A69C4}.TestAndRelease|Any CPU.ActiveCfg = Release|x64
+		{E27A5C14-0C05-466A-91CE-ABB5151A69C4}.TestAndRelease|Any CPU.Build.0 = Release|x64
 		{E27A5C14-0C05-466A-91CE-ABB5151A69C4}.TestAndRelease|x64.ActiveCfg = Release|x64
 		{E27A5C14-0C05-466A-91CE-ABB5151A69C4}.TestAndRelease|x64.Build.0 = Release|x64
+		{C53C4AB3-D987-42D3-97EF-052863CDD4D8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{C53C4AB3-D987-42D3-97EF-052863CDD4D8}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{C53C4AB3-D987-42D3-97EF-052863CDD4D8}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{C53C4AB3-D987-42D3-97EF-052863CDD4D8}.Debug|x64.Build.0 = Debug|Any CPU
+		{C53C4AB3-D987-42D3-97EF-052863CDD4D8}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{C53C4AB3-D987-42D3-97EF-052863CDD4D8}.Release|Any CPU.Build.0 = Release|Any CPU
+		{C53C4AB3-D987-42D3-97EF-052863CDD4D8}.Release|x64.ActiveCfg = Release|Any CPU
+		{C53C4AB3-D987-42D3-97EF-052863CDD4D8}.Release|x64.Build.0 = Release|Any CPU
+		{C53C4AB3-D987-42D3-97EF-052863CDD4D8}.TestAndRelease|Any CPU.ActiveCfg = Release|Any CPU
+		{C53C4AB3-D987-42D3-97EF-052863CDD4D8}.TestAndRelease|Any CPU.Build.0 = Release|Any CPU
+		{C53C4AB3-D987-42D3-97EF-052863CDD4D8}.TestAndRelease|x64.ActiveCfg = Release|Any CPU
+		{C53C4AB3-D987-42D3-97EF-052863CDD4D8}.TestAndRelease|x64.Build.0 = Release|Any CPU
 	EndGlobalSection
 	GlobalSection(SolutionProperties) = preSolution
 		HideSolutionNode = FALSE