<?xml version="1.0" encoding="Windows-1252"?>
<!-- Licensed to the Apache Software Foundation (ASF) under one  -->
<!-- or more contributor license agreements.  See the NOTICE file  -->
<!-- distributed with this work for additional information  -->
<!-- regarding copyright ownership.  The ASF licenses this file  -->
<!-- to you under the Apache License, Version 2.0 (the  -->
<!-- "License"); you may not use this file except in compliance  -->
<!-- with the License.  You may obtain a copy of the License at  -->
<!--  -->
<!--   http://www.apache.org/licenses/LICENSE-2.0  -->
<!--  -->
<!-- Unless required by applicable law or agreed to in writing,  -->
<!-- software distributed under the License is distributed on an  -->
<!-- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY  -->
<!-- KIND, either express or implied.  See the License for the  -->
<!-- specific language governing permissions and limitations  -->
<!-- under the License.  -->
<VisualStudioProject
	ProjectType="Visual C++"
	Version="8.00"
	Name="qgen"
	ProjectGUID="{4F7427BA-C52B-4EBF-B0E6-39012FC09945}"
	RootNamespace="qgen"
	Keyword="Win32Proj"
	>
	<Platforms>
		<Platform
			Name="Win32"
		/>
	</Platforms>
	<ToolFiles>
	</ToolFiles>
	<Configurations>
		<Configuration
			Name="Debug|Win32"
			OutputDirectory="$(SolutionDir)$(ConfigurationName)"
			IntermediateDirectory="$(ConfigurationName)"
			ConfigurationType="1"
			CharacterSet="1"
			>
			<Tool
				Name="VCPreBuildEventTool"
			/>
			<Tool
				Name="VCCustomBuildTool"
			/>
			<Tool
				Name="VCXMLDataGeneratorTool"
			/>
			<Tool
				Name="VCWebServiceProxyGeneratorTool"
			/>
			<Tool
				Name="VCMIDLTool"
			/>
			<Tool
				Name="VCCLCompilerTool"
				Optimization="0"
				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;TPCH;POSTGRES;_CRT_SECURE_NO_DEPRECATE"
				MinimalRebuild="true"
				BasicRuntimeChecks="3"
				RuntimeLibrary="1"
				UsePrecompiledHeader="0"
				WarningLevel="3"
				Detect64BitPortabilityProblems="false"
				DebugInformationFormat="4"
			/>
			<Tool
				Name="VCManagedResourceCompilerTool"
			/>
			<Tool
				Name="VCResourceCompilerTool"
			/>
			<Tool
				Name="VCPreLinkEventTool"
			/>
			<Tool
				Name="VCLinkerTool"
				LinkIncremental="2"
				GenerateDebugInformation="true"
				SubSystem="1"
				TargetMachine="1"
			/>
			<Tool
				Name="VCALinkTool"
			/>
			<Tool
				Name="VCManifestTool"
			/>
			<Tool
				Name="VCXDCMakeTool"
			/>
			<Tool
				Name="VCBscMakeTool"
			/>
			<Tool
				Name="VCFxCopTool"
			/>
			<Tool
				Name="VCAppVerifierTool"
			/>
			<Tool
				Name="VCWebDeploymentTool"
			/>
			<Tool
				Name="VCPostBuildEventTool"
			/>
		</Configuration>
		<Configuration
			Name="Release|Win32"
			OutputDirectory="$(SolutionDir)$(ConfigurationName)"
			IntermediateDirectory="$(ConfigurationName)"
			ConfigurationType="1"
			CharacterSet="1"
			WholeProgramOptimization="1"
			>
			<Tool
				Name="VCPreBuildEventTool"
			/>
			<Tool
				Name="VCCustomBuildTool"
			/>
			<Tool
				Name="VCXMLDataGeneratorTool"
			/>
			<Tool
				Name="VCWebServiceProxyGeneratorTool"
			/>
			<Tool
				Name="VCMIDLTool"
			/>
			<Tool
				Name="VCCLCompilerTool"
				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;TPCH;POSTGRES;_CRT_SECURE_NO_DEPRECATE"
				RuntimeLibrary="0"
				UsePrecompiledHeader="0"
				WarningLevel="3"
				Detect64BitPortabilityProblems="false"
				DebugInformationFormat="3"
			/>
			<Tool
				Name="VCManagedResourceCompilerTool"
			/>
			<Tool
				Name="VCResourceCompilerTool"
			/>
			<Tool
				Name="VCPreLinkEventTool"
			/>
			<Tool
				Name="VCLinkerTool"
				LinkIncremental="1"
				GenerateDebugInformation="true"
				SubSystem="1"
				OptimizeReferences="2"
				EnableCOMDATFolding="2"
				TargetMachine="1"
			/>
			<Tool
				Name="VCALinkTool"
			/>
			<Tool
				Name="VCManifestTool"
			/>
			<Tool
				Name="VCXDCMakeTool"
			/>
			<Tool
				Name="VCBscMakeTool"
			/>
			<Tool
				Name="VCFxCopTool"
			/>
			<Tool
				Name="VCAppVerifierTool"
			/>
			<Tool
				Name="VCWebDeploymentTool"
			/>
			<Tool
				Name="VCPostBuildEventTool"
			/>
		</Configuration>
	</Configurations>
	<References>
	</References>
	<Files>
		<Filter
			Name="Source Files"
			Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
			UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
			>
			<File
				RelativePath=".\bm_utils.c"
				>
			</File>
			<File
				RelativePath=".\build.c"
				>
			</File>
			<File
				RelativePath=".\cdbhash.c"
				>
			</File>
			<File
				RelativePath=".\permute.c"
				>
			</File>
			<File
				RelativePath=".\qgen.c"
				>
			</File>
			<File
				RelativePath=".\rnd.c"
				>
			</File>
			<File
				RelativePath=".\rng64.c"
				>
			</File>
			<File
				RelativePath=".\speed_seed.c"
				>
			</File>
			<File
				RelativePath=".\text.c"
				>
			</File>
			<File
				RelativePath=".\varsub.c"
				>
			</File>
		</Filter>
		<Filter
			Name="Header Files"
			Filter="h;hpp;hxx;hm;inl;inc;xsd"
			UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
			>
			<File
				RelativePath=".\bcd2.h"
				>
			</File>
			<File
				RelativePath=".\config.h"
				>
			</File>
			<File
				RelativePath=".\dss.h"
				>
			</File>
			<File
				RelativePath=".\dsstypes.h"
				>
			</File>
			<File
				RelativePath=".\permute.h"
				>
			</File>
			<File
				RelativePath=".\rnd.h"
				>
			</File>
			<File
				RelativePath=".\rng64.h"
				>
			</File>
			<File
				RelativePath=".\shared.h"
				>
			</File>
			<File
				RelativePath=".\tpcd.h"
				>
			</File>
		</Filter>
		<Filter
			Name="Resource Files"
			Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
			UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
			>
		</Filter>
	</Files>
	<Globals>
	</Globals>
</VisualStudioProject>
